現在、自宅環境ではAnsibleやSeleniumによる環境の自動化対応を進めている。その中で、やはりコードを管理するバージョン管理システム (VCS) が欲しくなり、以前から自宅環境として欲しかったGitLabを構築することにした。
ということで、本記事ではGitLabをAlmaLinuxにインストールする手順を記載する。
環境
GitLabをインストールするOSは、AlmaLinuxを用いる。ただし、Red Hat系のディストリビューションであるCentOSやRocky Linuxなどでも同様の手順で構築できるだろう。
- OS : AlmaLinux 8.5
- GitLab : 15.1.2
GitLabをインストールするサーバのスペックはCPU4コア・メモリ8GBとした。公式サイトに記載の最小要件はCPU4コア・メモリ4GBとなるが、メモリを多く消費するようなので余裕をもって8GBで構築している。
ちなみに、当初CPU2コア、メモリ2GBの環境で構築を進めていたが、メモリ不足となりインストールがいつまでも終了しない事態となったことから、少なくとも最小要件は必ず満たすようサーバを用意した方がよさそうだ。
また、今回は手順簡略化のため、SELinuxとfirewalldは停止しておく。
# systemctl stop firewalld
# systemctl disable firewalld
# sed -i "s/SELINUX=enforcing/SELINUX=disabled/g" /etc/selinux/config
# reboot
GitLabインストール手順
1. Postfixをインストール
GitLabの機能においてメール送信を利用する場合は、Postfixを使うようだ。本記事ではメール送信までの設定や確認は対象外としているが、将来利用できるようインストールしておく。
# dnf install postfix -y
# systemctl enable postfix
# systemctl start postfix
2. GitLabのリポジトリを登録
GitLabはdnf
を用いてインストールするため、GitLabのリポジトリを登録する。リポジトリ登録用のシェルが公開されているので、以下の通りコマンドを実行するだけで、リポジトリ登録が完了する。
# curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ee/script.rpm.sh | bash
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 6928 100 6928 0 0 39588 0 --:--:-- --:--:-- --:--:-- 39588
Detected operating system as almalinux/8.
Checking for curl...
Detected curl...
Downloading repository file: https://packages.gitlab.com/install/repositories/gitlab/gitlab-ee/config_file.repo?os=almalinux&dist=8&source=script
done.
~(中略)~
完了しました!
Generating yum cache for gitlab_gitlab-ee...
GPG 鍵 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
GPG 鍵 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
Generating yum cache for gitlab_gitlab-ee-source...
The repository is setup! You can now install packages.
3. dnf
にてGitLabをインストール
リポジトリが登録されているので、dnf
にてGitLabをインストールする。GitLab Enterprise Edition (gitlab-ee
) という名前になっているが、有償ライセンス登録をしなければ、機能上もライセンス上もGitLab Community Editionと同様の機能のみ利用できるようになっており、特に問題はない。
# dnf install gitlab-ee -y
4. GitLabを初期設定
単純にdnf
でインストールしただけでは、初期設定がされておらずGitLabを利用することができないため、初期設定を実施する。
まず、GitLabを公開するURLを定義する。設定ファイルは/etc/gitlab/gitlab.rb
となるので、vi
等を用いてexternal_url
の項目を修正しよう。
# vi /etc/gitlab/gitlab.rb
external_url 'http://gitlab.example.com'
設定が完了したら、以下コマンドで設定を反映させる。この処理は数分~数十分程度の時間を要するので、完了まで気長に待とう。もしいつまでも処理が完了しない場合は、CPUやメモリのリソース不足を疑おう。
# gitlab-ctl reconfigure
~(中略)~
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!
初期設定が完了すると、gitlab-runsvdir
というサービス名でGitLabが起動しているはずだ。
# systemctl status gitlab-runsvdir
● gitlab-runsvdir.service - GitLab Runit supervision process
Loaded: loaded (/usr/lib/systemd/system/gitlab-runsvdir.service; enabled; ve>
Active: active (running) since Thu 2022-07-07 13:51:09 JST; 1 day 20h ago
Main PID: 3492 (runsvdir)
Tasks: 431 (limit: 4915)
Memory: 5.0G
CGroup: /system.slice/gitlab-runsvdir.service
tq 3492 runsvdir -P /opt/gitlab/service log: ......................>
tq 3494 runsv logrotate
tq 3504 svlogd -tt /var/log/gitlab/logrotate
tq 3529 runsv redis
tq 3531 /opt/gitlab/embedded/bin/redis-server unixsocket:/var/opt/g>
tq 3548 svlogd -tt /var/log/gitlab/redis
~(以下略)~
5. 管理者ユーザ (root) の初期パスワードを確認
管理者ユーザ (root) の初期パスワードは自動生成され、その内容が/etc/gitlab/initial_root_password
に記載されている。
# 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: LEDXXXXqJIZWfXXXXeoZxXXXXNe6XXXXjXFQeJ7ZXXXX
# NOTE: This file will be automatically deleted in the first reconfigure run after 24 hours.
6. GitLabにログイン確認
それではGitLabにログインしてみよう。設定したURLまたはIPアドレスにブラウザでアクセスしてみよう。問題なければ、ログイン画面が表示されるはずだ。
ユーザ名をroot、パスワードは先ほど確認した自動生成パスワードを入力してログインできれば、インストールは成功となる。
最後にパスワードを変更しておこう。右上のユーザのアイコン→「Edit profile」→「Password」を選択し、「New password」に新しいパスワードを設定し「Save password」ボタンを押せば変更できる。
以上で、GitLabをAlmaLinuxにインストールする手順は完了となる。
0 件のコメント:
コメントを投稿