Rocky Linux 9 にGitHubクローンのOSSである
Gitlabをインストールします。
この記事では、以下について解説しています。
・Gitlabのインストール
・インストール後に必要な基本設定
最後まで進めていくとブラウザからログインしてすぐにGitlabが使えるようになります。
Rocky Linuxに接続してGitlabをインストールする
SSHでLinuxに接続する
まずはSSHでLinuxに接続します。
$ ssh <接続ユーザ名>@<リモートホスト名 or IPアドレス>
# e.g. ホスト名:gitlab.serverにuserというユーザで接続する場合
$ ssh user@gitlab.server
SSHサーバを構築していない場合はこちらを参考にしてみてください。
事前にGitlabに必要なパッケージをインストールする
次のコマンドを実行して必要なパッケージを先にインストールします。
sudo dnf -y update
sudo dnf -y install curl vim policycoreutils python3-policycoreutils git
Rocky Linux 9 用のGitlabが存在するリポジトリを追加する
次のコマンドを実行してGitlabのリポジトリを追加します。
sudo tee /etc/yum.repos.d/gitlab_gitlab-ce.repo<<EOF
[gitlab_gitlab-ce]
name=gitlab_gitlab-ce
baseurl=https://packages.gitlab.com/gitlab/gitlab-ce/el/8/$basearch
repo_gpgcheck=1
gpgcheck=1
enabled=1
gpgkey=https://packages.gitlab.com/gitlab/gitlab-ce/gpgkey
https://packages.gitlab.com/gitlab/gitlab-ce/gpgkey/gitlab-gitlab-ce-3D645A26AB9FBD22.pub.gpg
sslverify=1
sslcacert=/etc/pki/tls/certs/ca-bundle.crt
metadata_expire=300
[gitlab_gitlab-ce-source]
name=gitlab_gitlab-ce-source
baseurl=https://packages.gitlab.com/gitlab/gitlab-ce/el/8/SRPMS
repo_gpgcheck=1
gpgcheck=1
enabled=1
gpgkey=https://packages.gitlab.com/gitlab/gitlab-ce/gpgkey
https://packages.gitlab.com/gitlab/gitlab-ce/gpgkey/gitlab-gitlab-ce-3D645A26AB9FBD22.pub.gpg
sslverify=1
sslcacert=/etc/pki/tls/certs/ca-bundle.crt
metadata_expire=300
EOF
追加されたリポジトリを確認します。
dnf repolist
以下のようにgitlab_gitlab-ceが表示されて入れば正常に追加されています。
repo id repo の名前
appstream Rocky Linux 9 - AppStream
baseos Rocky Linux 9 - BaseOS
extras Rocky Linux 9 - Extras
gitlab_gitlab-ce gitlab_gitlab-ce
gitlab_gitlab-ce-source gitlab_gitlab-ce-source
Gitlabをインストールする
ここからGitlabをインストールしていきます。
sudo dnf install gitlab-ce -y
インストールに失敗する(Status code: 404が出る)場合は/etc/resolv.confファイルを以下のように編集します。
# Generated by NetworkManager
search localdomain
nameserver 192.168.8.2
nameserver 8.8.8.8 # <-追加
nameserver 8.8.4.4 # <-追加
resolv.confがNetworkManagerによって書き換えられないように以下の設定も行います。
vi /etc/NetworkManager/NetworkManager.conf
「dns=none」を追加します。
[main]
#plugins=keyfile,ifcfg-rh
dns=none # <-追加
NetworkManagerを再起動します。
sudo systemctl restart NetworkManager
設定が終わったらもう一度上記のインストールコマンドを実行します。
Gitlabサーバのホスト名を設定する
Gitlabにアクセスする際に使用するホスト名を設定します。
IPアドレスのままでも問題ないという場合はこの設定はしなくても大丈夫です。
/etc/hostsファイルを編集します。
今回はホスト名を「dev.gitlab.local」で設定していきます。IPアドレスとホスト名の間にはスペースが入ります。
sudo vi /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.8.128 dev.gitlab.local # <- この行を追加
Gitlabの公開URLを設定する
以下のファイルを編集して、Gitlabへ接続する際の公開URLを設定します。
ホスト名の設定を行なっている場合はホスト名、設定していない場合はIPアドレスに書き換えます。
sudo vi /etc/gitlab/gitlab.rb
# 以下の項目があるのでURLを変更する
external_url 'http://gitlab.example.com' # <- ここを変更。IPアドレスでもOK
sudo gitlab-ctl reconfigure
ファイルを保存したらgitlab-ctl reconfigure コマンドを実行します。
reconfigureを実行した際に以下のエラーが発生した場合は、追加でライブラリをインストールします。
/opt/gitlab/embedded/bin/ruby: error while loading shared libraries: libcrypt.so.1: cannot open shared object file: No such file or directory
sudo dnf install -y libxcrypt-compat
インストール後、再度reconfigureを実行してください。
Firewallの設定をする
Rocky Linux はデフォルトでFirewall Serviceが起動していますので、このホストに対するhttp, httpsの通信を許可するように設定(穴あけ)を行います。
# http通信を許可する
sudo firewall-cmd --permanent --add-service=http
# https通信を許可する
sudo firewall-cmd --permanent --add-service=https
# 設定を有効にする(リロード)
sudo systemctl reload firewalld
Gitlabにアクセスする
ここまででインストールおよび設定が完了しましたので、Gitlabにアクセスしてみます。
その前にGitlabのサービスが起動していることを確認します。
以下のコマンドを実行して、すべて「run: 〜」となっていれば正常に起動しています!
sudo gitlab-ctl status
run: alertmanager: (pid 77530) 69395s; run: log: (pid 77278) 69426s
run: gitaly: (pid 77460) 69405s; run: log: (pid 76560) 69542s
run: gitlab-exporter: (pid 77504) 69396s; run: log: (pid 77147) 69444s
run: gitlab-kas: (pid 77474) 69398s; run: log: (pid 76765) 69530s
run: gitlab-workhorse: (pid 77486) 69398s; run: log: (pid 76968) 69458s
run: logrotate: (pid 80734) 2539s; run: log: (pid 76326) 69553s
run: nginx: (pid 76982) 69457s; run: log: (pid 77042) 69454s
run: node-exporter: (pid 77498) 69397s; run: log: (pid 77138) 69448s
run: postgres-exporter: (pid 77541) 69394s; run: log: (pid 77319) 69420s
run: postgresql: (pid 76590) 69539s; run: log: (pid 76611) 69536s
run: prometheus: (pid 77513) 69395s; run: log: (pid 77243) 69432s
run: puma: (pid 76853) 69471s; run: log: (pid 76860) 69470s
run: redis: (pid 76364) 69551s; run: log: (pid 76405) 69548s
run: redis-exporter: (pid 77506) 69396s; run: log: (pid 77207) 69438s
run: sidekiq: (pid 76883) 69465s; run: log: (pid 76899) 69464s
ブラウザのアドレスバーに「http://ホスト名 or IPアドレス」を入力してアクセスします。
ログイン画面が表示されました!
初期ユーザ/初期パスワードでログインします。
初期ユーザは「root」になります。
初期パスワードは以下のファイルに記載されています。
# ファイルの中身を表示。Password:となっている
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: vY2CiFvidhj9H7D9DMzUyXJh7ItHOr4IWwsWYp2tGcs=
# NOTE: This file will be automatically deleted in the first reconfigure run after 24 hours.
管理人の場合は「vY2CiFvidhj9H7D9DMzUyXJh7ItHOr4IWwsWYp2tGcs=」でした。
環境によってランダムな値が設定されていますのでご自身のファイルの中身を確認してみてください。
ユーザ・パスワードを入力して「Singn in」ボタンをクリックすると次のような画面が表示されます。
無事にログインすることができました!
この時に表示されている「Check your sign-up restrictions」の警告ですが、このGitlabに誰でもアカウント登録ができる状態にしたくない場合は「Deactivate」ボタンをクリックしましょう。
「Deactivate」ボタンをクリックすると以下の画面が表示されるので、チェックボックスを2つともOFFにします。
その後、少し下の方にスクロースすると「Save changes」ボタンがあるのでクリックして保存します。
Gitlabのrootユーザ名とパスワードを変更する
ユーザ名とパスワードを変更します。
先ほどの初期パスワードが記載されていたファイルは24時間後に自動的に削除されてしまいますので、初期パスワードの変更を実施します。
左メニューの「Overview」->「Users」->「Administrator」をクリックします。
詳細画面が表示されるので「Edit」ボタンをクリックします。
編集画面が表示されるので「Username」に新しいユーザ名、「Password」、「Password confirmation」欄に新しいパスワードを入力して「Save changes」ボタンをクリックします。
変更の保存が完了すると、ログイン画面に戻るのでここで設定した新しいアカウント情報で再度ログインします。
以上で基本的な設定は完了です!
最後にGitlabサービスの起動と終了のコマンドを紹介します。
Gitlabサービスの起動と停止
以下のコマンドでGitlabサービスの起動と停止ができます。
# 起動
sudo gitlab-ctl start
# 停止
sudo gitlab-ctl stop
今回はGitlabのインストールから基本設定までを解説しました。
お疲れ様でした!