サーバにインストールできる Gitlab には Community Edition(CE)と Enterprise Edition(EE)の2種類あります。
Community EditionとEnterprise Edition
今回行ったのは CE のインストールですが、一部コマンドを変更することで EE のインストールも可能です。
必要スペックは、バージョンアップで高くなる可能性があるため、リンク先の最新情報を見ることをオススメします。
ということで、無料枠の t2.micro ではスペックが足りないので、t2.large を使います。
vCPU | RAM(GiB) | |
t2.micro | 1 | 1 |
t2.large | 2 | 8 |
インストールを試すだけなら t2.micro でもスワップを 8GB あてればインストールは成功しますが、動作が重く実用には耐えないかと。。。
※ t2.micro で Gitlab のインストール中にメモリ不足のエラーがでる場合、スワップの割り当てを増やせばインストールに成功します。
インバウンドルールに以下の3つ追加します。
【セキュリティグループの作成】後、以下のようなインバウンドルールになっていればOKです。
タイプ | プロトコル | ポート範囲 | ソース |
HTTP | TCP | 80 | 0.0.0.0/0 |
HTTP | TCP | 80 | ::/0 |
HTTPS | TCP | 443 | 0.0.0.0/0 |
HTTPS | TCP | 443 | ::/0 |
SSH | TCP | 22 | マイIPアドレス |
Gitlab インストールのために、まずは Amazon Linux 2 の初期設定を行います。
公式が用意してくれている Omnibus package を使ってインストールします。
Gitlab を動かすのに必要な Nginx や PostgreSQL、Let's Encrypt などなどを一括管理し、インストールしてくれる凄いやつです。
(私は、初回インストール時に Apache などを予めインストールしておく必要があるのかと思い、Apache を手動インストールしてから Gitlab CE をインストールしたところ、Omnibus package が管理する Nginx と競合してエラーが発生しましたorz)
今回は Amazon Linux 2 へのインストールということで、公式マニュアルの CentOS 7 のインストール方法を参照します。
HTTP と SSH については AWS のセキュリティグループで管理しているためスキップします。
Postfix の設定についてもひとまずスキップします。
※ コマンド中で EXTERNAL_URL に指定している URL は、Gitlab を閲覧したい URL に書き換えてください。
(ドメインがない場合は IP アドレスを指定するなど)
# GitLab パッケージをリポジトリに追加 $ curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.rpm.sh | sudo bash # GitLabパッケージをインストール $ sudo EXTERNAL_URL="http://gitlab.example.com" yum install -y gitlab-ce
# GitLab パッケージをリポジトリに追加 $ curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ee/script.rpm.sh | sudo bash # GitLabパッケージをインストール $ sudo EXTERNAL_URL="http://gitlab.example.com" yum install -y gitlab-ee
# インストールされたバージョンを確認 $ yum list installed | grep gitlab gitlab-ce.x86_64 12.9.2-ce.0.el6 @gitlab_gitlab-ce # ストレージの空き容量を確認 $ df -h --total ファイルシス サイズ 使用 残り 使用% マウント位置 /dev/xvda1 30G 7.4G 23G 25% /
ブラウザでサイトにアクセスできるか確認する。
ブラウザキャッシュでサイトが見れないときがあるので、サイト表示されなくても Chrome のシークレットモードで開くと見れるときがある。
初回アクセス時は管理者アカウント(root)のパスワード設定画面が表示されるので、新しいパスワードを設定します。
これで【root / 設定したパスワード】でログインできるようになります。
あとからドメインを取得した場合や、URL の設定を間違えていた場合など、URL を変更したい場合は以下の手順で変更できます。
# オプションで URL 変更 $ sudoedit /etc/gitlab/gitlab.rb external_url="http://example.net/" # 変更内容反映 $ sudo gitlab-ctl reconfigure
Omnibus-GitLab は Let's Encrypt をサポートしているので、簡単に SSL証明書を導入し https を使用することができます。
https://docs.gitlab.com/omnibus/settings/ssl.html
$ sudoedit /etc/gitlab/gitlab.rb external_url="http://gitlab.example.com" letsencrypt['enable'] = true letsencrypt['contact_emails'] = ['自分のメールアドレス'] // 4日毎の午前3時0分に更新を試みる letsencrypt['auto_renew_hour'] = 3 letsencrypt['auto_renew_minute'] = 0 letsencrypt['auto_renew_day_of_month'] = "*/4" # 反映 sudo gitlab-ctl reconfigure
これだけで OK です。
あとは https でアクセスできるか確認します。
その他の設定などについては Gitlab にて。
コメント