- PR -

qmail-smtpで大量のエラー発生

1
投稿者投稿内容
RUHAKO
常連さん
会議室デビュー日: 2004/12/11
投稿数: 38
投稿日時: 2005-10-10 09:30
みなさまお世話になっております。

Qmail+DaemonTools+Vpopmailをインストールいたしましたが、
どうしてもうまくいきません。
ご質問させてください。

使用OS: Debian Sarge Kernel2.6(i386)


問題は、tcpserver → qmail → daemontools → vpopmail
とインストールしたのですが、

daemontoolsを起動させてみると

3285 ? Ss 0:00 /bin/sh /command/svscanboot OLDPWD=/ HOME=/ TERM=linu
3348 ? S 0:00 \_ svscan /service PATH=/command:/usr/local/bin:/usr
3350 ? S 0:00 | \_ supervise qmail-send PATH=/command:/usr/local
3351 ? S 0:00 | \_ supervise log PATH=/command:/usr/local/bin:/u
3352 ? S 0:00 | \_ supervise qmail-smtpd PATH=/command:/usr/loca
5450 ? Z 0:00 | | \_ [tcpserver] <defunct>
3353 ? S 0:00 | \_ supervise log PATH=/command:/usr/local/bin:/u
3354 ? S 0:00 | \_ supervise qmail-pop3d PATH=/command:/usr/loca
3361 ? S 0:00 | | \_ /usr/local/bin/tcpserver -H -l ns.mydomain.com
3355 ? S 0:00 | \_ supervise log PATH=/command:/usr/local/bin:/u
3349 ? S 0:00 \_ readproctitle service errors: ...................


と、tcpserverが<defunct>になってしまっていましたので、
/var/log/qmail/smtpd/current のLogを確認してみると



@400000004349b3c122ba57bc tcpserver: fatal: unable to bind: address already used
@400000004349b3c224166d1c tcpserver: fatal: unable to bind: address already used
@400000004349b3c32563e44c tcpserver: fatal: unable to bind: address already used
@400000004349b3c426a33664 tcpserver: fatal: unable to bind: address already used

というようなエラーが滝のように出ていました。


Webで調べてみると、他の(imap4など)サービスが起動の邪魔をしてる場合がある
という内容のものをいくつか見つけましたが、
/etc/ineted.confを見ても、それらが起動する事に関する記述は見つかりませんし
ps -ef でプロセスを見ても、見つける事ができませんでした。


どのような理由が考えられるか、わかる方がおりましたら
ご教授お願いいたします。






[ メッセージ編集済み 編集者: RUHAKO 編集日時 2005-10-11 03:07 ]
anights
ぬし
会議室デビュー日: 2003/05/22
投稿数: 277
お住まい・勤務地: 東京
投稿日時: 2005-10-10 10:28
引用:

RUHAKOさんの書き込み (2005-10-10 09:30) より:
と、tcpserverが<defunct>になってしまっていましたので、
/var/log/qmail/smtpd/current のLogを確認してみると
@400000004349b3c122ba57bc tcpserver: fatal: unable to bind: address already used
@400000004349b3c224166d1c tcpserver: fatal: unable to bind: address already used
@400000004349b3c32563e44c tcpserver: fatal: unable to bind: address already used
@400000004349b3c426a33664 tcpserver: fatal: unable to bind: address already used

というようなエラーが滝のように出ていました。



tcpserverがtcp port 25番でbindしようとしていると仮定してですが

# netstat -tpl | grep smtp

としてみたらなにか結果が出ますか?
該当するプログラムがあるようでしたらそのプログラムが25番ポートを
占有してしまっていると思いますが。。。

psコマンドの結果で判断つかない場合は上記のようなことも
調べられると良いかと。

あとは、qmail-smtpdの起動スクリプトでportの指定など記述ミスが
無いかとかも確認された方が良いかもしれません。
他のデーモンとバッティングしている可能性もありますので。
RUHAKO
常連さん
会議室デビュー日: 2004/12/11
投稿数: 38
投稿日時: 2005-10-10 10:30
自己レスです。

netstat -ap を確認してみたところ


galaxy:~# netstat -ap
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 *:cvspserver *:* LISTEN 2803/inetd
tcp 0 0 *op3 *:* LISTEN 3362/tcpserver
tcp 0 0 *:sunrpc *:* LISTEN 2444/portmap
tcp 0 0 *:canna *:* LISTEN 2713/cannaserver
tcp 0 0 localhost.localdom:1012 *:* LISTEN 2956/famd
tcp 0 0 221xyyyx199xyyy.omain *:* LISTEN 2684/named
tcp 0 0 localhost.locald:domain *:* LISTEN 2684/named
tcp 0 0 *:smtp *:* LISTEN 2797/exim4
tcp 0 0 localhost.localdoma:953 *:* LISTEN 2684/named
tcp6 0 0 *:ssh *:* LISTEN 2814/sshd
tcp6 0 0 *:smtp *:* LISTEN 2797/exim4
tcp6 0 0 ip6-localhost:953 *:* LISTEN 2684/named
tcp6 0 0 221xyyyx199xyyy.ap2:ssh 221xyyyx199xyyy.ap:4098 ESTABLISHED3383/sshd: user2 [p
udp 0 0 *:32768 *:* 2684/named
udp 0 0 221xyyyx199xyyy.omain *:* 2684/named
udp 0 0 localhost.locald:domain *:* 2684/named
udp 0 0 *:sunrpc *:* 2444/portmap
udp6 0 0 *:32769 *:* 2684/named



というように、exim4がsmtpポートを塞いでしまっているのがわかりました。
しかしこのモジュールは、apt-get removeで削除してあるものなのです。

/etc/inet.d.conf 等をみても、起動にこのモジュールの起動にかかわる項目は
ありませんでした。

debianにて、このポートをexim4にて使用しなくする方法をお知りの方おりましたら、
返信よろしくお願いいたします。



[ メッセージ編集済み 編集者: RUHAKO 編集日時 2005-10-11 03:06 ]
RUHAKO
常連さん
会議室デビュー日: 2004/12/11
投稿数: 38
投稿日時: 2005-10-10 10:33
anightsさま

ご返信ありがとうございます。

# netstat -tpl | grep smtp
tcp 0 0 *:smtp *:* LISTEN 2797/exim4
tcp6 0 0 *:smtp *:* LISTEN 2797/exim4

やはりexim4がポートを塞いでいると出てきております。−^;

[ メッセージ編集済み 編集者: RUHAKO 編集日時 2005-10-10 10:35 ]
RUHAKO
常連さん
会議室デビュー日: 2004/12/11
投稿数: 38
投稿日時: 2005-10-10 10:50
またまた自己レスになります。


某サイトで、プリインストールモジュールの停止方法が記されている記事を見つける事ができました。

# /etc/init.d/exim4 stop
# update-rc.d -f exim4 remove

以下のコマンドを入力しましたら、全てうまく起動いたしました。

anightsさま、皆様、
ありがとうございました。



1

スキルアップ/キャリアアップ(JOB@IT)