メッセージ

2005年02月27日の記事

2005/02/27(日)qmailインストール

2005/02/27 21:00 PC(Linux)
qmailインストールまでの作業ログ。
紆余曲折があったので、最終到達地点を明確にしてからログを書こう。

・最終到達地点(目標ではなく結果論)
  • qmail鯖立て
-外部からIMAP可能
-外部からPOP・自ドメイン宛以外のSMTP禁止
-内部(EZ!go上)からPOP可能
  • EZ!go上でmewを使ってメール送受信可能
-urara@dt8.jp宛のメールは、外からIMAPでも取れるしiij4uへも転送する(いずれ片方だけにする)

IMAPは使ったことがなかったので、今回動かしてみたいというのがある。
やったこと
[1]qmailインストール
[2]qmail設定
[3]courier-imapのインストール
[4]iptablesの設定
[5]everydnsの設定
[6]メール送受信確認
[7]mew + emacs調整
    • 詳細--
[1]qmailインストール
#apt-get install qmail-src
(3つ前の記事参照。確かucspi-tcp-srcも一緒に入ったと思う)
#dpkg --remove exim
#build-ucspi-tcp
#build-qmail

途中での設定ファイルの変更無し。問い合わせには全てEnter。
[2]qmail設定
基本的に参考サイトに従った。NS関係は実はちゃんと分かっていない。

(1)/var/qmail/control/defaultdomain
#touch defaultdomain
#emacs defaultdomain
--------
dt8.jp
--------
省略時に補完されるドメイン

(2)/var/qmail/control/locals
#touch locals
#emacs locals
--------
127.0.0.1
dt8.jp
--------
ローカルとして処理するドメイン

(3)/var/qmail/control/me
#touch me
#emacs me
--------
127.0.0.1
dt8.jp
--------
受信ホスト名

(4)/var/qmail/control/rcpthosts
#emacs rcpthosts
--------
127.0.0.1
dt8.jp
--------
サーバで処理する宛先ドメイン。

(5)aliasの設定
重要メルアドの転送設定。
/var/qmail/control/alias/.qmail-root
/var/qmail/control/alias/.qmail-postmaster
/var/qmail/control/alias/.qmail-mailer-daemon

--------
&urara@dd.iij4u.or.jp
--------
と書いた。そのうちMAILER-DAEMONとかは消すと思う。

(6)MailDirを作る
#su urara
$/usr/bin/maildirmake ~/Maildir
$emacs ~/.qmail
--------
./Maildir/
urara@dd.iij4u.or.jp
--------

(7)/etc/init.d/qmail書き換え
Maildirへの切り替えと、pop3dを動かす設定(自分向け)。qmailはデフォルトではpop3dを起動しないため設定ファイルを書き換える必要がある。

14,15c14,15
< alias_empty="|/usr/sbin/qmail-procmail" # procmail delivery to /var/spool/mail
< #alias_empty="./Maildir/" # This uses qmail prefered ~/Maildir/ directory
> #alias_empty="|/usr/sbin/qmail-procmail" # procmail delivery to /var/spool/mail
> alias_empty="./Maildir/" # This uses qmail prefered ~/Maildir/ directory

58,61c58,61
< #sh -c "start-stop-daemon --start --quiet --user root< # --exec /usr/bin/tcpserver -- -R -H< # 0 pop-3 /usr/sbin/qmail-popup `hostname`.`dnsdomainname`< # /usr/bin/checkpassword /usr/sbin/qmail-pop3d Maildir &"
> sh -c "start-stop-daemon --start --quiet --user root> --exec /usr/bin/tcpserver -- -R -H> 0 pop-3 /usr/sbin/qmail-popup `hostname`.`dnsdomainname`> /usr/bin/checkpassword /usr/sbin/qmail-pop3d Maildir &"

71c71
< #start-stop-daemon --user root --stop --quiet --oknodo --exec /usr/bin/tcpserver
> start-stop-daemon --user root --stop --quiet --oknodo --exec /usr/bin/tcpserver

(8)qmailの起動
#/etc/init.d/qmail start
もしくはもう動いているなら
#/etc/init.d/qmail restart
[3]courier-imapのインストール
qmailはデフォルトではIMAPを備えていないので、別途パッケージが必要。
#apt-get install courier-imap
#/etc/init.d/qmail restart
[4]iptablesの設定
(1)imapとsmtpを開けるために、/etc/init.d/iptables_setに以下を追加(saveは良くわかんないので使ってない)
--------
## smtp allow ##
iptables -A INPUT -p tcp --dport 25 -j ACCEPT
iptables -A INPUT -p tcp --sport 25 -j ACCEPT

## imap allow ##
iptables -A INPUT -p tcp --dport 143 -j ACCEPT
iptables -A INPUT -p tcp --sport 143 -j ACCEPT
--------

(2)iptables再起動
#/etc/init.d/iptables_set

(3)ポートスキャン
変なポートが開いてないかどうかWindowsマシンからSPPでポートスキャンをしておく。
でも結果の見方がよく分かってないので怪しげ。

[5]everydnsの設定
everydnsのサイトに行き、よく分からないままMXレコードに
Host type Value MX
dt8.jp MX dt8.jp 10

を追加した。
[6]メール送受信確認
・Windowsマシンからローカル/internet経由でIMAP受信を確認
・IMAP受信時にMaildir内のnew/のファイルがcur/に移動することを確認
・Windowsマシンからローカル/internet経由でurara@dt8.jp宛のメールが配信されることを確認

これだけのテストでは足りないと思う(そもそも自在に切れるネットワーク2系統無いとちゃんとしたテストは出来ないはず)。
[7]mew + emacs調整
ここが一番混乱した。間違い手順も記録しておく。
(1)IMインストール(間違い)
mewは入っているようだが、IMが入っていないようなのでインストールした。
#apt-get install im
#su urara
$imsetup

(2)IMアンインストール
imsetupの設定が反映されないと思ったら、mewは2.0以降IMを必要としなくなったらしい。昔はMHなんてのもなかったかい?
#dpkg -l |grep mew
ii mew 2.2-3 Messaging in the Emacs World

バージョンを確認。2.2-3だ。IMAPが使えない半端バージョン(のはず)。

#apt-get remove im

依存関係は出さないようなのでこのまま消去。

(3)mewの設定
~/.mew.elに設定を書く。

--------
(setq mew-name "urara")
(setq mew-user "urara")
(setq mew-mail-domain "dt8.jp")

(setq mew-smtp-server "localhost")

(setq mew-pop-user "urara")
(setq mew-pop-server "localhost")
(setq mew-pop-delete nil)

(setq mew-pop-auth 'pass)
--------
最低限で良いなら上三行も要らないかもしれない。

(setq mew-pop-delete nil)は受信したメールをサーバに残す。
(setq mew-pop-auth 'pass)はmewのデフォルトがAPOPなのでPOPで受け取れるようにする。


(4)emacs調整
emacs起動中はいちいちPOP3パスワードを入力しなくても良いようにする。emacsに以下の2行を追加
--------
;;パスワード維持
(setq mew-use-cached-passwd t)
--------

(5)mew上からメール送受信を確認

以上
[参考サイト]
http://sasapanda.com/toshi/linux/qmail.html
http://debikuro.ddo.jp/KuroBox/B010.html
http://www.f-bell.net/FreeBSD/qmail-control.html

[やり残し]
・APOP/POP before SMTP
 とりあえず外部からは使わないということで先送り。tcpserver起動コマンド列の解説がないと、どちらもきつい。debianパッケージと現バージョンと旧バージョンで、他に追加で必要になるパッケージが違うかもしれないのだよな。雑誌記事とかを足がかりに進んでこう。telnet server 110で確認したけど少なくとも現時点ではAPOPは動いていないはず。

・pop.dt8.jp, smtp.dt8.jpで分けて、もちろんメルアドは@dt8.jpにする。

・Maildir/mailboxの仕組み、およびIMAP/POP時の動作

・DNS(BIND立ち上げ)
 ホントDNSは苦手……

・POPとIMAPの共存
 POPでとってくるとIMAP消える……

・sslラップ

#それにしてもさっさとログの書き方の統一して、華式の内部インデックス性の低さと見にくさを何とかしないと!
OK キャンセル 確認 その他