FreeBSDサーバー構築マニュアル

Postfix Dovecot インストール


この章を始める前に下記の設定が必要です

「BIND インストール」

■procmailインストール
[root@ns1 ~]# cd /usr/ports/mail/procmail
[root@ns1 procmail]# make BATCH=yes install clean
[root@ns1 procmail]# cd

■postfixインストール
[root@ns1 ~]# cd /usr/ports/mail/postfix
[root@ns1 postfix]# make BATCH=yes WITH_SASL2=yes WITH_TLS=yes WITH_BDB=yes WITH_BDB_VER=42 install clean
[root@ns1 postfix]# rehash
[root@ns1 postfix]# cd

■main.cf編集
[root@ns1 ~]# cp /usr/local/etc/postfix/main.cf /usr/local/etc/postfix/main.cf.org
[root@ns1 ~]# vi /usr/local/etc/postfix/main.cf

#myhostname = host.domain.tld
↓
myhostname = ns1.freebsd.orz ←コメント解除&変更

#mydomain = domain.tld
↓
mydomain = freebsd.orz ←コメント解除&変更

#myorigin = $mydomain
↓
myorigin = $mydomain ←コメント解除

#inet_interfaces = all
↓
inet_interfaces = all ←コメント解除

#mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain
↓
mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain ←コメント解除

#alias_maps = hash:/etc/aliases
↓
alias_maps = hash:/etc/aliases ←コメント解除

#alias_database = hash:/etc/aliases
↓
alias_database = hash:/etc/aliases ←コメント解除

#home_mailbox = Maildir/
↓
home_mailbox = Maildir/ ←コメント解除

#mailbox_command = /some/where/procmail
↓
mailbox_command = /usr/local/bin/procmail ←コメント解除&変更

#smtpd_banner = $myhostname ESMTP $mail_name
↓
smtpd_banner = $myhostname ESMTP unknown ←コメント解除&変更

↓最終行に下記を記入
# Cyrus-SASL configuration
smtpd_sasl_auth_enable = yes
smtpd_sasl_local_domain = $myhostname
smtpd_sasl_security_options = noanonymous
smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination
broken_sasl_auth_clients = yes
message_size_limit = 10485760

※黄色い部分は環境に合わせて変更してください。

■saslauthdインストール
[root@ns1 ~]# cd /usr/ports/security/cyrus-sasl2-saslauthd
[root@ns1 cyrus-sasl2-saslauthd]# make BATCH=yes WITH_BDB=yes WITH_BDB_VER=42 install clean
[root@ns1 cyrus-sasl2-saslauthd]# rehash
[root@ns1 cyrus-sasl2-saslauthd]# cd

■SMTP-Auth設定 (※PAM認証の場合)
[root@ns1 ~]# vi /usr/local/lib/sasl2/smtpd.conf

↓下記を記入
pwcheck_method: saslauthd
mech_list: login plain
[root@ns1 ~]# vi /etc/rc.conf
saslauthd_enable="YES" ←追加(saslauthd起動)
saslauthd_flags="-a pam" ←追加(pam認証)
[root@ns1 ~]# /usr/local/etc/rc.d/saslauthd start

■SMTP-Auth設定 (※SASL認証の場合)
[root@ns1 ~]# vi /usr/local/lib/sasl2/smtpd.conf

↓下記を記入
pwcheck_method: auxprop
mech_list: login plain digest-md5 cram-md5
[root@ns1 ~]# vi /etc/rc.conf
saslauthd_enable="YES" ←追加(saslauthd起動)
saslauthd_flags="-a sasldb" ←追加(sasldb認証)
[root@ns1 ~]# /usr/local/etc/rc.d/saslauthd start [root@ns1 ~]# echo "hoge12345" | saslpasswd2 -p -u ns1.freebsd.orz -c hoge [root@ns1 ~]# sasldblistusers2 hoge@freebsd.orz: userPassword [root@ns1 ~]# chown cyrus:mail /usr/local/etc/sasldb2 [root@ns1 ~]# ll /usr/local/etc/sasldb2 -rw-r----- 1 cyrus mail 12288 Jan 15 21:47 /usr/local/etc/sasldb2

※黄色い部分は環境に合わせて変更してください。

ヒントヒント

「saslpasswd2 -u realm(ドメイン名) -p パスワード」でユーザーを追加します。
「-d」オプションでユーザーを削除します。( 例:saslpasswd2 -d hoge@ns1.freebsd.orz )
「sasldblistusers2」でユーザーを確認することができます。

■sendmail停止
[root@ns1 ~]# /etc/rc.d/sendmail stop
[root@ns1 ~]# vi /etc/rc.conf

↓最終行に下記を記入
sendmail_enable="NO"
sendmail_submit_enable="NO"
sendmail_outbound_enable="NO"
sendmail_msp_queue_enable="NO"
[root@ns1 ~]# vi /etc/periodic.conf
↓下記を記入
daily_clean_hoststat_enable="NO"
daily_status_mail_rejects_enable="NO"
daily_status_include_submit_mailq="NO"
daily_submit_queuerun="NO"
[root@ns1 ~]# mv /etc/mail/mailer.conf /etc/mail/mailer.conf.org [root@ns1 ~]# vi /etc/mail/mailer.conf
↓下記を記入
sendmail	/usr/local/sbin/sendmail
send-mail	/usr/local/sbin/sendmail
mailq		/usr/local/sbin/sendmail
newaliases	/usr/local/sbin/sendmail
[root@ns1 ~]# vi /etc/make.conf
↓最終行に下記を記入
NO_MAILWRAPPER=YES
NO_SENDMAIL=YES

■postfix起動
[root@ns1 ~]# vi /etc/rc.conf

postfix_enable="YES" ←追加(postfix起動)
[root@ns1 ~]# /usr/local/etc/rc.d/postfix start

■dovecotインストール
[root@ns1 ~]# cd /usr/ports/mail/dovecot
[root@ns1 dovecot]# make BATCH=yes install clean
[root@ns1 dovecot]# cd

■dovecot.conf編集
[root@ns1 ~]# cp /usr/local/etc/dovecot.conf /usr/local/etc/dovecot.conf.org
[root@ns1 ~]# chmod 644 /usr/local/etc/dovecot.conf
[root@ns1 ~]# vi /usr/local/etc/dovecot.conf

protocols = imap pop3 imaps pop3s managesieve
↓
protocols = imap pop3 imaps pop3s ←変更

#ssl = yes
↓
ssl = no ←コメント解除&変更

mail_location = mbox:~/mail/:INBOX=/var/mail/%u
↓
mail_location = maildir:~/Maildir ←変更
[root@ns1 ~]# vi /etc/rc.conf
dovecot_enable="YES" ←追加(dovecot起動)
[root@ns1 ~]# /usr/local/etc/rc.d/dovecot start

■メールエイリアスのデータベース再構築
[root@ns1 ~]# newaliases

■既存ユーザー用メールディレクトリ作成
[root@ns1 ~]# mkdir -p /home/hoge/Maildir/new
[root@ns1 ~]# mkdir -p /home/hoge/Maildir/cur
[root@ns1 ~]# mkdir -p /home/hoge/Maildir/tmp
[root@ns1 ~]# chmod -R 700 /home/hoge/Maildir
[root@ns1 ~]# chown -R hoge:hoge /home/hoge/Maildir

■新規ユーザー用メールディレクトリ作成
[root@ns1 ~]# mkdir -p /usr/share/skel/Maildir/new
[root@ns1 ~]# mkdir -p /usr/share/skel/Maildir/cur
[root@ns1 ~]# mkdir -p /usr/share/skel/Maildir/tmp
[root@ns1 ~]# chmod -R 700 /usr/share/skel/Maildir/

■Procmail設定
[root@ns1 ~]# vi /usr/local/etc/procmailrc

SHELL=/bin/sh
PATH=/bin:/usr/bin:/usr/local/bin
DROPPRIVS=yes
MAILDIR=$HOME/Maildir
DEFAULT=$MAILDIR/
#LOGFILE=$MAILDIR/procmail.log
#VERBOSE=ON # 詳細ログ出力

# 件名に「未承諾広告※」を含むメールを破棄する
:0
* ^Subject:.*=\?[Ii][Ss][Oo]-2022-[Jj][Pp]\?[Bb]\?GyRCTCQ\+NUJ6OS05cCIo
/dev/null

※件名に「未承諾広告※」を含むメールを破棄する。

■Procmailログローテーション
[root@ns1 ~]# vi /usr/local/etc/logrotate.d/procmail

/home/*/Maildir/procmail.log {
	monthly
	rotate 4
	missingok
}

■POP3接続確認
[root@ns1 ~]# telnet localhost 110

Trying ::1...
telnet: connect to address ::1: Connection refused
Trying 127.0.0.1...
Connected to localhost.freebsd.orz.
Escape character is '^]'.
+OK Dovecot ready.
USER hoge
+OK
PASS hoge12345
+OK Logged in.
LIST
+OK 0 messages:
.
QUIT
+OK Logging out.
Connection closed by foreign host.

※黄色い部分は環境に合わせて変更してください。

■BASE64エンコードでパスワード作成
[root@ns1 ~]# perl -MMIME::Base64 -e 'print encode_base64("hoge\0hoge\0hoge12345");'
aG9nZQBob2dlAGhvZ2UxMjM0NQ==
※黄色い部分は環境に合わせて変更してください。

ヒントヒント

※encode_base64()の書式:encode_base64("ユーザー名\0ユーザー名\0パスワード")

■SMTP接続確認
[root@ns1 ~]# telnet localhost 25

Trying ::1...
telnet: connect to address ::1: Connection refused
Trying 127.0.0.1...
Connected to localhost.freebsd.orz.
Escape character is '^]'.
220 ns1.freebsd.orz ESMTP Postfix
EHLO localhost
250-ns1.freebsd.orz
250-PIPELINING
250-SIZE 10240000
250-VRFY
250-ETRN
250-AUTH LOGIN PLAIN DIGEST-MD5 CRAM-MD5
250-AUTH=LOGIN PLAIN DIGEST-MD5 CRAM-MD5
250-ENHANCEDSTATUSCODES
250-8BITMIME
250 DSN
AUTH PLAIN aG9nZQBob2dlAGhvZ2UxMjM0NQ==
235 2.0.0 Authentication successful
QUIT
221 2.0.0 Bye
Connection closed by foreign host.

※黄色い部分は環境に合わせて変更してください。

■Outlook Expressの設定(POPの場合)

01.「ツール」>「アカウント」をクリック。



02.「追加」>「メール」をクリック。



03.「表示名」を記入して「次へ」をクリック。



04.「電子メールアドレス」を記入して「次へ」をクリック。



05.受信メールサーバー、送信メールサーバーのIPアドレスまたはホスト名を記入して「次へ」をクリック。



06.アカウント名とパスワードを記入して「次へ」をクリック。



07.「完了」をクリック。



08.「プロパティ」をクリック。



09.「このサーバーは認証が必要」にチェックを入れて「OK」をクリック。



10.「閉じる」をクリック。


■SMTP-AUTHで別のアカウントを使用する場合

11.アカウントのプロパティのサーバータブで「設定」をクリック。



12.「次のアカウントとパスワードでログオンする」を選択。
SMTP-Auth用のアカウントとパスワードを記入して「OK」をクリック。


■Outlook Expressの設定(IMAPの場合)

01.「ツール」>「アカウント」をクリック。



02.「追加」>「メール」をクリック。



03.「表示名」を記入して「次へ」をクリック。



04.「電子メールアドレス」を記入して「次へ」をクリック。



05.「受信メールサーバーの種類」から「IMAP」を選択。
受信メールサーバー、送信メールサーバーのIPアドレスまたはホスト名を記入して「次へ」をクリック。



06.アカウント名とパスワードを記入して「次へ」をクリック。



07.「完了」をクリック。



08.作成したアカウントを選択して「プロパティ」をクリック。



09.「このサーバーは認証が必要」にチェックを入れて「OK」をクリック。



10.「閉じる」をクリック。



11.「はい」をクリック。



12.「OK」をクリック。

外部に公開する場合

プロトコル(TCP)ポート25番(SMTP)を開放。
プロトコル(TCP)ポート110番(POP3)を開放。
プロトコル(TCP)ポート143番(IMAP)を開放。


Home PageTop Last updated 2010-05-21

このサイトはリンクフリーです。ご自由にリンクしてください。 Copyright freebsd.server-manual.com