前提
-
CentOS 7のサーバを準備する
- Memory 4GBが推奨されている。ここでは Azure MarketplaceのVM
CentOS-7.3
,D1v2
(1core/3.5GB)を使用
- Memory 4GBが推奨されている。ここでは Azure MarketplaceのVM
-
独自ドメインを使用する場合
- 独自ドメインのDNSにGitLabサーバへのAレコード(またはCNAME)設定を追加しておく
-
今回使用したGitLabは
v10.8
-
(参考)GitLab EEを使用している。ライセンスをActivateするまでCEと同等の機能のみ利用可能。
手順
GitLabのインストール
- CentOSサーバで以下のコマンドを実行してGitLabをインストールする
bash
# 依存パッケージのインストールと事前構成 --------------
sudo yum install -y curl policycoreutils-python openssh-server
sudo systemctl enable sshd
sudo systemctl start sshd
# firewalldを実行していない場合は警告がでるが、そのまま
sudo firewall-cmd --permanent --add-service=http
sudo systemctl reload firewalld
# Postfixのインストール -----------
sudo yum install postfix
sudo systemctl enable postfix
sudo systemctl start postfix
# GitLabパッケージの追加とインストール -----------
curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ee/script.rpm.sh | sudo bash
# URLは使用しているサーバーのFQDNに置き換えること
sudo EXTERNAL_URL="http://gitlab.example.com" yum install -y gitlab-ee
-
ブラウザでGitlabにアクセスし、管理者の初期パスワードを設定する
-
root
ユーザで初期設定したパスワードを入力してログインする
HTTPSの設定(Let's Encrypt統合を利用)
-
(参考)Let's encrypt統合を使用しない場合は以下のページを参照
-
sudo vi /etc/gitlab/gitlab.rb
で以下の行を編集する。(コメントアウトされているので、#を外すこと)
/etc/gitlab/gitlab.rb
# HTTPSに変更する
external_url 'https://〜'
# Let's Encrypt統合を有効にする
letsencrypt['enable'] = true
# Let's Encryptに登録する自分のメールアドレスを指定する
letsencrypt['contact_emails'] = ['foo@email.com']
# (必要に応じて) HTTPリクエストをHTTPSへリダイレクトする設定にする
nginx['redirect_http_to_https'] = true
-
NSGなどでインターネット側から80ポートへアクセスできない場合は、許可する
-
以下のコマンドを実行する
bash
# 設定変更を読み込む
sudo gitlab-ctl reconfigure
# 証明書が作成されていることを確認する
ls /opt/gitlab/embedded/ssl/certs/
- NSGを変更した場合は、元の設定に戻す。