GitLab omnibus をサブディレクトリで運用する

  • 16
    いいね
  • 2
    コメント
この記事は最終更新日から1年以上が経過しています。

gitlab omnibus のインストールはしているものとします。本家サイトなどを見るなりで解決できると思います。
ここでは Ubuntu 14.04 Sever LTS に gitlab omnibus をパッケージからインストールしたときの状況を元に解説します。また gitlab を http://hostname/gitlab で設置することを前提にしてます。

GitLab のサブディレクトリ動作設定を行う

設定ファイルの書き換え

GitLabは、gitlab-ctl reconfigure を実行すると、テンプレートから設定ファイルを生成します。このため、設定ファイルではなく、元になるテンプレートを書き換えるのがポイントです。
書き換えを行う、設定ファイルは以下に箇条書きします。サブディレクトリは /gitlab で動かすことを想定してます。

  • /opt/gitlab/embedded/cookbooks/gitlab/templates/default/gitlab.yml.erb

コメントアウトされている relative_url_root を復活させます。

  • /opt/gitlab/embedded/cookbooks/gitlab/templates/default/unicorn.rb.erb

ファイルの末尾に以下を追加します。

ENV['RAILS_RELATIVE_URL_ROOT'] = "/gitlab"

  • /opt/gitlab/embedded/cookbooks/gitlab/templates/default/gitlab-shell-config.yml.erb

gitlab url の行を書き換えます。gitlab が動いている Unicorn の URL で問題さ無さそうです。

gitlab_url: "http://127.0.0.1:8080/gitlab"

  • /opt/gitlab/embedded/cookbooks/gitlab/templates/default/nginx-gitlab-http.conf.erb

たぶん 59 行目付近の location 設定を書き換えます。

location /gitlab {
    alias /opt/gitlab/embedded/service/gitlab-rails/public;
    try_files $uri $uri/index.html $uri.html @gitlab;
}

上記の4つです。
ファイル修正が終わった後に sudo gitlab-ctl reconfigure を実行すればサブディレクトリで動作するはず。