内藤 裕二/ 9月 28, 2018/ サーバ, 技術

はじめに

本記事は、Qiita上で2018/3/13に初公開した記事を転記したものです。


概要

社内向けにさくらのVPS上での、下記構成のリポジトリサーバ構築メモ
ところどころ抜けてるかも
後編はこちら

  • さくらのVPS使用(RAM 2GB, HDD 200GB)
  • CentOS 6.9 (Final)
  • GitLab CE Omnibus ver.10.5.2
  • 通知用メールはGMailを使用
  • リポジトリおよびデータのバックアップはGoogle Driveを使用
  • SSLに対応するため、Let’s Encryptのサーバ証明書を使用(WIP)

OSのインストール

諸事情によりCentOS6を使用したかったので、スタートアップスクリプトを使用せず、さくらのコントロールパネルからCentOS6をクリーンインストール

インストール後、管理者ユーザを作成したり、SSHの設定をしたりしたけど、とりあえず割愛。

GitLabのインストール

基本的には公式のインストールガイドに従っただけで、すんなり入った。

必要なパッケージとサービスの設定

sudo yum install -y curl policycoreutils-python openssh-server cronie
sudo lokkit -s http -s ssh

通知メールにはGMailを使用する予定のため、postfixはインストールしない

yumのリポジトリの設定

curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.rpm.sh | sudo bash

GitLabのインストール

sudo EXTERNAL_URL="http://gitlab.northtorch.co.jp" yum install -y gitlab-ce

GitLab再起動

gitlab-ctl reconfigure

GitLabへのアクセスの確認

ブラウザを使用して、さくらのVPSのIPアドレスへアクセス
GitLabのrootのパスワード設定を求められるので、設定する

GitLabとGMailの連携設定

GitLab用にGMailアカウントを新規に追加する
(設定ファイルにGoogleアカウントのログインパスワードを埋め込むことになるので、既存アカウントを使いまわすのはちょっと怖い)

GitLabの設定ファイルを変更

gitlab_rails['gitlab_email_enabled'] = true
gitlab_rails['gitlab_email_from'] = 'northtorch.gitlab@gmail.com'
gitlab_rails['gitlab_email_display_name'] = 'GitLab Auto Mail'
gitlab_rails['gitlab_email_reply_to'] = 'northtorch.gitlab@gmail.com'

gitlab_rails['smtp_enable'] = true
gitlab_rails['smtp_address'] = "smtp.gmail.com"
gitlab_rails['smtp_port'] = 587
gitlab_rails['smtp_user_name'] = "northtorch.gitlab@gmail.com"
gitlab_rails['smtp_password'] = "ntgitlab"
gitlab_rails['smtp_domain'] = "smtp.gmail.com"
gitlab_rails['smtp_authentication'] = "login"
gitlab_rails['smtp_enable_starttls_auto'] = true
gitlab_rails['smtp_tls'] = false

###! Can be: 'none', 'peer', 'client_once', 'fail_if_no_peer_cert'
###! Docs: http://api.rubyonrails.org/classes/ActionMailer/Base.html
gitlab_rails['smtp_openssl_verify_mode'] = 'peer'

GitLab再起動

gitlab-ctl reconfigure

GitLabからのメールが届くか確認

有効なメールアドレスと紐づいたユーザを作成すると、そのユーザのメールアドレスにメールが飛んできます。

とりあえず、ここまででインストールは完了です

参考URL