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しないこと!
設定ファイルは下記だが。
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 '/usr/local/etc/ssl/private/dovecot.pem'