Bonjour à tous,
Je suis actuellement en stage dans une boite d'info et j'ai des problèmes pour déployer un serveur mail, sur la base d'un backup (de la plupart) des fichiers de configuration d'un serveur mail sous mandrake ayant rendu l'âme.
Le serveur mail est un Postfix, avec une authentification SMTP passant par Cyrus-SASL et des certificats pour le SSL.
On relève les mails en POP3 avec Postfix directement, tandis que les mails en IMAP sont relevés avec Cyrus-IMAP.
La liste des utilisateurs est partagée par Postfix et Cyrus et est stockée dans une base de données sasldb. Cette dernière n'ayant pû etre backupée, j'ai juste crée quelques utilisateurs pour pouvoir tester le tout.
Le fait est que les fichiers de conf de Postfix/Cyrus sur l'ancien serveur mail étaient sur une mandrake avec un postfix ancienne version (2.1si mes souvenirs sont bons) alors que maintenant c'est une Debian avec la dernière version de Postfix en date. N'ayant pas encore beaucoup de connaissances sur les serveurs mails j'ai donc deja pas mal galéré à retrouver les bons paths pour que le tout ne plante pas dès le lancement.
Maintenant, j'arrive deja à envoyer des mails avec authentification en SSL par outlook, la commande de test telnet localhost 25 sur le serveur fonctionne puisqu'il s'affiche
Connected to localhost.
Escape character is '^]'.
220 primary.localdomain ESMTP Postfix (2.3.8) (Mandrake Linux)
ainsi que
testsaslauthd -u username -p password
sachant que j'ai crée des utilisateurs de la manière suivante :
saslpasswd2 david -u telecom.setec.fr
postmap /var/lib/sasl2/recipients
Mais voilà, impossible d'envoyer de mails, ou plutot de me connecter au serveur de mails, ni en passant par POP3 ni par IMAP.
Lorsque je teste leur ports respectifs avec telnet localhost 995 /993, j'arrive à me connecter, mais je n'ai aucun message "d'accueil.
Et je n'arrive pas a créer de boite mail pour les utilsateurs, puisque lorsque je tape:
cyradm localhost en tant qu'utilsateur cyrus ou meme root,
J'ai :
cyradm : cannot connect to server
alors que la commande /etc/init.d/cyrus2.2 lance bien le tout.
Je vois donc bien que le problème de réception de mail vient du service POP3 de Postfix et du service IMAP de Cyrus-IMAP qui ne veulent pas démarrer ou sont mal configurés, mais apres moult tentatives je n'arrive tjrs pas a établir de connection.
Peut etre quelqu'un pourrait-il m'aider ?
Je mets ici mes fichiers de conf, je ne les ai pas bcp retouchés sachant que la majorité de la configuration provient de l'ancien serveur:
Fichier /etc/postfix/main.cf
Code :
- # These are changed by postfix install script
- readme_directory = /usr/share/doc/postfix-2.1.5/README_FILES
- sample_directory = /usr/share/doc/postfix-2.1.5/samples
- html_directory = /usr/share/doc/postfix-2.1.5/html
- sendmail_path = /usr/sbin/sendmail.postfix
- setgid_group = postdrop
- command_directory = /usr/sbin
- manpage_directory = /usr/share/man
- daemon_directory = /usr/lib/postfix
- newaliases_path = /usr/bin/newaliases.postfix
- mailq_path = /usr/bin/mailq.postfix
- queue_directory = /var/spool/postfix
- mail_owner = postfix
- # User configurable parameters
- inet_interfaces = all
- mynetworks_style = subnet
- delay_warning_time = 30m
- bounce_queue_lifetime = 3d
- mailbox_size_limit = 102400000
- message_size_limit = 66000000
- smtpd_banner = $myhostname ESMTP $mail_name ($mail_version) (Mandrake Linux)
- unknown_local_recipient_reject_code = 450
- smtp-filter_destination_concurrency_limit = 2
- lmtp-filter_destination_concurrency_limit = 2
- smtpd_sasl_auth_enable = yes
- smtpd_sasl_security_options = noanonymous
- smtpd_recipient_restrictions = permit_sasl_authenticated, reject_unauth_destination
- local_recipient_maps = $alias_maps, hash:/var/lib/sasl2/recipients
- smtpd_sasl_path = /etc/postfix/sasl:/usr/lib/sasl2
- recipient_delimiter = +
- owner_request_special = no
- alias_maps = hash:/etc/postfix/aliases
- # , hash:/var/lib/mailman/data/aliases
- myorigin = $mydomain
- mydestination = $myhostname localhost.$mydomain $mydomain
- mailbox_transport = lmtp:unix:/var/lib/imap/socket/lmtp
- transport_maps = hash:/etc/postfix/transport_maps
- smtpd_use_tls = yes
- smtpd_tls_loglevel = 2
- smtpd_tls_CAfile = /etc/ssl/postfix/cacert.pem
- smtpd_tls_cert_file = /etc/ssl/postfix/primary.cert.pem
- smtpd_tls_key_file = /etc/ssl/postfix/primary.key.pem
- smtpd_use_tls = yes
- mtpd_tls_auth_only = yes
|
/etc/postfix/master.cf:
Code :
- # ==========================================================================
- # service type private unpriv chroot wakeup maxproc command + args
- # (yes) (yes) (yes) (never) (100)
- # ==========================================================================
- smtp inet n - n - - smtpd
- #submission inet n - n - - smtpd
- # -o smtpd_etrn_restrictions=reject
- smtps inet n - n - - smtpd
- -o smtpd_tls_wrappermode=yes -o smtpd_sasl_auth_enable=yes
- submission inet n - n - - smtpd
- # -o smtpd_etrn_restrictions=reject
- # -o smtpd_enforce_tls=yes -o smtpd_sasl_auth_enable=yes
- #628 inet n - n - - qmqpd
- pickup fifo n - n 60 1 pickup
- -o content_filter=
- -o receive_override_options=
- cleanup unix n - n - 0 cleanup
- qmgr fifo n - n 300 1 qmgr
- #qmgr fifo n - n 300 1 oqmgr
- tlsmgr unix - - n 300 1 tlsmgr
- rewrite unix - - n - - trivial-rewrite
- bounce unix - - n - 0 bounce
- defer unix - - n - 0 bounce
- trace unix - - n - 0 bounce
- verify unix - - n - 1 verify
- flush unix n - n 1000? 0 flush
- proxymap unix - - n - - proxymap
- smtp unix - - n - - smtp
- relay unix - - n - - smtp
- # -o smtp_helo_timeout=5 -o smtp_connect_timeout=5
- showq unix n - n - - showq
- error unix - - n - - error
- local unix - n n - - local
- virtual unix - n n - - virtual
- lmtp unix - - n - - lmtp
- anvil unix - - n - 1 anvil
- #
- # Interfaces to non-Postfix software. Be sure to examine the manual
- # pages of the non-Postfix software to find out what options it wants.
- #
- # maildrop. See the Postfix MAILDROP_README file for details.
- #
- maildrop unix - n n - - pipe
- flags=DRhu user=nobody argv=/usr/bin/maildrop -d ${recipient}
- cyrus-deliver unix - n n - - pipe
- user=cyrus argv=/usr/lib/cyrus-imapd/deliver -e -r ${sender} -m ${extension} ${user}
- #
- # for default cyrus socket placement
- cyrus unix - n n - - lmtp
- -o lmtp_cache_connection=yes
- #
- # if you configure cyrus socket in the chroot jail
- cyrus-chroot unix - - y - - lmtp
- -o lmtp_cache_connection=yes
- #
- # for lmtp to cyrus via tcp
- cyrus-inet unix - - y - - lmtp
- -o lmtp_cache_connection=yes
- -o lmtp_sasl_auth_enable=yes
- -o lmtp_sasl_password_maps=hash:/etc/postfix/cyrus_lmtp_sasl_pass
- -o lmtp_sasl_security_options=noanonymous
- uucp unix - n n - - pipe
- flags=Fqhu user=uucp argv=/usr/bin/uux -r -n -z -a$sender - $nexthop!rmail ($recipient)
- 127.0.0.1:10026 inet n - n - - smtpd
- -o content_filter=
- -o smtpd_restriction_classes=
- -o smtpd_client_restrictions=
- -o smtpd_helo_restrictions=
- -o smtpd_sender_restrictions=
- -o smtpd_recipient_restrictions=permit_mynetworks,reject
- -o mynetworks=127.0.0.0/8
- -o mynetworks_style=host
- -o strict_rfc821_envelopes=yes
- -o receive_override_options=no_unknown_recipient_checks,no_header_body_checks
- -o smtpd_client_connection_limit_exceptions=127.0.0.0/8
- lmtp-filter unix - - n - - lmtp
- -o lmtp_data_done_timeout=1200
- -o disable_dns_lookups=yes
- smtp-filter unix - - n - - smtp
- -o smtp_data_done_timeout=1200
- -o disable_dns_lookups=yes
- ##### END OF CONTENT FILTER CUSTOMIZATIONS #####
|
Le fichier /etc/postfix/sasl/smtpd.conf:
Code :
- # SASL library configuration file for postfix
- # all parameters are documented into:
- # /usr/share/doc/cyrus-sasl-2.*/options.html
- # The mech_list parameters list the sasl mechanisms to use,
- # default being all mechs found.
- mech_list: plain login
- # To authenticate using the separate saslauthd daemon, (e.g. for
- # system or ldap users). Also see /etc/sysconfig/saslauthd.
- #pwcheck_method: saslauthd
- #saslauthd_path: /var/lib/sasl2/mux
- # To authenticate against users stored in sasldb.
- pwcheck_method: auxprop
- auxprop_plugin: sasldb
- #sasldb_path: /var/lib/sasldb2
|
Fichier /etc/cyrus.conf:
Code :
- # standard standalone server implementation
- START {
- # do not delete this entry!
- recover cmd="ctl_cyrusdb -r"
- # this is only necessary if using idled for IMAP IDLE
- # idled cmd="idled"
- }
- # UNIX sockets start with a slash and are put into /var/lib/imap/sockets
- SERVICES {
- # add or remove based on preferences
- # imap cmd="imapd" listen="imap" prefork=5
- imaps cmd="imapd -s" listen="imaps" prefork=10
- # pop3 cmd="pop3d" listen="pop3" prefork=3
- pop3s cmd="pop3d -s" listen="pop3s" prefork=10
- # sieve cmd="timsieved" listen="sieve" prefork=0
- # these are only necessary if receiving/exporting usenet via NNTP
- # nntp cmd="nntpd" listen="nntp" prefork=3
- # nntps cmd="nntpd -s" listen="nntps" prefork=1
- # at least one LMTP is required for delivery
- # lmtp cmd="lmtpd" listen="lmtp" prefork=0
- lmtpunix cmd="lmtpd" listen="/var/lib/imap/socket/lmtp" prefork=1
- # this is only necessary if using notifications
- # notify cmd="notifyd" listen="/var/lib/imap/socket/notify" proto="udp" prefork=1
- }
- EVENTS {
- # this is required
- checkpoint cmd="ctl_cyrusdb -c" period=30
- # this is only necessary if using duplicate delivery suppression,
- # Sieve or NNTP
- delprune cmd="cyr_expire -E 3" at=0400
- # this is only necessary if caching TLS sessions
- tlsprune cmd="tls_prune" at=0400
- }
|
Et enfin /etc/imapd.conf:
Code :
- configdirectory: /var/lib/cyrus
- partition-default: /var/spool/cyrus/mail
- admins: cyrus
- allowanonymouslogin: no
- sieveusehomedir: no
- sievedir: /var/spool/sieve
- sendmail: /usr/sbin/sendmail
- hashimapspool: true
- sasl_pwcheck_method: auxprop
- sasl_mech_list: PLAIN
- tls_ca_file: /etc/ssl/cyrus-imapd/cacert.pem
- tls_cert_file: /etc/ssl/cyrus-imapd/primary.cert.pem
- tls_key_file: /etc/ssl/cyrus-imapd/primary.key.pem
- postuser: archives
- autocreatequota: 100000
- autocreateinboxfolders: INBOX
- defaultacl: anyone all
- lmtp_downcase_rcpt: 1
|
Voila, j'espère que ca fait pas trop de lignes de conf ^^