このページは GitLab CE 9.2.5 を元に書いています。
インストールは、本家のページにアクセスし、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"
新規に作る場合は、まずはオレオレ証明書の作成します。
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回実行する。
設定した url にアクセスし、初期設定のユーザ(root:5iveL!fe)でログインします。
パスワードを変更します。
新しいパスワードで、ログインし、「Admin Area」を選択。
勝手にユーザ追加できないように、「Settings」を選び、
「Sign-in Restrictions」の「Sign-in enabled」のチェックを外します。
https://ydlprog.no-ip.biz:46410/gitlab へのアクセスを、
https://ydlprog.no-ip.biz/gitlab でアクセスできるように、
リバースプロキシ用の設定ファイルを用意します。
<IfModule mod_ssl.c> <VirtualHost *:443> 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 </VirtualHost> </IfModule>
設定を反映させ、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