Erreur de démarrage de Postfix Port 25: adresse déjà utilisée


19

J'essaie de faire tourner Postfix sur mon serveur mais continue à recevoir l'erreur suivante dans mon /var/log/mail.log:

postfix / master [5041]: fatal: bind 0.0.0.0 port 25: adresse déjà utilisée

J'ai fait quelques recherches et j'ai trouvé cette excellente réponse d'Oli (concernant cette même question) dans laquelle il est recommandé de débarrasser mon serveur des packages sendmail pour éviter les conflits, puis de réinstaller postfix, qui à son tour installera sa propre marque de sendmail. Malheureusement, cela n'a pas tout à fait résolu le problème (voir ci-dessous pour savoir comment).

J'ai suivi les instructions et effectué le contrôle suivant, auquel j'ai reçu une réponse encourageante:

$ dpkg -S `which sendmail`
postfix: /usr/sbin/sendmail

Cependant, quand j'ai recommencé postfix, j'ai eu la même erreur.

Conformément à la contingence d'Oli, j'ai cherché le processus qui accaparait le port 25 avec les éléments suivants:

$ sudo netstat -pel | grep smtp
tcp        0      0 localhost.localdom:smtp *:*                     LISTEN      root       
35704126    27626/sendmail: MTA

Mais voici où cela est devenu confus: j'ai ensuite cherché le processus 27626mais on m'a ensuite dit:

dpkg-query: aucun chemin trouvé correspondant au modèle 27626
connexions
.

J'ai tiré htop et j'ai pu trouver le PID ci-dessus associé à la commande suivante:

sendmail: MTA: acceptation des connexions

J'ai ensuite essayé de tuer le processus avec les deux killall sendmailet j'ai killall 27626continué no process found.

Le problème est (outre l'évidence), je ne sais pas comment interpréter ces résultats. J'ai nettoyé le serveur de sendmail, donc je ne peux que supposer que la propre version de sendmail de postfix détourne le port? Je ne sais même pas si cela a du sens.

Quoi qu'il en soit, si quelqu'un pouvait me poser des questions ou au moins poser des questions de diagnostic intéressantes, je l'apprécierais.

Au cas où cela serait utile, j'utilise virtualmin sur le serveur pour gérer plusieurs domaines différents et j'exécute également wordpress.

Merci d'avance!

En réponse à une demande, j'ai publié un ps -efci - dessous

root@upsmart:~# ps -ef
UID        PID  PPID  C STIME TTY          TIME CMD
root         1     0  0 Jan12 ?        00:00:00 init
root         2     1  0 Jan12 ?        00:00:00 [kthreadd/20017]
root         3     2  0 Jan12 ?        00:00:00 [khelper/20017]
root        68     1  0 Jan12 ?        00:00:00 upstart-udev-bridge --daemon
root        75     1  0 Jan12 ?        00:00:00 /sbin/udevd --daemon
root       110     1  0 Jan12 ?        00:00:00 /usr/sbin/sshd -D
root       130    75  0 Jan12 ?        00:00:00 /sbin/udevd --daemon
root       131    75  0 Jan12 ?        00:00:00 /sbin/udevd --daemon
root       175     1  0 Jan12 ?        00:00:00 upstart-socket-bridge --daemon
116        205     1  0 Jan12 ?        00:00:03 dbus-daemon --system --fork --activation=upstart
root       385     1  0 Jan12 ?        00:00:00 /usr/sbin/dovecot -F -c /etc/dovecot/dovecot.conf
root       386     1  0 Jan12 ?        00:00:04 cron
mysql      410     1  0 Jan12 ?        00:08:06 /usr/sbin/mysqld
dovecot    441   385  0 Jan12 ?        00:00:00 dovecot/anvil
root       442   385  0 Jan12 ?        00:00:00 dovecot/log
root       444   385  0 Jan12 ?        00:00:00 dovecot/config
syslog     445     1  0 Jan12 ?        00:00:08 /sbin/syslogd -u syslog
bind       474     1  0 Jan12 ?        00:00:12 /usr/sbin/named -u bind
clamav     844     1  0 Jan12 ?        00:01:34 /usr/sbin/clamd
clamav     951     1  0 Jan12 ?        00:03:27 /usr/bin/freshclam -d --quiet
list       969     1  0 Jan12 ?        00:00:00 /usr/bin/python /usr/lib/mailman/bin/mailmanctl -s -q start
list       970   969  0 Jan12 ?        00:01:03 /usr/bin/python /var/lib/mailman/bin/qrunner --runner=ArchRunner:0:1 -
list       971   969  0 Jan12 ?        00:01:10 /usr/bin/python /var/lib/mailman/bin/qrunner --runner=BounceRunner:0:1
list       972   969  0 Jan12 ?        00:01:03 /usr/bin/python /var/lib/mailman/bin/qrunner --runner=CommandRunner:0:
list       973   969  0 Jan12 ?        00:01:07 /usr/bin/python /var/lib/mailman/bin/qrunner --runner=IncomingRunner:0
list       974   969  0 Jan12 ?        00:01:01 /usr/bin/python /var/lib/mailman/bin/qrunner --runner=NewsRunner:0:1 -
list       976   969  0 Jan12 ?        00:01:05 /usr/bin/python /var/lib/mailman/bin/qrunner --runner=OutgoingRunner:0
list       978   969  0 Jan12 ?        00:01:06 /usr/bin/python /var/lib/mailman/bin/qrunner --runner=VirginRunner:0:1
list       980   969  0 Jan12 ?        00:00:00 /usr/bin/python /var/lib/mailman/bin/qrunner --runner=RetryRunner:0:1
root      1410     1  0 Jan12 ?        00:00:00 /usr/sbin/saslauthd -a pam -m /var/spool/postfix/var/run/saslauthd -r
root      1413  1410  0 Jan12 ?        00:00:00 /usr/sbin/saslauthd -a pam -m /var/spool/postfix/var/run/saslauthd -r
root      2034     1  0 Jan12 ?        00:00:09 /usr/bin/perl /usr/share/usermin/miniserv.pl /etc/usermin/miniserv.con
proftpd   2054     1  0 Jan12 ?        00:00:07 proftpd: (accepting connections)              
root      2096     1  0 Jan12 ?        00:00:13 /usr/bin/perl /usr/share/webmin/miniserv.pl /etc/webmin/miniserv.conf
root      2173     1  0 Jan12 ?        00:00:15 /usr/sbin/console-kit-daemon --no-daemon
root      2241     1  0 Jan12 ?        00:00:07 /usr/lib/policykit-1/polkitd --no-debug
root      4895     1  0 03:15 ?        00:00:00 /usr/sbin/xinetd -dontfork -pidfile /var/run/xinetd.pid -stayalive -in
www-data  6494 30181  0 03:41 ?        00:00:06 /usr/sbin/apache2 -k start
www-data  6497 30181  0 03:42 ?        00:00:06 /usr/sbin/apache2 -k start
www-data  6499 30181  0 03:42 ?        00:00:06 /usr/sbin/apache2 -k start
www-data  6500 30181  0 03:42 ?        00:00:07 /usr/sbin/apache2 -k start
root      9477 30027  0 05:09 pts/5    00:00:00 sudo ps -ef
root      9478  9477  0 05:09 pts/5    00:00:00 ps -ef
root     27626     1  0 02:44 ?        00:00:00 sendmail: MTA: accepting connections          
root     27902   110  0 02:51 ?        00:00:01 sshd: root@pts/4    
root     27998 27902  0 02:51 pts/4    00:00:01 -bash
root     29931   110  0 02:59 ?        00:00:03 sshd: root@pts/5    
root     30027 29931  0 02:59 pts/5    00:00:00 -bash
root     30181     1  0 03:00 ?        00:00:02 /usr/sbin/apache2 -k start
www-data 30183 30181  0 03:00 ?        00:00:00 /usr/sbin/apache2 -k start
www-data 30636 30181  0 03:06 ?        00:00:13 /usr/sbin/apache2 -k start

2
Avez-vous redémarré le serveur? En regardant les commentaires de la réponse d'Oli, le problème a disparu après un redémarrage.
douggro

Réponses:


18

J'ai rencontré le même problème sur Ubuntu 16.04.01 LTS. Le message de journal suivant s'est produit /var/log/mail.loget le courrier sortant n'a pas pu être envoyé:

postfix/master[5072]: fatal: bind 127.0.0.1 port 25: Address already in use

J'ai reçu la sortie suivante en essayant de tuer sendmail:

$ sudo killall sendmail
sendmail: no process found

Les commandes suivantes ont fonctionné pour moi (pas besoin de redémarrer le serveur):

sudo killall sendmail-mta
sudo service postfix restart

2
Cela a fonctionné pour moi! Gloire!
Thelambofgoat

10

J'ai eu le même problème et ce que j'ai fait, c'est seulement arrêter d'envoyer du courrier, redémarrer postfix et redémarrer sendmail avec les commandes suivantes:

service sendmail stop
service postfix restart
service sendmail start

Tout est revenu très bien.


9

Eh bien, la réponse est profondément insatisfaisante, mais après avoir brûlé quelques heures de travail aujourd'hui, j'ai redémarré le serveur et postfix est maintenant en cours d'exécution. Merci à tous ceux qui ont donné un aperçu.


5

Tuez simplement le processus sendmail et réessayez:

sudo kill 27626

ou

sudo killall sendmail

Merci pour la réponse Braiam. J'aurais dû préciser dans la question, j'ai en fait donné un coup à tous les deux et ça me donne un no process found. Je mettrai à jour la question avec ce peu d'informations.
neanderslob

killall sendmailn'a trouvé aucun processus pour moi, mais en a ps aux | grep sendmailmontré un en cours d'exécution, et tuer par son PID a résolu le problème. Il a été répertorié comme sendmail: MTA:[...]si je suppose que le processus démon réel a été renommé mais porte un nom différent. Malheureusement, je ne suis pas en mesure d'enquêter davantage moi-même pour le moment.
Synexis


1

Vous pouvez utiliser la fusercommande (en tant que root) pour obtenir la liste de tous les processus écoutant sur le port 25 et les tuer.

fuser -uv  25/tcp
fuser -kuv 25/tcp
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.