popサーバ、dovecot2のインストール
popサーバを構築する。
LAN内にゆるーく作るので、とにかく手軽に。
手軽にというのはたとえば、imapとか要らない。pop3でいい。ただネットワーク内をパスワードが平文で流れるのは勘弁。
わざわざMaildirにする必要もなく、mbox形式で結構。
FreeBSD handbook 29.2.4.1章を眺めて、dovecot2を選んだ。
http://en.wikipedia.org/wiki/Dovecot_%28software%29
インストールと設定
インストールはportsで、mail/dovecot2から。設定はそのままで。
後述するが、make cleanしないこと!
設定ファイルは下記だが。
/usr/local/etc/dovecot
READMEがポツリ。
Configuration files go to this directory. See example configuration files in /usr/local/share/doc/dovecot/example-config/
ということでまるごとコピー。
# cd /usr/local/share/doc/dovecot/example-config/ # cp ./dovecot.conf /usr/local/etc/dovecot/ # cp -R ./conf.d /usr/local/etc/dovecot/
設定ファイルの書き換え。
受け付けるプロトコルの設定。dovecot.confにて。
pop3だけにした。
# Protocols we want to be serving. #protocols = imap pop3 lmtp protocols = pop3
メールボックスの場所
http://wiki2.dovecot.org/MailLocation のTypical settingsに沿う。
mboxで結構。
vi conf.d/10-mail.conf 以下を追加 #mail_location = mail_location = mbox:~/mail:INBOX=/var/mail/%u
SSL設定
LAN内なので、オレオレ証明書で十分。
http://wiki2.dovecot.org/SSL/DovecotConfiguration
http://wiki2.dovecot.org/SSL/CertificateCreation
上記を読むと、dovecot2にはオレオレ証明書を作ってくれるスクリプト、mkcert.shがついてくるそうな。
これは便利。
しかしこのスクリプトはインストールされない。make cleanしてはいけないというのはそのため。もちろん、あとからでも取り出せるけど。
ただ、デフォルトでは/etc/sslの下に証明書を書き込むようだ。
FreeBSDを使っているんだし、/usr/local/etc/sslの下にしたい。
では設定と作成。
conf.d/10-ssl.confにて。 # PEM encoded X.509 SSL/TLS certificate and private key. They're opened before # dropping root privileges, so keep the key file unreadable by anyone but # root. Included doc/mkcert.sh can be used to easily generate self-signed # certificate, just make sure to update the domains in dovecot-openssl.cnf #ssl_cert = </etc/ssl/certs/dovecot.pem #ssl_key = </etc/ssl/private/dovecot.pem ssl_cert = </usr/local/etc/ssl/certs/dovecot.pem ssl_key = </usr/local/etc/ssl/private/dovecot.pem
pem作成。
再び、http://wiki2.dovecot.org/SSL/CertificateCreation
Self-signed certificate creation
Dovecot includes a script to build self-signed SSL certificates using OpenSSL. In the source distribution this exists in doc/mkcert.sh. Binary installations usually create the certificate automatically when installing Dovecot and don't include the script.
繰り返しになるが、doc/mkcert.shはインストールされない。
portsでdovecot2を作ったところに戻る。
make cleanしてしまった場合、portmaster等でインストールした場合には、慌てず/usr/ports/mail/dovecot2/で「make extract」すればOK。そして、
$ cd /usr/ports/mail/dovecot2/work/dovecot-2.0.16/doc/
ここでスクリプトを実行してもよいし、どこかにコピーしてもよい。
俺様は、なんだか別のことにも使えそうなので、ホームディレクトリにコピーしておいた。スクリプトはdovecot-openssl.cnfを参照するのでこれもコピー。
$ cp ./mkcert.sh ~/bin/ $ cp ./dovecot-openssl.cnf ~/bin/
準備をして実行。以下はsh、あるいはbashでの例。
# mkdir /usr/local/etc/ssl # mkdir /usr/local/etc/ssl/private # mkdir /usr/local/etc/ssl/certs # SSLDIR=/usr/local/etc/ssl sh ./mkcert.sh Generating a 1024 bit RSA private key ..++++++ ..............++++++ writing new private key to '/usr/local/etc/ssl/private/dovecot.pem' ----- subject= /OU=IMAP server/CN=imap.example.com/emailAddress=postmaster@example.com SHA1 Fingerprint=FF:FF:FF:FF:FF:FF:FF:FE:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF
では/etc/rc.confを修正して、サーバ起動。
# vi /etc/rc.conf 以下を追加 dovecot_enable="YES" サーバ起動 # /usr/local/etc/rc.d/dovecot start
ログは/var/log/maillogにでる。
make cleanも忘れずに。
$ cd /usr/ports/mail/dovecot2/ # make clean