GitLabのメールを設定する
inabaです。
最近、GitLabをRaspberry Piにインストールしました。
メール来ない問題
GitLabに新しいユーザで登録するとメールが来るはずなのですが、来ません。
Postfixの設定めんどくさい説
Postfixの設定をサクッとすればいけるかなーと思っていろいろ調べたらGmailのアカウントとかパスワードとか必要そうでめんどくさそう。
d.hatena.ne.jp
d.hatena.ne.jp
kkv.hatenablog.com
調べた結果
- Postfixがあるサーバまで正引きできるドメインが必要
- 正引きできるドメインがない場合はGmailを経由する方法が使える
- Gmailを経由する方法を仕様する場合はアカウントとパスワードを設定しないとならない。
という結果に。
Raspberry Piは自宅サーバなので固定IPではないし、PostfixにGmailのアカウント書くなら下記の方法で行けるのでPostfixは諦めた。
GitLabのSMTP設定
GitLabにはPostfixを使う以外に、外部SMTPサーバを使う設定ができる。
どうせパスワード設定するならこっちの設定をするほうがいい気がする。
・・・と思い、設定しようと思ったが、設定ファイルに平文でGmailのパスワード書くのは抵抗があるので、他のサービスを利用することにした。
Mailgun
10000通/月まで無料なので良いと思います。
今回はこのSMTPサービスを使用します。
登録はそんなに難しくないので手順に従って登録していきます。
手順参考:
デベロッパーフレンドリーなAPIベースのメール配信システムMailgun | 三度の飯とエレクトロン
ドメイン
Mailgunを使うにはドメインが必要です。
多少お金はかかります(自分の場合、.comで1,382円/年)が、1個あるとこういう時に遊べるので買っておくと良いと思います。
設定
SMTP settingsのMailgunの項目を参考にGitLabにSMTPサーバの設定をします。
# 設定ファイルを編集 $ sudo nano /etc/gitlab/gitlab.rb # GitLab再設定 $ sudo gitlab-ctl reconfigure
これでメールが来るようになります。
その他設定
external_url
メールは来るようになりますが、メールに書かれているURLがhttp://raspberrypi
から始まっていて、このままではアクセスできません。
なので
external_url 'http://raspberrypi'
を
external_url 'http://raspberrypi.local'
に変えます。
メールに書かれているURLがhttp://raspberrypi.local
で始まるようになり、アクセスができるようになります。
gitlab_email関連
送信元のメールアドレス等を設定します。
デフォルトでも支障はありませんが、せっかくなので自分のドメインのメールアドレス等に変えたほうが良いでしょう。
また、メールを受信したときに出る名前も変えられるので変えておきます。
gitlab_rails['gitlab_email_from'] = '<送信元アドレス>' gitlab_rails['gitlab_email_display_name'] = 'GitLab From Raspberry Pi' gitlab_rails['gitlab_email_reply_to'] = '<返信先アドレス>'
Postfixの削除
使わないのでPostfixは削除してしまって良いと思います。
設定等していないので、使うときはまたインストールすれば良いです。
# 設定ファイルも同時に削除できるpurgeで削除 $ sudo apt-get purge postfix Reading package lists... Done Building dependency tree Reading state information... Done The following packages will be REMOVED: postfix* 0 upgraded, 0 newly installed, 1 to remove and 5 not upgraded. After this operation, 3,095 kB disk space will be freed. Do you want to continue? [Y/n] Y (Reading database ... 98621 files and directories currently installed.) Removing postfix (2.11.3-1) ... Purging configuration files for postfix (2.11.3-1) ... Processing triggers for man-db (2.7.0.2-5) ... Processing triggers for libc-bin (2.19-18+deb8u6) ... # もう一度削除しようとすると不要なパッケージが見られる。 $ sudo apt-get purge postfix Reading package lists... Done Building dependency tree Reading state information... Done Package 'postfix' is not installed, so not removed The following package was automatically installed and is no longer required: ssl-cert Use 'apt-get autoremove' to remove it. 0 upgraded, 0 newly installed, 0 to remove and 5 not upgraded. # ssl-certも不要と出たので削除 $ sudo apt-get -y purge ssl-cert Reading package lists... Done Building dependency tree Reading state information... Done The following packages will be REMOVED: ssl-cert* 0 upgraded, 0 newly installed, 1 to remove and 5 not upgraded. After this operation, 104 kB disk space will be freed. (Reading database ... 98432 files and directories currently installed.) Removing ssl-cert (1.0.35) ... Purging configuration files for ssl-cert (1.0.35) ... Processing triggers for man-db (2.7.0.2-5) ... # 不要なパッケージが無いかもう一度実行 $ sudo apt-get -y purge ssl-cert Reading package lists... Done Building dependency tree Reading state information... Done Package 'ssl-cert' is not installed, so not removed 0 upgraded, 0 newly installed, 0 to remove and 5 not upgraded.
もう不要なパッケージはなさそうでした。
adminのメールアドレス設定
ついでに、adminのアドレスがadmin@example.com
になっているので受信可能なメールアドレスに変更します。
Web画面からrootでログインして、左のメニューからProfile Settingsを選択してメールアドレスを変更します。
まとめ
これで登録時にメールが来てGitLabを使い始めることができます。
今日はここまで。