・ローカル内のGitLabサーバから別のSMTPサーバを使ってメール送信ができるようにしたい。
・具体的な設定方法を教えてほしい。
こういった疑問に答えます。
本記事の内容
- ローカル内のCentOS8サーバ上のGitLabから、別のSMTPサーバを使ってメール送信する設定方法
この記事を書いている私は、某SIerに勤務しながら、
WEB系エンジニア・インフラエンジニアに憧れて、プログラミングおよびインフラ技術の勉強をしています。
こういった私が、解説していきます。
私が実機で試したコマンドや画像を載せて書いています。
記事の信頼性担保に繋がると思います。
ローカル内のCentOS8サーバ上のGitLabから、別のSMTPサーバを使ってメール送信する設定方法
「gitlab.rb」の修正
修正前ファイルのバックアップ
cp -p /etc/gitlab/gitlab.rb /etc/gitlab/gitlab.rb.original_bk
[root@SV-MARS gitlab]# cp -p /etc/gitlab/gitlab.rb /etc/gitlab/gitlab.rb.original_bk
「gitlab.rb」ファイルの修正
vi /etc/gitlab/gitlab.rb
### GitLab email server settings ###! Docs: https://docs.gitlab.com/omnibus/settings/smtp.html ###! **Use smtp instead of sendmail/postfix.** gitlab_rails['smtp_enable'] = true gitlab_rails['smtp_address'] = "sv-earth.ad.planet.jp" gitlab_rails['smtp_port'] = 587 gitlab_rails['smtp_user_name'] = "△△△△△ユーザ名" gitlab_rails['smtp_password'] = "●●●●●パスワード" gitlab_rails['smtp_domain'] = "ad.planet.jp" gitlab_rails['smtp_authentication'] = "login" gitlab_rails['smtp_enable_starttls_auto'] = false gitlab_rails['smtp_tls'] = false ### Email Settings gitlab_rails['gitlab_email_enabled'] = true ##! If your SMTP server does not like the default 'From: gitlab@gitlab.example.com' ##! can change the 'From' with this setting. gitlab_rails['gitlab_email_from'] = 'gitlab@ad.planet.jp' gitlab_rails['gitlab_email_display_name'] = 'GitLab' gitlab_rails['gitlab_email_reply_to'] = 'gitlab@ad.planet.jp' # gitlab_rails['gitlab_email_subject_suffix'] = '' # gitlab_rails['gitlab_email_smime_enabled'] = false # gitlab_rails['gitlab_email_smime_key_file'] = '/etc/gitlab/ssl/gitlab_smime.key'
設定変更後の再構築
gitlab-ctl reconfigure
[root@SV-MARS gitlab]# gitlab-ctl reconfigure Starting Chef Infra Client, version 15.14.0 resolving cookbooks for run list: ["gitlab"] Synchronizing Cookbooks: - gitlab (0.0.1) - package (0.1.0) - postgresql (0.1.0) - redis (0.1.0) - monitoring (0.1.0) - registry (0.1.0) - mattermost (0.1.0) - consul (0.1.0) - gitaly (0.1.0) - praefect (0.1.0) - gitlab-kas (0.1.0) - letsencrypt (0.1.0) - nginx (0.1.0) - runit (5.1.3) - acme (4.1.1) - crond (0.1.0) Installing Cookbook Gems: Compiling Cookbooks... ---------(途中省略)------------------------- Running handlers: Running handlers complete Chef Infra Client finished, 5/785 resources updated in 16 seconds gitlab Reconfigured!
GitLab再起動
gitlab-ctl restart
[root@SV-MARS gitlab]# gitlab-ctl restart ok: run: alertmanager: (pid 222764) 0s ok: run: gitaly: (pid 222774) 0s ok: run: gitlab-exporter: (pid 222805) 0s ok: run: gitlab-workhorse: (pid 222807) 1s ok: run: grafana: (pid 222813) 0s ok: run: logrotate: (pid 222822) 1s ok: run: nginx: (pid 222828) 0s ok: run: node-exporter: (pid 222837) 0s ok: run: postgres-exporter: (pid 222843) 1s ok: run: postgresql: (pid 222852) 0s ok: run: prometheus: (pid 222854) 1s ok: run: puma: (pid 222869) 0s ok: run: redis: (pid 222874) 1s ok: run: redis-exporter: (pid 222883) 0s ok: run: sidekiq: (pid 222966) 0s
GitLabからメール送信テスト
ログイン画面の「Forgot your password?」をクリック。
メールアドレスを入力して「Reset password」をクリック。
すぐに、GitLabから「Reset password instructions」というメールが届きました。
インフラエンジニアの勉強ができるオンライン学習サイト
Udemy (オンライン動画学習サイト)
Udemy(ユーデミー)は、オンラインで動画で学習できるサービスです。
ITエンジニア系の講座もたくさん公開されています。
Udemyの特徴
- ユーザー登録すれば、第1回の講座は無料で視聴できる
- 無料のコンテンツもある
- 過去に受講した人の人数や、受講した人の評価も表示されるので選びやすい