ユーザ用ツール

サイト用ツール


サイドバー

サーバ:aws:サーバ構築手順:amazon_linux_2_に_gitlab_community_edition_gitlab-ce_をインストール

文書の過去の版を表示しています。


Amazon Linux 2 に Gitlab(Community Edition もしくは Enterprise Edition)をインストール

サーバにインストールできる Gitlab には Community Edition(CE)と Enterprise Edition(EE)の2種類あります。
参照 Community EditionとEnterprise Edition

今回行ったのは CE のインストールですが、一部コマンドを変更することで EE のインストールも可能です。

必要スペック

必要スペックは、バージョンアップで高くなる可能性があるため、リンク先の最新情報を見ることをオススメします。

  • スワップ:2GB 以上推奨
  • ストレージ:最低 10GB(PostgreSQL で使用する分)+ Git で管理するファイル容量

ということで、無料枠の t2.micro ではスペックが足りないので、t2.large を使います。

vCPURAM(GiB)
t2.micro11
t2.large28

t2.micro でもスワップを 8GB あてるなどとすれば動かせなくはないですが、実用には耐えないので。。。

※ t2.micro で Gitlab のインストール中にメモリ不足のエラーがでる場合、スワップの割り当てを増やせばインストールに成功します。

インストールを試すだけなら t2.micro でもできなくはないですが、動作が重いです。

AWSの準備

  1. インスタンスの作成
  2. AMI → Amazon Linux 2 AMI
  3. インスタンスタイプ → t2.large
  4. 終了保護の有効化(実稼働させる場合は、誤って削除するのを防ぐため)
  5. ストレージの追加 → 30 GB(必要に応じて増減を)
  6. セキュリティグループ → Webサイト用の設定を(例を下に載せてます)
  7. 起動
  8. インスタンス名 → gitlab などに
  9. Elastic IP の関連付け

セキュリティグループの設定例

インバウンドルールに以下の3つ追加します。

  • タイプ:HTTP → ソース:任意の場所
  • タイプ:HTTPS → ソース:任意の場所
  • タイプ:SSH → ソース:マイIP

【セキュリティグループの作成】後、以下のようなインバウンドルールになっていればOKです。

タイププロトコルポート範囲ソース
HTTPTCP800.0.0.0/0
HTTPTCP80::/0
HTTPSTCP4430.0.0.0/0
HTTPSTCP443::/0
SSHTCP22マイIPアドレス

Amazon Linux 2 の初期設定

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 のインストール準備が完了しました。

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 の設定についてもひとまずスキップします。

Community Edition の場合

コマンド中の 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

Enterprise Edition の場合

# 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 のシークレットモードで開くと見れるときがある。

コメント

コメントを入力. Wiki文法が有効です:
 
サーバ/aws/サーバ構築手順/amazon_linux_2_に_gitlab_community_edition_gitlab-ce_をインストール.1586165718.txt.gz · 最終更新: 2020/04/06 18:35 by humolife