0
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

AlmaLinux9.1にGitLabをインストールする

Posted at

gitlab.comで運用していたリポジトリのグループメンバーが増える予定になったのでいっそのことself-hostedにするかと。

要件

  • 運用中のHyper-vホストにVMとして乗せる
  • 4コア 8GB 300GB ぐらいの規模感で
  • メール通知は新たにgmailでアカウントを作ってそこから。
  • CI/CDはそこまで使っていないので追々がんばる
  • let's enclypt使ってhttpsに

Almalinuxインストール

VM立ててisoからインストール。インストールタイプはサーバーを選択。
バックアップを考えて仮想ディスクを分割した。

  • /dev/sda 50GB ルート
  • /dev/sdb 300GB Gitlab用 /var/optにマウント

GitLabインストール

How To Install GitLab on Rocky Linux 9 / AlmaLinux 9 | ComputingForGeeks

を参考に。
面倒なのでrootで作業。

更新して必須ライブラリのインストール

dnf update -y 
dnf -y install curl vim policycoreutils python3-policycoreutils git

gitlabのリポジトリ追加

vim /etc/yum.repos.d/gitlab_gitlab-ce.repo
/etc/yum.repos.d/gitlab_gitlab-ce.repo
[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

[root@localhost ~]# dnf repolist
repo id                                  repo name
appstream                                AlmaLinux 9 - AppStream
baseos                                   AlmaLinux 9 - BaseOS
extras                                   AlmaLinux 9 - Extras
gitlab_gitlab-ce                         gitlab_gitlab-ce
gitlab_gitlab-ce-source                  gitlab_gitlab-ce-source

OK

gitlab-ceのインストール

dnf install gitlab-ce -y

メール通知用のgmailアドレスを作成

MFAを有効にしてアプリパスワードを取得しておく。

gitlabの設定

もとからある設定ファイルは冗長なのでバックアップして新規作成する。

mv /etc/gitlab/gitlab.rb /etc/gitlab/gitlab.rb.orig
vi /etc/gitlab/gitlab.rb
external_url 'http://gitlab.new.server.fqdn'
nginx['enable'] = true
nginx['redirect_http_to_https'] = true
nginx['redirect_http_to_https_port'] = 80
letsencrypt['enable'] = true
letsencrypt['contact_emails'] = ['<letsEncryptへの登録アドレス>']
letsencrypt['auto_renew'] = true

gitlab_rails['gitlab_email_enabled'] = true
gitlab_rails['gitlab_email_from'] = '<通知用アドレス>'
gitlab_rails['gitlab_email_display_name'] = '<通知メールの表示名>'
gitlab_rails['gitlab_email_reply_to'] = '<通知用アドレス>'
gitlab_rails['gitlab_email_subject_suffix'] = ''
gitlab_rails['smtp_enable'] = true
gitlab_rails['smtp_address'] = "smtp.gmail.com"
gitlab_rails['smtp_port'] = 587
gitlab_rails['smtp_user_name'] = "<通知用アドレス>"
gitlab_rails['smtp_password'] = "<アプリパスワード>"
gitlab_rails['smtp_domain'] = "smtp.gmail.com"
gitlab_rails['smtp_authentication'] = "login"
gitlab_rails['smtp_enable_starttls_auto'] = true
gitlab_rails['smtp_tls'] = false
gitlab_rails['time_zone'] = 'Asia/Tokyo'
prometheus['enable'] = false
puma['enable'] = true
puma['ha'] = false
puma['worker_timeout'] = 60
puma['worker_processes'] = 2
puma['min_threads'] = 2
puma['max_threads'] = 2

external_urlは外部から接続可能なfqdnでかつ、Let's EncryptのACMEを通すため最初はhttp://にしておく必要があるとこがミソ。

gitlabの起動

firewallに穴を開けてgitlabの起動

firewall-cmd --permanent --add-service={ssh,http,https} --permanent
firewall-cmd --reload
gitlab-ctl reconfigure

これで http://gitlab.new.server.fqdnにつながるはず。
初期パスワードは/etc/gitlab/initial_root_passwordに入ってるのでこれを使ってrootでログインできるか確認。

sslの強制に変更

external_urlをhttpsにするだけ

vi /etc/gitlab/gitlab.rb
external_url 'https://gitlab.new.server.fqdn'
gitlab-ctl reconfigure

SELinux下で鍵認証を有効にするためにパーミッション調整

chcon -R -t ssh_home_t /var/opt/gitlab/.ssh
0
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?