文書の過去の版を表示しています。
サーバにインストールできる 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 のインストール中にメモリ不足のエラーがでる場合、スワップの割り当てを増やせばインストールに成功します。
インストールを試すだけなら t2.micro でもできなくはないですが、動作が重いです。
インバウンドルールに以下の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 の初期設定を行います。
# OS バージョン確認 $ cat /etc/system-release Amazon Linux release 2 (Karoo) # SELinux 確認 # enforcing ・・・ SELinuxは有効で、アクセス制限も有効 # permissive ・・・ SELinuxは有効だが、アクセス制限は行わず警告を出力 # disabled ・・・ SELinux機能は無効 $ sudoedit /etc/selinux/config SELINUX=disabled # Swap の確認 $ free -m total used free shared buff/cache available Mem: 7974 78 7542 0 353 7669 Swap: 0 0 0 # ストレージの空き容量の確認 $ df -h --total ファイルシス サイズ 使用 残り 使用% マウント位置 /dev/xvda1 30G 1.3G 29G 5% / # Swap に 4GB 割り当て(1024 * 4 = 4096) $ sudo dd if=/dev/zero of=/swapfile1 bs=1M count=4096 $ sudo chmod 600 /swapfile1 $ sudo mkswap /swapfile1 $ sudo swapon /swapfile1 # Swap の確認 $ free -m total used free shared buff/cache available Mem: 7974 81 3329 0 4564 7610 Swap: 4095 0 4095 # アップデート $ sudo yum update -y # タイムゾーンの確認 $ sudo timedatectl # タイムゾーンに Asia/Tokyo を設定 $ sudo timedatectl set-timezone Asia/Tokyo # 時間が Asia/Tokyo になってるか確認 $ date # ロケールの確認 $ localectl status # 指定可能なロケールの確認 $ localectl list-locales | grep ja # ロケールの変更 $ sudo localectl set-locale LANG=ja_JP.utf8
これでひとまず Gitlab のインストール準備が完了しました。
公式が用意してくれている 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 の設定についてもひとまずスキップします。
コマンド中の http://gitlab.example.com となっている部分は、インストールしたい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% /
ブラウザでサイトにアクセスできるか確認する。
http://gitlab.example.com
ブラウザキャッシュでサイトが見れないときがあるので、サイト表示されなくても Chrome のシークレットモードで開くと見れるときがある。
コメント