user icon

CentOS Stream 9でRoundCubeの簡易テスト環境を作る

以前CentOS6でRoundCubeのテスト環境を作っていましたが、今回はCentOS Stream 9です。 postfixにSMTP認証がデフォルトで入っているらしく、無効にする事も考えましたが調査が必要そうなのと、それよりもSMTP認証をした方が早そうだったので、設定する事にしました。 SELinuxはpermissiveにして試しています。

PostfixとDovecot

インストールして有効化・起動します。
dnf -y install postfix dovecot
systemctl enable postfix dovecot
systemctl start postfix dovecot
設定は以前に加えてSMTP認証用の追加が必要になります。

/etc/dovecot/conf.d/10-master.conf

service auth内のunix_listener項を有効にして、user,groupを追加します。
service auth {
 unix_listener /var/spool/postfix/private/auth {
   mode = 0660
   user = postfix
   group = postfix        
 }
}

/etc/dovecot/conf.d/10-auth.conf

auth_mechanisms = plain login

/etc/dovecot/conf.d/10-mail.conf

mail_location = maildir:~/Maildir

/etc/postfix/main.cf

# myhostnameとhome_mailboxを編集
myhostname = localhost.localdomain
home_mailbox = Maildir/

# sasl認証関連を追加
smtpd_sasl_type = dovecot
smtpd_sasl_path = private/auth
smtpd_sasl_auth_enable = yes
smtpd_relay_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination
設定後はリロード
systemctl reload postfix dovecot

RoundCube

installer/ 等でconfigの設定をします。先にfirewall-cmdで80番ポートも空けておきます。
firewall-cmd --add-service http --permanent
firewall-cmd --reload

config/config.inc.php

IMAP, SMTPサーバともにlocalhost.localdomainを指定して、SMTPはポート25も指定します。
IMAPポートは変更の必要が有りません。
$config['default_host'] = 'localhost.localdomain';
$config['smtp_server'] = 'localhost.localdomain';
$config['smtp_port'] = 25;
送受信に問題ないか試します。installer内でチェックをしても良いし、RoundCubeへログインして送受信しても構いません。

SubmissionポートでSMTPを利用する

追加でSMTPのサブミッションポートを利用してみます。但しTLSは使わない形です。

/etc/postfix/master.cf

tls関連は面倒が出ないよう切ってしまいます。また、reject_sender_login_mismatchもlocalhostではNG(Temporary lookup failure)になったので切っておきます。
submission inet n - n - - smtpd
# -o smtpd_tls_security_level=encrypt
 -o smtpd_sasl_auth_enable=yes
 -o smtpd_sasl_type=dovecot
 -o smtpd_sasl_path=private/auth
 -o smtpd_sasl_security_options=noanonymous
 -o smtpd_sasl_local_domain=$myhostname
 -o smtpd_client_restrictions=permit_sasl_authenticated,reject
 -o smtpd_sender_login_maps=hash:/etc/postfix/virtual
# -o smtpd_sender_restrictions=reject_sender_login_mismatch
 -o smtpd_recipient_restrictions=reject_non_fqdn_recipient,reject_unknown_recipient_domain,permit_sasl_authenticated,reject
※最後の行が折り返して見えますが、-o smtpd_recipient_restrictions=…と一行です。
  • RoundCubeのconfig.inc.phpのsmtp_portを587にして送信出来れば成功です。
Facebooktwitterlinkedintumblrmail

タグ: , , ,

名前
E-mail
URL
コメント

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)