Postfix: Failed to start LSB: Postfix Mail Transport Agent
Résolu
valenrom97
-
zipe31 Messages postés 36402 Date d'inscription Statut Contributeur Dernière intervention -
zipe31 Messages postés 36402 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
Il y a quelques temps j’ai installé un serveur mail en suivant ce tutoriel https://www.youtube.com/watch?v=pe7x2o0Ys6s .
J’ai configuré une authentification avec courier-authdaemon qui me permet de m’identifier en TLS si je ne dis pas de bêtises.
Toute cette configuration a très bien fonctionné pendant plusieurs mois. Par ailleurs j’avais déjà une installation de serveur mail inspirée du même tutoriel mais sans le courier-authdaemon en TLS et ça a fonctionné pendant plusieurs années.
Depuis une coupure d’électricité ou depuis une mise à jour (je ne saurai vous dire) mon serveur mail ne veut plus démarrer. J’obtiens le message d’erreur suivant :
postconf: fatal: file /etc/postfix/master.cf: line 19: bad field count
postfix.service: Control process exited, code=exited status=1
Failed to start LSB: Postfix Mail Transport Agent.
postfix.service: Unit entered failed state.
postfix.service: Failed with result 'exit-code'.
J’ai regardé quelques questions qui traitent des erreurs similaires mais elles ne semblent pas réellement être identiques.
Lorsque je commente la ligne 19 du master.cf j’ai d’autres lignes qui bloquent plus bas. Bref, je finis par commenter toutes les lignes qui bloquent (toutes liées à l’authentification), je redémarre postfix et là ça fonctionne ! (Sauf que ma boite mail n’est plus du tout sécurisée) Alors je « décommente » les lignes préalablement commentées et je redémarre postfix, et là attention, ça fonctionne ! Mais si je redémarre complètement mon serveur (la machine) alors je retombe sur la même erreur, et il faut à nouveau jouer avec les lignes à commenter…
Auriez-vous quelques pistes à me donner afin de résoudre ce problème ?
Je glisse mon fichier de configuration master.cf, n’hésitez pas à me demander d’autres fichiers de configuration si cela peut vous aider à comprendre :)
Les lignes précédées par « ### -> » sont les fameuses lignes qui bloquent.
Merci beaucoup pour votre aide !
Il y a quelques temps j’ai installé un serveur mail en suivant ce tutoriel https://www.youtube.com/watch?v=pe7x2o0Ys6s .
J’ai configuré une authentification avec courier-authdaemon qui me permet de m’identifier en TLS si je ne dis pas de bêtises.
Toute cette configuration a très bien fonctionné pendant plusieurs mois. Par ailleurs j’avais déjà une installation de serveur mail inspirée du même tutoriel mais sans le courier-authdaemon en TLS et ça a fonctionné pendant plusieurs années.
Depuis une coupure d’électricité ou depuis une mise à jour (je ne saurai vous dire) mon serveur mail ne veut plus démarrer. J’obtiens le message d’erreur suivant :
postconf: fatal: file /etc/postfix/master.cf: line 19: bad field count
postfix.service: Control process exited, code=exited status=1
Failed to start LSB: Postfix Mail Transport Agent.
postfix.service: Unit entered failed state.
postfix.service: Failed with result 'exit-code'.
J’ai regardé quelques questions qui traitent des erreurs similaires mais elles ne semblent pas réellement être identiques.
Lorsque je commente la ligne 19 du master.cf j’ai d’autres lignes qui bloquent plus bas. Bref, je finis par commenter toutes les lignes qui bloquent (toutes liées à l’authentification), je redémarre postfix et là ça fonctionne ! (Sauf que ma boite mail n’est plus du tout sécurisée) Alors je « décommente » les lignes préalablement commentées et je redémarre postfix, et là attention, ça fonctionne ! Mais si je redémarre complètement mon serveur (la machine) alors je retombe sur la même erreur, et il faut à nouveau jouer avec les lignes à commenter…
Auriez-vous quelques pistes à me donner afin de résoudre ce problème ?
Je glisse mon fichier de configuration master.cf, n’hésitez pas à me demander d’autres fichiers de configuration si cela peut vous aider à comprendre :)
Les lignes précédées par « ### -> » sont les fameuses lignes qui bloquent.
Merci beaucoup pour votre aide !
# # Postfix master process configuration file. For details on the format # of the file, see the master(5) manual page (command: "man 5 master" or # on-line: http://www.postfix.org/master.5.html). # # Do not forget to execute "postfix reload" after editing this file. # # ========================================================================== # service type private unpriv chroot wakeup maxproc command + args # (yes) (yes) (no) (never) (100) # ========================================================================== smtp inet n - - - - smtpd #smtp inet n - y - 1 postscreen #smtpd pass - - y - - smtpd #dnsblog unix - - y - 0 dnsblog #tlsproxy unix - - y - 0 tlsproxy #submission inet n - y - - smtpd # -o syslog_name=postfix/submission ### -> -o smtpd_tls_security_level=encrypt ### -> -o smtpd_sasl_auth_enable=yes # -o smtpd_reject_unlisted_recipient=no # -o smtpd_client_restrictions=$mua_client_restrictions # -o smtpd_helo_restrictions=$mua_helo_restrictions # -o smtpd_sender_restrictions=$mua_sender_restrictions # -o smtpd_recipient_restrictions= # -o milter_macro_daemon_name=ORIGINATING # -o smtpd_client_restrictions=permit_mynetworks,permit_sasl_authenticated,reject #-o smtpd_client_restrictions=permit_sasl_authenticated,reject ### -> -o smtpd_helo_restrictions=permit_mynetworks,permit ### -> -o smtpd_recipient_restrictions = permit_sasl_authenticated, reject_unauth_destination # --- Block relay if not logged ### -> -o smtpd_sender_restrictions = reject_unknown_sender_domain # --- Block rellay if not logged smtps inet n - y - - smtpd # -o syslog_name=postfix/smtps # -o smtpd_tls_wrappermode=yes # -o smtpd_sasl_auth_enable=yes # -o smtpd_reject_unlisted_recipient=no # -o smtpd_client_restrictions=$mua_client_restrictions # -o smtpd_helo_restrictions=$mua_helo_restrictions # -o smtpd_sender_restrictions=$mua_sender_restrictions # -o smtpd_recipient_restrictions= ### -> -o smtpd_relay_restrictions=permit_sasl_authenticated,reject # -o milter_macro_daemon_name=ORIGINATING #628 inet n - y - - qmqpd pickup unix n - y 60 1 pickup cleanup unix n - y - 0 cleanup qmgr unix n - n 300 1 qmgr #qmgr unix n - n 300 1 oqmgr tlsmgr unix - - y 1000? 1 tlsmgr rewrite unix - - y - - trivial-rewrite bounce unix - - y - 0 bounce defer unix - - y - 0 bounce trace unix - - y - 0 bounce verify unix - - y - 1 verify flush unix n - y 1000? 0 flush proxymap unix - - n - - proxymap proxywrite unix - - n - 1 proxymap smtp unix - - y - - smtp relay unix - - y - - smtp # -o smtp_helo_timeout=5 -o smtp_connect_timeout=5 showq unix n - y - - showq error unix - - y - - error retry unix - - y - - error discard unix - - y - - discard local unix - n n - - local virtual unix - n n - - virtual lmtp unix - - y - - lmtp anvil unix - - y - 1 anvil scache unix - - y - 1 scache # # ==================================================================== # Interfaces to non-Postfix software. Be sure to examine the manual # pages of the non-Postfix software to find out what options it wants. # # Many of the following services use the Postfix pipe(8) delivery # agent. See the pipe(8) man page for information about ${recipient} # and other message envelope options. # ==================================================================== # # maildrop. See the Postfix MAILDROP_README file for details. # Also specify in main.cf: maildrop_destination_recipient_limit=1 # maildrop unix - n n - - pipe flags=DRhu user=vmail argv=/usr/bin/maildrop -d ${recipient} # # ==================================================================== # # Recent Cyrus versions can use the existing "lmtp" master.cf entry. # # Specify in cyrus.conf: # lmtp cmd="lmtpd -a" listen="localhost:lmtp" proto=tcp4 # # Specify in main.cf one or more of the following: # mailbox_transport = lmtp:inet:localhost # virtual_transport = lmtp:inet:localhost # # ==================================================================== # # Cyrus 2.1.5 (Amos Gouaux) # Also specify in main.cf: cyrus_destination_recipient_limit=1 # #cyrus unix - n n - - pipe # user=cyrus argv=/cyrus/bin/deliver -e -r ${sender} -m ${extension} ${user} # # ==================================================================== # Old example of delivery via Cyrus. # #old-cyrus unix - n n - - pipe # flags=R user=cyrus argv=/cyrus/bin/deliver -e -m ${extension} ${user} # # ==================================================================== # # See the Postfix UUCP_README file for configuration details. # uucp unix - n n - - pipe flags=Fqhu user=uucp argv=uux -r -n -z -a$sender - $nexthop!rmail ($recipient) # # Other external delivery methods. # ifmail unix - n n - - pipe flags=F user=ftn argv=/usr/lib/ifmail/ifmail -r $nexthop ($recipient) bsmtp unix - n n - - pipe flags=Fq. user=bsmtp argv=/usr/lib/bsmtp/bsmtp -t$nexthop -f$sender $recipient scalemail-backend unix - n n - 2 pipe flags=R user=scalemail argv=/usr/lib/scalemail/bin/scalemail-store ${nexthop} ${user} ${extension} mailman unix - n n - - pipe flags=FR user=list argv=/usr/lib/mailman/bin/postfix-to-mailman.py ${nexthop} ${user}
1 réponse
Salut,
Alors je « décommente » les lignes préalablement commentées et je redémarre postfix, et là attention, ça fonctionne ! Mais si je redémarre complètement mon serveur (la machine) alors je retombe sur la même erreur, et il faut à nouveau jouer avec les lignes à commenter…Si ton problème se situe au démarrage, commence par jeter un œil aux journaux correspondants :
sudo less -Rr /var/log/boot.log
sudo less -Rr /var/log/syslog
dmesg
/var/log/boot.log est vide
/var/log/syslog contient 6 lignes concernant postfix (les même que celles présentes dans ma question initiale) :
dmesg | grep postfix ne renvoie rien.
dmesg | grep lsb ne renvoie rien non plus.
Je me demande si le problème est réellement lié au redémarrage du serveur. A mon avis il s’agit plutôt d’un déblocage qui à lieu au moment ou je fais le jeu de commenter décommenter. Comme si cela permettait à un service dont postfix dépend de démarrer correctement, et une fois qu’il est démarré (le service), je peux à nouveau demander à postfix de reprendre en considération les lignes qui appellent ce service.
Au cas où le lien meurt, le dernier message dans ce post indique:
"Yes, looks like at least 2 spaces are needed for the indentation. Once space didn't work for me. "
Il fallait rajouter deux espaces devant ces lignes. Pourquoi ils n'y étaient pas.. mystère.
Merci beaucoup pour votre aide Zipe31 , mon problème est résolu, excellente journée !