はじめに
AmazonLinux2023 の環境で GitLab をインストールしてみました。
特に特別なことをするわけではないのですが、今(2023年8月くらい)まではAmazonLinux2022までしかなかったのと、今も何故か日本語サイトにはAmazonLinux2023がないということもあり、問題なくインストールできることを確認する意味も込めて書きました。
- 公式サイト - English
- 公式サイト - 日本語
環境
今回は AmazonLinux2023 にインストールするというだけで、GitLabのバージョンはその時の最新になります。
インスタンス:t2.medium (CPU: 2vCPU, Memory: 4GiB)
OS:AmazonLinux2023
Storage: 8GiB
GitLab:16.3
要件
また、インストール要件は以下に記載してありました。
- Storage
The Linux package requires about 2.5 GB of storage space for installation.
- CPU
4 cores is the recommended minimum number of cores and supports up to 500 users
- Memory
4 GB RAM is the required minimum memory size and supports up to 500 users
セキュリティグループ
今回は HTTPS は使いませんが今後使う予定なので設定しておきます。
タイプ | プロトコル | ポート | ソース |
---|---|---|---|
SSH | TCP | 22 | 接続元IP |
HTTP | TCP | 80 | 0.0.0.0/0 |
HTTPS | TCP | 443 | 0.0.0.0/0 |
インストール
上記にあるインストール手順をベースに進めますが、いくつか変更して行っています。(というか割愛してます)
変更点
- sshd:はそもそもインストールされているので設定は不要です。(updateがあればした方が良いですが)
- firewalld:もよほどセキュリティ要件が厳しいところでないと使わないためここではインストールしません。
- postfix:Amazon SES を使う想定のためインストールしません。
- dnf:サイト記載のインストールコマンドはdnfですが今回はyumで行っています。
GitLab パッケージ用リポジトリのセットアップ
まずは GitLab をインストールするためのリポジトリを追加します。
$ curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ee/script.rpm.sh | sudo bash
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 6968 100 6968 0 0 24562 0 --:--:-- --:--:-- --:--:-- 24621
Detected operating system as amzn/2023.
Checking for curl...
Detected curl...
Downloading repository file: https://packages.gitlab.com/install/repositories/gitlab/gitlab-ee/config_file.repo?os=amzn&dist=2023&source=script
done.
Installing pygpgme to verify GPG signatures...
gitlab_gitlab-ee-source 296 B/s | 862 B 00:02
gitlab_gitlab-ee-source 7.7 kB/s | 3.1 kB 00:00
Importing GPG key 0x51312F3F:
Userid : "GitLab B.V. (package repository signing key) <packages@gitlab.com>"
Fingerprint: F640 3F65 44A3 8863 DAA0 B6E0 3F01 618A 5131 2F3F
From : https://packages.gitlab.com/gitlab/gitlab-ee/gpgkey
gitlab_gitlab-ee-source 18 kB/s | 4.6 kB 00:00
Importing GPG key 0xF27EAB47:
Userid : "GitLab, Inc. <support@gitlab.com>"
Fingerprint: DBEF 8977 4DDB 9EB3 7D9F C3A0 3CFC F9BA F27E AB47
From : https://packages.gitlab.com/gitlab/gitlab-ee/gpgkey/gitlab-gitlab-ee-3D645A26AB9FBD22.pub.gpg
gitlab_gitlab-ee-source 65 B/s | 296 B 00:04
No match for argument: pygpgme
Error: Unable to find a match: pygpgme
WARNING:
The pygpgme package could not be installed. This means GPG verification is not possible for any RPM installed on your system.
To fix this, add a repository with pygpgme. Usualy, the EPEL repository for your system will have this.
More information: https://fedoraproject.org/wiki/EPEL#How_can_I_use_these_extra_packages.3F
Installing yum-utils...
Dependencies resolved.
=================================================================================================================================================================
Package Architecture Version Repository Size
=================================================================================================================================================================
Installing:
dnf-utils noarch 4.1.0-1.amzn2023.0.3 amazonlinux 36 k
Transaction Summary
=================================================================================================================================================================
Install 1 Package
Total download size: 36 k
Installed size: 23 k
Downloading Packages:
dnf-utils-4.1.0-1.amzn2023.0.3.noarch.rpm 357 kB/s | 36 kB 00:00
-----------------------------------------------------------------------------------------------------------------------------------------------------------------
Total 207 kB/s | 36 kB 00:00
Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Running transaction
Preparing : 1/1
Installing : dnf-utils-4.1.0-1.amzn2023.0.3.noarch 1/1
Running scriptlet: dnf-utils-4.1.0-1.amzn2023.0.3.noarch 1/1
Verifying : dnf-utils-4.1.0-1.amzn2023.0.3.noarch 1/1
Installed:
dnf-utils-4.1.0-1.amzn2023.0.3.noarch
Complete!
WARNING:
The yum-utils package could not be installed. This means you may not be able to install source RPMs or use other yum features.
Generating yum cache for gitlab_gitlab-ee...
Generating yum cache for gitlab_gitlab-ee-source...
The repository is setup! You can now install packages.
末尾にThe repository is setup! You can now install packages.
と出ていればリポジトリセットアップ完了です。
GitLab のインストール
リポジトリが無事に追加されたらインストールを行います。
EXTERNAL_URL
にはブラウザからアクセスするためのURLを記載します。
今回はまず独自ドメインを利用せずにインストールしたいと思います。
そのため、EC2のパブリックDNS(ec2-xxx-xxx-xxx-xxx.ap-northeast-1.compute.amazonaws.com
という部分)を使います。
また、パブリックDNSのため HTTPS
ではなく HTTP
であることにも注意してください。
$ sudo EXTERNAL_URL="http://ec2-35-76-147-58.ap-northeast-1.compute.amazonaws.com" yum install -y gitlab-ee
Last metadata expiration check: 0:03:37 ago on Wed Sep 20 07:45:16 2023.
Dependencies resolved.
=================================================================================================================================================================
Package Architecture Version Repository Size
=================================================================================================================================================================
Installing:
gitlab-ee x86_64 16.3.4-ee.0.amazon2023 gitlab_gitlab-ee 1.3 G
Installing dependencies:
annobin-docs noarch 10.93-1.amzn2023.0.1 amazonlinux 92 k
annobin-plugin-gcc x86_64 10.93-1.amzn2023.0.1 amazonlinux
~~~
Notes:
Default admin account has been configured with following details:
Username: root
Password: You didn't opt-in to print initial root password to STDOUT.
Password stored to /etc/gitlab/initial_root_password. This file will be cleaned up in first reconfigure run after 24 hours.
NOTE: Because these credentials might be present in your log files in plain text, it is highly recommended to reset the password following https://docs.gitlab.com/ee/security/reset_user_password.html#reset-your-root-password.
gitlab Reconfigured!
*. *.
*** ***
***** *****
.****** *******
******** ********
,,,,,,,,,***********,,,,,,,,,
,,,,,,,,,,,*********,,,,,,,,,,,
.,,,,,,,,,,,*******,,,,,,,,,,,,
,,,,,,,,,*****,,,,,,,,,.
,,,,,,,****,,,,,,
.,,,***,,,,
,*,.
_______ __ __ __
/ ____(_) /_/ / ____ _/ /_
/ / __/ / __/ / / __ `/ __ \
/ /_/ / / /_/ /___/ /_/ / /_/ /
\____/_/\__/_____/\__,_/_.___/
Thank you for installing GitLab!
GitLab should be available at http://ec2-35-76-147-58.ap-northeast-1.compute.amazonaws.com
For a comprehensive list of configuration options please see the Omnibus GitLab readme
https://gitlab.com/gitlab-org/omnibus-gitlab/blob/master/README.md
Help us improve the installation experience, let us know how we did with a 1 minute survey:
https://gitlab.fra1.qualtrics.com/jfe/form/SV_6kVqZANThUQ1bZb?installation=omnibus&release=16-3
~~~
Complete!
Complete
と表示されればインストール完了です。
ログインパスワードの確認
インストール後にブラウザログインするためのパスワードは /etc/gitlab/initial_root_password
で確認できます。
なぜか公式の手順には記載がないので初めてインストールした際はログイン方法がわからず戸惑った記憶があります。
また、 Username
はファイル名にもあるとおり root
です。
$ sudo cat /etc/gitlab/initial_root_password
# WARNING: This value is valid only in the following conditions
# 1. If provided manually (either via `GITLAB_ROOT_PASSWORD` environment variable or via `gitlab_rails['initial_root_password']` setting in `gitlab.rb`, it was provided before database was seeded for the first time (usually, the first reconfigure run).
# 2. Password hasn't been changed manually, either via UI or via command line.
#
# If the password shown here doesn't work, you must reset the admin password following https://docs.gitlab.com/ee/security/reset_user_password.html#reset-your-root-password.
Password: ZddcHykgivbISiSje6E/2z1swU0ZEl8HF/RmS1V0u1s=
# NOTE: This file will be automatically deleted in the first reconfigure run after 24 hours.
ファイル末尾の NOTE
にもあるとおり、24時間経つとこのファイルは削除されてしまうため注意です。
ログインしたらパスワードは変更するか、このファイルをどこかに退避させるなどしておきましょう。
ブラウザアクセス
先ほど確認した ログインパスワード を使ってログインします。
以下、参考に今回の情報を記載しておきます。
Username:root
Password:ZddcHykgivbISiSje6E/2z1swU0ZEl8HF/RmS1V0u1s=
以上でインストール完了です。
おわりに
今回はすごくシンプルにインストールのみ行いました。
これからの予定として、
- 独自ドメインの設定 & Let's encrypt を使ったHTTPS化
- Amazon SES によるメール通知設定
- ELB(NLB)の導入
etc...
なども行う予定です。
その他の GitLab に関する投稿
GitLab に関する記事は他にも投稿しているのでよければ読んでもらえたら嬉しいです。