CentOS7.6にGitLabをインストールしてみた
GitLab Installationを参考にインストールしてみます。
sudo yum install -y curl policycoreutils-python openssh-server sudo systemctl enable sshd sudo systemctl start sshd sudo firewall-cmd --permanent --add-service=http sudo systemctl reload firewalld
GitLabパッケージリポジトリを追加します。
curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.rpm.sh | sudo bash
GitLabをインストールします。
yum install -y gitlab-ce
アクセスするURLを設定します。
/etc/gitlab/gitlab.rb
を開いて以下を編集します。nginxのポートも8000とかApacheと共存させるためにあらかじめ変えておきましょう。
##external_url 'http://gitlab.example.com' external_url 'http://10.xxx.xxx.xxx' ## nginx['listen_port'] = nil nginx['listen_port'] = 8000
設定ファイルを再設定します。
gitlab-ctl reconfigure
これでhttp://10.xxx.xxx.xxx:8000/にアクセスすればOKです。
the change you requested was rejected.
rootの新しいパスワードを入力して「the change you requested was rejected.」エラーがでたらChromeならCtrl + F5を押してクリアしたらサインイン画面が表示されるようになります。
メール送信設定
AWSのSESでメール送信が簡単にできるようなので今回はSESでしてみます。
/etc/gitlab/gitlab.rb
を編集してSMTP設定をします。
53行目あたり
gitlab_rails['gitlab_email_enabled'] = true gitlab_rails['gitlab_email_from'] = 'ses@confrage.com' gitlab_rails['gitlab_email_display_name'] = 'Example' gitlab_rails['gitlab_email_reply_to'] = 'noreply@example.com' gitlab_rails['gitlab_email_subject_suffix'] = ''
gitlab_rails[‘gitlab_email_from’]で設定したアドレスはAWSのSESでverifyされている必要があります。このメールアドレスが適当なメールアドレスのままだとSMTPサーバからメール送信がされません。
512行目あたり
gitlab_rails['smtp_enable'] = true gitlab_rails['smtp_address'] = "email-smtp.us-east-1.amazonaws.com" gitlab_rails['smtp_port'] = 587 gitlab_rails['smtp_user_name'] = "Smtp Username" gitlab_rails['smtp_password'] = "Smtp Password" gitlab_rails['smtp_domain'] = "10.240.7.1:8000" gitlab_rails['smtp_enable_starttls_auto'] = true
gitlab_rails[‘smtp_address’]はバージニア北部ならus-east-1です。
あとはSESで作成したSMTP credentials情報を設定するだけです。
gitlab-rails console
でRailsコンソールからテストメールを送ることができます。
Notify.test_email('あなたのアカウント@あなたのドメイン.com', 'Message Subject', 'Message Body').deliver_now
次回バンドルされているmattermostの導入をしてみたいと思います。
よく使うコマンド
gitlab-ctl reconfigure
gitlab-ctl restart
gitlab-ctl stop
gitlab-ctl start
tail -f /var/log/gitlab/gitlab-rails/production_json.log

KHI入社して退社。今はCONFRAGEで正社員です。関西で140-170/80~120万から受け付けております^^
得意技はJS(ES6),Java,AWSの大体のリソースです
コメントはやさしくお願いいたします^^
座右の銘は、「狭き門より入れ」「願わくは、我に七難八苦を与えたまえ」です^^
コメント
別のサイトでexternal_urlにもポート番号を付けている例がありました。
ChatGPTに質問したら以下の解説が得られました
。
両方を設定する理由は以下の通りです:
external_urlだけの設定:
一部の構成では、external_urlの指定だけで動作する場合がありますが、
NGINXがデフォルトでポート80または443でリッスンすることを期待して
いるため、特定のポートで動作させたい場合はnginx[‘listen_port’]の
設定も必要です。
nginx[‘listen_port’]だけの設定:
external_urlを指定しない場合、内部でのリッスンポートは設定できま
すが、ユーザーがアクセスするURLが適切に指定されないため、動作が不
安定になる可能性があります。