LoginSignup
39

More than 5 years have passed since last update.

GitLabをNginxを使ってサブドメインに設定導入する

Posted at

概要

一つのサーバーでwww.example.comexample.comにWebページなどのサービスを利用している場合、GitLabなどの他のサービスを利用するときにexample.com:3000などポート番号を指定してアクセスしたりしなければいけません。これでは格好悪かったり、80番ポート以外はアクセス出来ない環境でアクセスできなかったりします。
一般的にはリバースプロキシを使用することで、gitlab.example.comのように簡単にアクセスできるようにします。今回、Nginx+WordPressを導入しているサーバーにGitLabを導入・設定したときに少しハマったので、メモ代わりに投稿します。

目標

www.example.comにはWordPressがアクセスできる状態として、gitlab.example.comでGitLabにアクセスできるようにする。

環境

  • CentOS 6.7
  • Nginx version: 1.0.15
  • GitLab version: 8.2.1

NginxはGitLab内蔵のものではなく、Nginx単体で導入したものを使用します。

GitLabの設定

GitLabのインストール方法は公式サイトがわかりやすいと思いますのでそこを参考にしてください。
インストールが完了したらGitLabの設定ファイルをいじります。

$ vi /etc/gitlab/gitlab.rb
gitlab.rb
external_url 'http://gitlab.example.com'

nginx['enable'] = false #GitLab内臓のNginxの使用を切る

nginx['listen_port'] = 8080 #設定する内部ポート
nginx['listen_https'] = false

編集が終わったらリロードして再起動かけます。

$ gitlab-ctl reconfigure
$ gitlab-ctl restart

Nginxのファイルを作成

Nginxのリバースプロキシの設定をします。
設定ファイルの名前はなんでもいいのですが、今回はgitlab.confにします。

$ cd /etc/nginx/conf.d
$ vi gitlab.conf
gitlab.conf
upstream gitlab{ #サブドメイン名を設定
    server 127.0.0.1:8080;
}

server {
    listen       80;

    access_log /var/log/nginx/gitlab.access.log;
    error_log /var/log/nginx/gitlab.error.log;


    location / {
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header Host $http_host;
        proxy_pass http://127.0.0.1:8080;
    }

}

設定を保存したらNginxを再起動します。

$ chkconfig nginx on
$ service nginx restart

最後に

設定したURLにアクセスできればOKです。(今回はgitlab.example.com)

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
39