popサーバを構築する。



LAN内にゆるーく作るので、とにかく手軽に。



手軽にというのはたとえば、imapとか要らない。pop3でいい。ただネットワーク内をパスワードが平文で流れるのは勘弁。



わざわざMaildirにする必要もなく、mbox形式で結構。



FreeBSD handbook 29.2.4.1章を眺めて、dovecot2を選んだ。



[http://en.wikipedia.org/wiki/Dovecot_%28software%29](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](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/DovecotConfiguration)



[http://wiki2.dovecot.org/SSL/CertificateCreation](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](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<br />
# mkdir /usr/local/etc/ssl/private<br />
# mkdir /usr/local/etc/ssl/certs<br />
# SSLDIR=/usr/local/etc/ssl sh ./mkcert.sh<br />
Generating a 1024 bit RSA private key<br />
..++++++<br />
..............++++++<br />
writing new private key to &#39;/usr/local/etc/ssl/private/dovecot.pem&#39;