GitLab+SSL+Apacheのインストールから設定まで(update 1)

前の記事にわかりにくい箇所や、「sudo -u git -H bundle exec rake…」について記載していなかったりしたので、改めてここにまとめなおします。

構築内容は以下の通り。

  • Fornt EndとしてApache(http:80番ポート, https:443番ポート)で動作。他のポートからのアクセスは許さない。
  • GitLabへは/gitlabでアクセス。
  • /gitlabでアクセスした場合
    • httpならhttpsへredirectする。
    • httpsならGitLabにバンドルされているnginxの8000番ポート(localhost, Non-Secure)へReverseProxyする。
  • Gravatarは使用しない。
  • 登録したAvatarアイコンが表示されない問題については解決しない。(後日記載する。)

GitLabのInstall

gitlabのrpmは事前にgitlab公式サイトから取得しておく。

gitlab-ctl reconfigureしろと書いているが、先にgitlab.rb(/etc/gitlab/gitlab.rb)を修正する。

gravatar_enabledをfalseで設定することでGravatar機能をオフにできる。

修正が完了したらreconfigureを実行。だいたい以下のような感じで出力される。

サブディレクトリで運用するための設定

/opt/gitlab/embedded/service/gitlab-rails/config/application.rbに以下の説明がある。これに従い行うこと。

1)2)はコメントアウトを外す。3)はENV[‘RAILS_…] = “/gitlab”を追加する。4)はURLに/gitlabを追加。5)はnginxの設定ファイルからlocationのブロックを削除する。

修正するファイルは以下の通り。

  • /opt/gitlab/embedded/service/gitlab-rails/config/application.rb
  • /var/opt/gitlab/gitlab-rails/etc/gitlab.yml
  • /var/opt/gitlab/gitlab-rails/etc/unicorn.rb
  • /var/opt/gitlab/gitlab-shell/config.yml
  • /var/opt/gitlab/nginx/etc/gitlab-http.conf

最後に「sudo -u git …」を実行しPathをUpdateする。内容がbundleとrakeであるため、それっぽいファイルのある/opt/gitlab/embedded/service/gitlab-railsへ事前に移動しておく。

コマンドを実行すると以下の結果が返ってきた。

Gemfileの文法エラーで失敗。環境的に何かが悪いらしい。が、それを特定せずともrakeを実行することは可能。

httpdの設定

/etc/httpd/conf/httpd.confを修正する。http://<HostName>/gitlabでアクセスした場合、https://<HostName>/gitlabへRedirectする。

<VirtualHost *:443>の設定はhttpd.confか他の適切なconfファイルに行うこと。(/etc/httpd/conf.d/ssl.confとか。)

https://<HostName>/gitlabの場合はhttp://127.0.0.1:8000/gitlabへReverseProxyする。Server証明書ファイルや秘密キーファイルはOpenSSLなどで適当に作成すること。

サービスの起動及びログイン

GitLabとhttpdを開始する。

http://<HostName>/gitlabでアクセスしログイン画面が表示できていれば概ね完了。あとはid/pw → root/5iveL!feを入力し設定を進めていく。

Avatarアイコンの問題

サブディレクトリで運用するとAvatarアイコンをUploadした場合、Avatarアイコンが表示できない問題が発生した。この件に関しては後日、対策内容を記載する。

では。