楽々GitLabサーバー作成手順
教育の仕事でGitLab(プライベートでpull requestなどが出せる安いサービス)が必要になり、サーバーを立ち上げました。以前は自社のコードもGitLabで管理していたのですが、今は 改造版Ginatra を使っているので、教育の期間のみGitLab用のサーバーを立ち上げる事にしました。
GitLabのインストール
以前はGitLabのインストールはたいへんでしたが、今は apt や yum でインストールできます。 IaaSクラウドサービスでサーバーを準備し、インストールすれば簡単に完了です。 RDB(PostgreSQL), nginx 等もインストールされます。
私は Ubuntu が慣れているので、Ubuntu 14.04 にインストールしましました。
$ sudo apt-get update $ sudo apt-get -y dost-upgrade $ 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
SSL化しよう
この手のサーバーは今時 https で運用しますよね。 ということで無料でつかえる Let’s Encrypt を使う事にしました。有効期間は3ヶ月ですが教育期間は休みを含め 2ヶ月なので 更新作業も不要ですね ^^)
作業手順は Qiita にありました。ほぼこのままです。
$ git clone https://github.com/letsencrypt/letsencrypt.git $ cd lets encrypt $ ./letsencrypt-auto --help # installが行われる $ sudo vi /etc/gitlab/gitlab.rb ---- custom_gitlab_server_config を変更 nginx['custom_gitlab_server_config'] = "include /etc/letsencrypt/nginx.conf;" --- $ sudo mkdir /etc/letsencrypt $ sudo vi /etc/letsencrypt/nginx.conf --- 以下を追加 location ^~ /.well-known { alias /var/letsencrypt/.well-known; } --- $ sudo mkdir /var/letsencrypt $ sudo gitlab-ctl reconfigure $ ./letsencrypt-auto certonly --webroot --webroot-path /var/letsencrypt -d gitlab.ey-office.net $ sudo vi /etc/gitlab/gitlab.rb --- 以下の行を変更 external_url 'https://gitlab.ey-office.net' # サーバーのURLを指定 nginx['redirect_http_to_https'] = true nginx['ssl_certificate'] = "/etc/letsencrypt/live/gitlab.ey-office.net/fullchain.pem" nginx['ssl_certificate_key'] = "/etc/letsencrypt/live/gitlab.ey-office.net/privkey.pem" --- $ sudo gitlab-ctl reconfigure