====== GitLab のインストール ====== このページは GitLab CE 9.2.5 を元に書いています。 ===== インストール ===== インストールは、[[https://about.gitlab.com/downloads/|本家]]のページにアクセスし、Ubuntu を選択、\\ 手順の一番下にある「Community Edition」に切り替え、手順通りインストールしていきます。 $ 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 ===== 基本設定 ===== gitlab.rb を編集し、url と port を設定(port を変更するのは apache と同居させるため)。\\ タイムゾーンの設定も行っておきます。 ## GitLab URL ##! URL on which GitLab will be reachable. ##! For more details on configuring external_url see: ##! https://docs.gitlab.com/omnibus/settings/configuration.html#configuring-the-external-url-for-gitlab external_url 'https://ydlprog.no-ip.biz:46410/gitlab' ## Legend ##! The following notations at the beginning of each line may be used to ##! differentiate between components of this file and to easily select them using ##! a regex. ##! ## Titles, subtitles etc ##! ##! More information - Description, Docs, Links, Issues etc. ##! Configuration settings have a single # followed by a single space at the ##! beginning; Remove them to enable the setting. ##! **Configuration settings below are optional.** ##! **The values currently assigned are only examples and ARE NOT the default ##! values.** ################################################################################ ################################################################################ ## Configuration Settings for GitLab CE and EE ## ################################################################################ ################################################################################ ################################################################################ ## gitlab.yml configuration ##! Docs: https://gitlab.com/gitlab-org/omnibus-gitlab/blob/master/doc/settings/gitlab.yml.md ################################################################################ # gitlab_rails['gitlab_ssh_host'] = 'ssh.host_example.com' gitlab_rails['time_zone'] = 'Asia/Tokyo' external_url は運用方法に合わせて記述します。 # http で運用する場合 external_url 'http://ydlprog.no-ip.biz:46410' # https で運用する場合 external_url 'https://ydlprog.no-ip.biz:46410' # サブディレクトリで運用する場合 external_url 'https://ydlprog.no-ip.biz:46410/gitlab' Git LFS(Large File Storage)を使う場合は以下の設定もします。 ### Git LFS gitlab_rails['lfs_enabled'] = true gitlab_rails['lfs_storage_path'] = "/var/opt/gitlab/lfs-objects" ===== https 接続をする場合 ===== 新規に作る場合は、まずはオレオレ証明書の作成します。\\ external_url で設定したサーバー名で証明書を保存します。 $ openssl genrsa 2048 > server.key $ openssl req -new -key server.key > server.csr $ openssl x509 -days 3650 -req -signkey server.key < server.csr > server.crt $ rm server.csr $ sudo mkdir /etc/gitlab/ssl/ $ sudo mv server.crt /etc/gitlab/ssl/ydlprog.no-ip.biz.crt $ sudo mv server.key /etc/gitlab/ssl/ydlprog.no-ip.biz.key $ sudo chmod 400 /etc/gitlab/ssl/ydlprog.no-ip.biz.* apache のサイト証明書を使う場合 $ sudo openssl x509 -in /etc/apache2/ssl/apache.pem > server.crt $ sudo openssl rsa -in /etc/apache2/ssl/apache.pem > server.key $ sudo mkdir /etc/gitlab/ssl/ $ sudo mv server.crt /etc/gitlab/ssl/ydlprog.no-ip.biz.crt $ sudo mv server.key /etc/gitlab/ssl/ydlprog.no-ip.biz.key $ sudo chmod 400 /etc/gitlab/ssl/ydlprog.no-ip.biz.* ===== 設定の反映 ===== $ sudo gitlab-ctl reconfigure $ sudo gitlab-ctl reconfigure $ sudo gitlab-ctl start キャッシュの関係でうまく更新されない場合があるので、reconfigure は2回実行する。 ===== GitLab の設定 ===== 設定した url にアクセスし、初期設定のユーザ(root:5iveL!fe)でログインします。 {{:ubuntu:v1404:gitlab_00.png?620|}} パスワードを変更します。 {{:ubuntu:v1404:gitlab_01.png?620|}} 新しいパスワードで、ログインし、「Admin Area」を選択。 {{:ubuntu:v1404:gitlab_02.png?620|}} 勝手にユーザ追加できないように、「Settings」を選び、\\ 「Sign-in Restrictions」の「Sign-in enabled」のチェックを外します。 {{:ubuntu:v1404:gitlab_03.png?620|}} ===== Apache2 のリバースプロキシ設定 ===== https://ydlprog.no-ip.biz:46410/gitlab へのアクセスを、\\ https://ydlprog.no-ip.biz/gitlab でアクセスできるように、\\ リバースプロキシ用の設定ファイルを用意します。 SSLEngine on SSLProxyEngine on SSLProxyVerify none SSLProxyCheckPeerCN off SSLProxyCheckPeerName off SSLProxyCheckPeerExpire off SSLCertificateFile /etc/apache2/ssl/apache.pem SSLCertificateKeyFile /etc/apache2/ssl/apache.pem ProxyPass /gitlab https://127.0.0.1:46410/gitlab ProxyPassReverse /gitlab https://127.0.0.1:46410/gitlab 設定を反映させ、Apache2 を再起動。 $ sudo a2ensite gitlab.conf $ sudo a2enmod proxy_http $ sudo service apache2 restart ===== バックアップ設定 ===== 毎日 AM 5:00 にバックアップを作成。\\ バックアップデータは /var/opt/gitlab/backups/nnnnnnnnnn_gitlab_backup.tar に作成されます。 MAILTO=root 0 5 * * * root /opt/gitlab/bin/gitlab-rake gitlab:backup:create > /dev/null