私はFedora 24サーバーにDovecotメールサーバーを設定しようとしています(これまではほとんど成功しませんでした)。 Dovecotをインストールしてconfファイルを設定しましたが、すべてが正常です。しかし、私が実行したとき:
systemctl restart dovecot
confファイルを編集すると、次のメッセージが表示されます。
Job for dovecot.service failed because the control process exited with error code. See "systemctl status dovecot.service" and "journalctl -xe" for details
実行するとsystemctl status dovecot.service
他のエラーが発生しました。
[root@fedora app]# systemctl status dovecot.service
● dovecot.service - Dovecot IMAP/POP3 email server
Loaded: loaded (/usr/lib/systemd/system/dovecot.service; disabled; vendor preset: disabled)
Active: failed (Result: exit-code) since Tue 2016-08-16 15:02:30 UTC; 37min ago
Docs: man:dovecot(1)
http://wiki2.dovecot.org/
Process: 11293 ExecStart=/usr/sbin/dovecot (code=exited, status=89)
Process: 11285 ExecStartPre=/usr/libexec/dovecot/prestartscript (code=exited, status=0/SUCCESS)
Aug 16 15:02:30 fedora dovecot[11293]: Error: service(imap-login): listen(*, 993) failed: Address already in use
Aug 16 15:02:30 fedora dovecot[11293]: master: Error: service(imap-login): listen(*, 993) failed: Address already in use
Aug 16 15:02:30 fedora dovecot[11293]: Error: service(imap-login): listen(::, 993) failed: Address already in use
Aug 16 15:02:30 fedora dovecot[11293]: master: Error: service(imap-login): listen(::, 993) failed: Address already in use
Aug 16 15:02:30 fedora dovecot[11293]: Fatal: Failed to start listeners
Aug 16 15:02:30 fedora dovecot[11293]: master: Fatal: Failed to start listeners
Aug 16 15:02:30 fedora systemd[1]: dovecot.service: Control process exited, code=exited status=89
Aug 16 15:02:30 fedora systemd[1]: Failed to start Dovecot IMAP/POP3 email server.
Aug 16 15:02:30 fedora systemd[1]: dovecot.service: Unit entered failed state.
Aug 16 15:02:30 fedora systemd[1]: dovecot.service: Failed with result 'exit-code'.
実行しようとしましたが、lsof -i | grep 993
プロセスは作成されません。この問題を解決する方法を知っていますか?
答え1
netstat
多くのネットワーク関連の問題を解決しようとすると友達です。使用する受信ポートを見つけるにはnetstat -tulpn | grep :<port number>
たとえば、ポート22でリッスンしているPIDを見つけるには、次のようにします。
netstat -tulpn | grep :22
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 3062/sshd
これは、pid 3062を使用するsshdがポート22でリッスンしていることを知らせます。
答え2
ss
ポート番号を見つけるよりも体系的で正確なソリューションを使用したい場合があります。
# ss -t -l 'sport = 22'
State Recv-Q Send-Q Local Address:Port Peer Address:Port
LISTEN 0 128 *:ssh *:*
LISTEN 0 128 :::ssh :::*