設定した環境
- フロントの Nginx は https である。
- URL は<ドメイン>/gitlab で受ける.
- さくらの VPS
- Ruby 1.9, MySQL で Redmine 2.3 が既に動いている。
gitユーザを追加
$ sudo adduser --disabled-login --gecos 'GitLab' git
GitLab shell のセットアップ
インストール
$ sudo -u git -i
$ cd /home/git
$ git clone https://github.com/gitlabhq/gitlab-shell.git
$ cd gitlab-shell
$ git checkout v1.5.0
$ cp config.yml.example config.yml
※バージョンは最新のものにチェックアウト
設定 config.yml
config.yml の gitlab_url を外から見えるURLに変更する。
gitlab_url: “https://<ドメイン>/gitlab/”
ライブラリのインストール
$ sudo apt-get install libicu-dev
$ sudo gem install charlock_holmes --version '0.6.9.4'
データベースのセットアップ
MySQL を使う
https://github.com/gitlabhq/gitlabhq/blob/master/doc/install/databases.md に従う。
※gitlab ユーザのパスワードを控える。
GitLab のセットアップ
インストール
$ sudo -u git -i
$ cd /home/git
$ git clone https://github.com/gitlabhq/gitlabhq.git gitlab
$ cd gitlab
$ git checkout v5.2.1
$ cp config/gitlab.yml.example config/gitlab.yml
※バージョンは最新のものにチェックアウト
環境整備
$ chown -R git log/
$ chown -R git tmp/
$ chmod -R u+rwX log/
$ chmod -R u+rwX tmp/
$ mkdir /home/git/gitlab-satellites
$ mkdir tmp/pids/
$ mkdir tmp/sockets/
$ chmod -R u+rwX tmp/pids/
$ chmod -R u+rwX tmp/sockets/
$ mkdir public/uploads
$ chmod -R u+rwX public/uploads
$ git config --global user.name "GitLab"
$ git config --global user.email "gitlab@localhost"
$ cp config/puma.rb.example config/puma.rb
$ cp config/database.yml.mysql config/database.yml
設定
config 内の各ファイルを変更する。
database.yml の IDとパスワードをセットする。
下記のとおり、gitlab.yml を変更。
|
|
puma.rb の下記を有効にする。
|
|
依存ライブラリのインストールと最終セットアップ
$ bundle install --deployment --without development test postgres
$ bundle exec rake gitlab:setup RAILS_ENV=production
出力される Administrator のログインIDとパスワードを控えておく。
起動スクリプトの整備
$ sudo cp /home/git/gitlab/lib/support/init.d/gitlab /etc/init.d/gitlab
$ sudo chmod +x /etc/init.d/gitlab
$ sudo update-rc.d gitlab defaults 21
セットアップ情報の確認
$ sudo -u git -i
$ cd /home/git
$ bundle exec rake gitlab:env:info RAILS_ENV=production
System information
System: Ubuntu 12.04
Current User: git
Using RVM: no
Ruby Version: 1.9.3p0
Gem Version: 1.8.11
Bundler Version:1.3.5
Rake Version: 10.0.4
GitLab information
Version: 5.2.1
Revision: 6a868a4
Directory: /home/git/gitlab
DB Adapter: mysql2
URL: http://localhost
HTTP Clone URL: http://localhost/some-project.git
SSH Clone URL: git@localhost:some-project.git
Using LDAP: no
Using Omniauth: no
GitLab Shell
Version: 1.5.0
Repositories: /home/git/repositories/
Hooks: /home/git/gitlab-shell/hooks/
Git: /usr/bin/git
Nginx の設定
upstream gitlab {
server unix:/home/git/gitlab/tmp/sockets/gitlab.socket;
}
server {
…
location /gitlab {
root /home/git/gitlab/public;
if ( -f $request_filename ) { break; }
proxy_read_timeout 300; # https://github.com/gitlabhq/gitlabhq/issues/694
proxy_connect_timeout 300; # https://github.com/gitlabhq/gitlabhq/issues/694
proxy_redirect off;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_pass http://gitlab;
}
…
}
GitLab スタート
$ sudo /etc/init.d/gitlab start
$ sudo /etc/init.d/nginx reload