dovecotが起動できない(Address already in use) | 中目黒webデザインとランチブログ

dovecotが起動できない(Address already in use)

Linuxをインストールして一通りの設定が済み、再起動した際にIMAPとPOP3サーバのDovecotが起動しなった時の解決策です。

下記では、Dovecotを起動させようとして、「listen(993) failed: Address already in use」といったエラーが表示されています。


# /sbin/service dovecot start
Dovecot Imap を起動中: Fatal: listen(993) failed: Address already in use


Dovecotのポート993がすでに使われているというエラー内容です。lsof(LiSt Open File)コマンドで、993番ポートを使っているプロセスを調べることができます。


/usr/sbin/lsof -i :993
COMMAND PID USER FD TYPE DEVICE SIZE NODE NAME
rpc.statd 4627 rpcuser 7u IPv4 10672 TCP *:imaps (LISTEN)


rpc.statdが993番ポートを使っているようなので、まずはrpc.statdを起動しているサービスを調べます。


# grep rpc.statd /etc/init.d/*
/etc/init.d/nfslock: [ -x /sbin/rpc.statd ] || exit 5
/etc/init.d/nfslock: # Make sure the rpc.statd is not already running.
/etc/init.d/nfslock: if status rpc.statd > /dev/null ; then
/etc/init.d/nfslock: daemon rpc.statd "$STATDARG"
/etc/init.d/nfslock: killproc rpc.statd
/etc/init.d/nfslock: status rpc.statd
/etc/init.d/nfslock: /sbin/pidof rpc.statd >/dev/null 2>&1; STATD="$?"


上記の出力内容からnfslockがrpc.statdを起動していることがわかりました。サービスを停止し、自動起動しないように変更する必要があります。

nfslockを停止し、自動起動しないように設定します。


# /sbin/service nfslock stop
# /sbin/chkconfig nfslock off


chkconfigでnfslockの状態を確認します。


# /sbin/chkconfig --list nfslock
nfslock 0:off 1:off 2:off 3:off 4:off 5:off 6:off


以上でnfslockが停止し、次回からは自動起動もしません。
あとはDovecotを起動して終了です。


# /sbin/service dovecot start