- - PR -
daemontools でsmtpd pop3d がエラーになります
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2002-06-26 14:43
第9回 daemontoolosによるロギングとプロセス監視の記事を基にdemontoolsをインストールしました。qmailとqmail/logは何とか稼動させることが出来たのですが、 smtpd pop3dが起動しません。 smtpd/log pop3d/logは稼動しています。
qmailの導入から種々の設定まで、この連載を参考にしながら進めてきました。 不正中継対策で掲載された POP Before SMTP でrelay-crtl を使用しているため、今回掲載されたsmtpd・pop3dとは異なるスクリプトを使用していますが、これが原因でしょうか? smtpdのスクリプトは下記のとおりです。 #!/bin/sh PATH=/var/qmail/bin:/usr/local/bin:/bin:/usr/bin exec tcpserver -v -u 502 -g 501 -x /var/qmail/relay-ctrl/tcp.smtp.cdb 0 smtp \ /var/qmail/bin/qmail-smtpd 2>&1 pop3d #!/bin/sh PATH=/var/qmail/bin:/usr/local/bin:/bin:/usr/bin exec tcpserver -v 0 pop3 /var/qmail/bin/qmail-popup mail.hoge.com \ /bin/selectcheckpw /usr/sbin/relay-ctrl-allow /var/qmail/bin/qmail-pop3d \ Maildir 2>&1 /var/log/smtpd・/var/log/pop3d のエラーはおなじで @400000003d19446d384cba34 tcpserver: fatal: unable to bind: address already used となっています。 ここでも時間表示がおかしくなっているように思いますが、 date | ./tai64n | ./ tai64nlocal date | sh -c './multilog t e 2>&!' | ./tai64local の結果はともに正常に表示されています。 不足の情報があると思いますが、ご指摘ください。 よろしくご教示お願いします。 | ||||
|
投稿日時: 2002-06-26 16:22
初めまして、qoraさん。
以前、自分が「relay-ctrl 3が上手く動作しません」というタイトルで 載せたスレッドが役に立つかもしれません。このスレッドのちょっと下に 記載されていますので、参考になさってください。 ちなみに、relay-ctrlとdaemontoolsの導入には以下のURLを参考に させていただきました。 http://www.zdnet.co.jp/help/howto/security/special11/index.html よろしくお願いします。 _________________ + やいば - - http://wire.cside.to/ + | ||||
|
投稿日時: 2002-06-26 17:17
>tcpserver: fatal: unable to bind: address already used
エラーメッセージを見る限り、スクリプトの問題ではない思います。 smtpとpop3のポートで動いているプロセスがいるはずです。 inetdなどでsmtpやpop3の設定をしていませんか? もしくは、既にqmail-smtpdとqmail-pop3dが動いているとか。 #経験済み | ||||
|
投稿日時: 2002-06-26 18:54
tabbyさん早速のレス有難うございます
tabbyさんの書き込み (2002-06-26 17:17) より: >tcpserver: fatal: unable to bind: address already used エラーメッセージを見る限り、スクリプトの問題ではない思います。 smtpとpop3のポートで動いているプロセスがいるはずです。 inetdなどでsmtpやpop3の設定をしていませんか? OSはRedHat7.2ですが、/etc/xinetd.d下に smtpと pop3の設定ディレクトリは ありません。xinetd の場合ポート25.110を使用しないようにする必要があるのでしょうか その場合、設定の方法を教えてください。 もしくは、既にqmail-smtpdとqmail-pop3dが動いているとか。 svc-d /service/smtpd svc -d /service/pop3d で停止さらに上記を.を付加してmvしてsvcを終了させた後 再度書き換えて再起動しましたがメッセージはおなじになります。 よろしくお願いします。 #経験済み [/quote] | ||||
|
投稿日時: 2002-06-26 19:16
やいばさん有難うございます。
| ||||
|
投稿日時: 2002-06-26 20:22
念のために
netstat -l を実行してpop3とsmtpがないか確認してみてください。 -lのオプションがなければ-aあたりで。 ここに出ていなければ、私の考えが見当違いということです。 出ていれば、犯人探しです。 #lsofが便利だと思いますが、これって標準で入るのかな? | ||||
|
投稿日時: 2002-06-26 22:25
tabbyさん有難うございます。
>netstat -l の結果ですが tcp 0 0 *:pop3 *:* LISTEN tcp 0 0 *:smtp *:* LISTEN となります。ともにPortがListen状態のようですが、このPortは閉めておくのでしょうか qmailの設定で一度このポートはコメントアウトするようにという表示を見た記憶があるのですが・・xinetdになってからこのポートをコメントアウトする方法が分かりません。 Linux・qmailともまだ日が浅く分からないことだらけですが、よろしくお願いいたします。 | ||||
|
投稿日時: 2002-06-27 15:13
少しだけ説明を。
>netstat -l tcp 0 0 *:pop3 *:* LISTEN tcp 0 0 *:smtp *:* LISTEN 上の結果が示すのは、pop3とsmtpのポートでリスニングしているプロセスが あるということです。これが原因で、最初のエラー tcpserver: fatal: unable to bind: address already used が発生しています。このエラーは指定されたポートでリスナーを起動しようと したけど既に使われていますよということです。つまり、qmail-smtpd,qmail-pop3dが 要求するポートが使用中であるため、今回の状況が発生しています。 考えられる状況ですが、sendmail,popperが動作中という可能性が高いです。 chkconfig --listでsendmail,popperがいないか確認してください。 popperのほうは名前が違うかもしれませんので、popがつくようなものをチェックして ください。次に、見つかった場合の対処法ですが、 /etc/rc.d/init.d/sendmail stop /etc/rc.d/init.d/popper stop chkconfig --del sendmail chkconfig --del popper と実行し、プロセスを止めてください。 popのほうはxinetd経由で起動される可能性もあります。 その場合、/etc/xinetd.dの下にあるファイルをひとつずつ覗き、、 port = pop3(もしくは110) となっているファイルがあれば、削除してください。 その後、"kill -HUP xinetdのpid"を実行してxinetdを再起動してください。 ここまで実行した状態で再度netstat -lを実行してsmtp,popのポートが出てこなければ、qmail-smptd,qmail-pop3dを実行可能にしてあげてください。 補足 lsofというコマンドがインストールされていれば以下の方法で、 対象となるポートを使用しているプロセスを調べることができます。 lsof -i:pop3 lsof -i:smtp |