設定ガイド · 1 min read · Dec 31, 2025

Postfix、Courier、MySQL、SquirrelMailを使用した仮想ユーザーとドメイン (Fedora 14 x86_64) - ページ 3

9 Saslauthdの設定

/etc/sasl2/smtpd.confを編集します。次のようになります:

vi /etc/sasl2/smtpd.conf

| pwcheck_method: authdaemond log_level: 3 mech_list: PLAIN LOGIN authdaemond_path:/var/spool/authdaemon/socket |

その後、Sendmailをオフにし、Postfix、saslauthd、およびcourier-authlibを起動します:

chmod 755 /var/spool/authdaemon  
chkconfig --levels 235 courier-authlib on  
/etc/init.d/courier-authlib start
chkconfig --levels 235 sendmail off  
chkconfig --levels 235 postfix on  
chkconfig --levels 235 saslauthd on  
/etc/init.d/sendmail stop  
/etc/init.d/postfix start  
/etc/init.d/saslauthd start

10 Courierの設定

次に、CourierにMySQLデータベースに対して認証を行うように指示する必要があります。まず、/etc/authlib/authdaemonrcを編集し、authmodulelistの値を次のように変更します:

vi /etc/authlib/authdaemonrc

| [...] authmodulelist="authmysql" #authmodulelist="authuserdb authpam authpgsql authldap authmysql authcustom authpipe" [...] |

次に、/etc/authlib/authmysqlrcを編集します。次のようになります(再度、正しいデータベースの詳細を入力してください):

cp /etc/authlib/authmysqlrc /etc/authlib/authmysqlrc_orig  
cat /dev/null > /etc/authlib/authmysqlrc  
vi /etc/authlib/authmysqlrc

| MYSQL_SERVER localhost MYSQL_USERNAME mail_admin MYSQL_PASSWORD mail_admin_password MYSQL_PORT 0 MYSQL_DATABASE mail MYSQL_USER_TABLE users MYSQL_CRYPT_PWFIELD password #MYSQL_CLEAR_PWFIELD password MYSQL_UID_FIELD 5000 MYSQL_GID_FIELD 5000 MYSQL_LOGIN_FIELD email MYSQL_HOME_FIELD "/home/vmail" MYSQL_MAILDIR_FIELD CONCAT(SUBSTRING_INDEX(email,'@',-1),'/',SUBSTRING_INDEX(email,'@',1),'/') #MYSQL_NAME_FIELD MYSQL_QUOTA_FIELD quota |

その後、Courierを再起動します:

chkconfig --levels 235 courier-imap on  
/etc/init.d/courier-authlib restart  
/etc/init.d/courier-imap restart

courier-imapが初めて起動されると、自動的に/usr/lib/courier-imap/share/imapd.pemと/usr/lib/courier-imap/share/pop3d.pemの証明書ファイルが/usr/lib/courier-imap/etc/imapd.cnfおよび/usr/lib/courier-imap/etc/pop3d.cnfファイルから作成されます。これらの.cnfファイルにはCN=localhostという行が含まれていますが、私たちのサーバーはserver1.example.comという名前なので、TLS接続を使用する際に証明書が問題を引き起こす可能性があります。これを解決するために、両方の証明書を削除します…

cd /usr/lib/courier-imap/share  
rm -f imapd.pem  
rm -f pop3d.pem

…そして、/usr/lib/courier-imap/etc/imapd.cnfおよび/usr/lib/courier-imap/etc/pop3d.cnfのCN=localhost行をCN=server1.example.comに置き換えます:

vi /usr/lib/courier-imap/etc/imapd.cnf

| [...] CN=server1.example.com [...] |

vi /usr/lib/courier-imap/etc/pop3d.cnf

| [...] CN=server1.example.com [...] |

その後、両方の証明書を再作成します…

./mkimapdcert  
./mkpop3dcert

…そして、courier-authlibとcourier-imapを再起動します:

/etc/init.d/courier-authlib restart  
/etc/init.d/courier-imap restart

次のコマンドを実行することで

telnet localhost pop3

POP3サーバーが正しく動作しているか確認できます。+OK Hello there .と返されるはずです(quitと入力してLinuxシェルに戻ります):

[root@server1 share]# telnet localhost pop3  
Trying ::1...  
Connected to localhost.  
Escape character is '^]'.  
+OK Hello there.  
quit  
+OK Better luck next time.  
Connection closed by foreign host.  
[root@server1 share]#

11 /etc/aliasesの修正

次に、/etc/aliasesを開く必要があります。postmasterがrootを指し、rootが自分のユーザー名またはメールアドレスを指すようにしてください。例えば、次のように:

vi /etc/aliases

| [...] postmaster: root root: [email protected] [...] |

または、次のように(administratorが自分のユーザー名である場合):

| [...] postmaster: root root: administrator [...] |

/etc/aliasesを変更するたびに、次のコマンドを実行する必要があります:

newaliases

その後、Postfixを再起動します:

/etc/init.d/postfix restart
Share: X/Twitter LinkedIn

新しい投稿を受信箱で受け取る

スパムはありません。いつでも購読を解除できます。