やっぱりドメインをとったらメールもね。
で、メールならやっぱりいまどきIMAPだよね。
ということで、いろいろやってみました。
セキュリティ面はまだザルですが、SMTP-AUTHとかいろいろやってみます。
とりあえずやり方をまとめておきます。(ちなみにUbuntu Feisty)
# apt-get install postfix
# apt-get install cyrus-imapd-2.2 cyrus-admin-2.2
# apt-get install libsasl2-2
まずは、必要なものをインストール。
最初に Postfix からコンフィグしてきます。
# vi /etc/postfix/main.cf
これで、mydestination変数をいじります。
うちの場合は
mydestination = moetora.com
こんな感じ。カンマで区切れば複数指定もできます。
で、後は Cyrus 側に LMTP でメールを送ってあげることを考えて
mailbox_transport = lmtp:unix:/var/run/cyrus/socket/lmtp
fallback_transport = lmtp:unix:/var/run/cyrus/socket/lmtp
この2行を追加。
/var/run/cyrus/socket/lmtpのあたりはディストリビューションによって違うかもしれませんが、
/etc/cyrus.conf の lmtpunix という行を見ればわかると思います。
この後、さらに
# vi /etc/postfix/master.cf
これで、lmtpの行を
lmtp unix - - n - - lmtp
こうします。
5つめのパラメータの n はchroot環境からは読み出せないようにします。
まあ、一般的には読み出せなくていいと思うので n にしておきましょう。
(O'reilly の Postfix 実用ガイドの受け売りですが)
そして、cyrus側の設定に入ります。
# vi /etc/imapd.conf
admins : cyrus
adminsを cyrus に変更します(まあしなくてもいいのですが)。
その後、管理者用のパスワードの設定と、メールボックスの作成です。
# saslpasswd2 -c cyrus
Password : ********
# cyradm --user cyrus localhost
Password : ******** (上のPasswordを入力)
localhost > cm user.user_name
localhost > quit
user_name にはユーザ名を適宜入力。
そして、その後、ユーザのパスワードを設定します。
# saslpasswd2 user_name
Password : ********
そして、これで、
# /etc/init.d/postfix restart
# /etc/init.d/cyrus2.2 restart
で、すべて解決!
と思ったら、/var/log/mail.logに
[/var/run/cyrus/socket/lmtp]: Permission denied
こんなことが吐き出されて、うまくいかない。
どうやら、/var/run/cyrus/socket ディレクトリのパーミッションが
drwxr-x--- 2 cyrus mail 80 Apr 23 14:11 socket
になっているのが問題みたい。
よって、ユーザ postfix を mail グループに足してあげて完了。
(パーミッションを変えても、Cyrusの再起動時に元にもどります)
これで、うまくいっているはず。
セキュリティ面の強化はまた今度。