INFRA

Ubuntu16.04にGitLabを入れる

Ubuntu 16.04にGitlabを入れていきたいと思います。

Gitlabのインストール

Gitlabのサイトに、OS毎のインストール方法が書いてありました。

$ sudo apt-get install curl openssh-server ca-certificates postfix
$ curl -sS https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh | sudo bash
$ sudo apt-get install gitlab-ce
$ sudo gitlab-ctl reconfigure

ポート開ける

80ポートを開けます。

$ sudo ufw allow 80

ポートの衝突を回避する

ブラウザで見てもデフォルトのnginxの画面になる。既にnginx入れているのですが、これとは別にnginxを入れてるみたいでポートが衝突してるらいし。 参考:Ubuntu 14.04 に GitLabをインストールした

上記サイトのとおり、衝突してた。/etc/gitlab/gitlab.rbの下記に、変更したいポートを入れたら出来た。あとは、ufwでポートを開ける必要がある。

nginx['listen_port'] = nil

ブラウザでアクセスしたらGitlabのログイン画面が表示された。パスワード変更してrootでログインできた。

gitユーザでssh接続できるようにする

$ sudo vi /etc/ssh/sshd_config

AllowUsersにgitを追加します。

$ sudo service ssh restart

sshのポートを変えている場合は、gitlab.rbの下記を修正します。

gitlab_rails['gitlab_shell_ssh_port'] = 変更したポート

あとは、ローカルでキーを作成して、gitlabに登録して、.ssh/configを下記のような感じで修正します。

Host hoge.com
HostName hoge.com
User git
IdentityFile C:\Users\hoge\.ssh\hoge_rsa
Port 12345

メール送信設定

今回はgmailを新たに登録して、設定してみました。gmail登録後に、安全性の低いアプリに許可というのを設定する必要があります。あとは、gitlab.rbを下記のように設定します。

21 gitlab_rails['time_zone'] = 'Asia/Tokyo'
22 gitlab_rails['gitlab_email_enabled'] = true
23 gitlab_rails['gitlab_email_from'] = '[email protected]'
24 gitlab_rails['gitlab_email_display_name'] = 'Hoge'
25 gitlab_rails['gitlab_email_reply_to'] = '[email protected]'
332 gitlab_rails['smtp_enable'] = true
333 gitlab_rails['smtp_address'] = "smtp.gmail.com"
334 gitlab_rails['smtp_port'] = 587
335 gitlab_rails['smtp_user_name'] = "[email protected]"
336 gitlab_rails['smtp_password'] = "GmailのPASSWORD"
337 gitlab_rails['smtp_domain'] = "smtp.gmail.com"
338 gitlab_rails['smtp_authentication'] = "login"
339 gitlab_rails['smtp_enable_starttls_auto'] = true
340 gitlab_rails['smtp_tls'] = false
341 gitlab_rails['smtp_openssl_verify_mode'] = 'peer'

reconfigure

$ sudo gitlab-ctl reconfigure