LoginSignup
8

More than 5 years have passed since last update.

CentOS 7 にGitLabをインストールする

Last updated at Posted at 2018-05-27

前提

  • CentOS 7のサーバを準備する

    • Memory 4GBが推奨されている。ここでは Azure MarketplaceのVM CentOS-7.3, D1v2(1core/3.5GB)を使用
  • 独自ドメインを使用する場合

    • 独自ドメインの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を変更した場合は、元の設定に戻す。

Email通知の設定

参考

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
8