Différences
Ci-dessous, les différences entre deux révisions de la page.
| Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
|
postfix_mysql_tls_sasl_1404 [Le 17/05/2014, 17:28] seb24 [Postfix] |
postfix_mysql_tls_sasl_1404 [Le 11/09/2022, 12:13] (Version actuelle) moths-art Suppression des espaces en fin de ligne (détecté et corrigé via le bot wiki-corrector (https://forum.ubuntu-fr.org/viewtopic.php?id=2067892) |
||
|---|---|---|---|
| Ligne 1: | Ligne 1: | ||
| ====== Installation de Postfix avec TLS, SASL, MySQL/MariaDb, Clamav, SpamAssassin Avec Ubuntu 14.04====== | ====== Installation de Postfix avec TLS, SASL, MySQL/MariaDb, Clamav, SpamAssassin Avec Ubuntu 14.04====== | ||
| - | Ce tutoriel s'inspire grandement du tutoriel réalisé publié ici : http://doc.ubuntu-fr.org/postfix_mysql_tls_sasl | + | Ce tutoriel s'inspire grandement du tutoriel réalisé publié ici : https://doc.ubuntu-fr.org/postfix_mysql_tls_sasl |
| - | J'utilise actuellement 3 serveurs : | + | J'utilise actuellement 3 serveurs : |
| * Un serveur sous Ubuntu 14.04 qui me servira de serveur email | * Un serveur sous Ubuntu 14.04 qui me servira de serveur email | ||
| * Un serveur sous Ubuntu 14.04 de base de donnée qui va héberger le contenu | * Un serveur sous Ubuntu 14.04 de base de donnée qui va héberger le contenu | ||
| Ligne 13: | Ligne 13: | ||
| Temps d'application : une bonne demi-heure. | Temps d'application : une bonne demi-heure. | ||
| - | [[http://www.postfix.org/|Postfix]] est un mta (Mail Transfer Agent, simple d'utilisation contrairement à Sendmail ou bien qmail. Postfix est utilisé par défaut chez Mac OS X, disponible sur GNU/Linux, la famille BSD et d'autres unix encore. | + | [[http://www.postfix.org/|Postfix]] est un mta (Mail Transfer Agent, simple d'utilisation contrairement à Sendmail ou bien qmail. Postfix est utilisé par défaut chez Mac OS X, disponible sur GNU/Linux, la famille BSD et d'autres unix encore. |
| Ce tuto vous permettra de mettre en place une solution multi-domaine basée sur des utilisateurs et domaines virtuels, couplée avec MySQL/MariaDb. A noter que Postfix peut être également couplé à LDAP et ProgresSQL. | Ce tuto vous permettra de mettre en place une solution multi-domaine basée sur des utilisateurs et domaines virtuels, couplée avec MySQL/MariaDb. A noter que Postfix peut être également couplé à LDAP et ProgresSQL. | ||
| Ligne 83: | Ligne 83: | ||
| GRANT ALL PRIVILEGES ON postfix.* TO "postfix"@"localhost" IDENTIFIED BY 'motdepasse'; | GRANT ALL PRIVILEGES ON postfix.* TO "postfix"@"localhost" IDENTIFIED BY 'motdepasse'; | ||
| - | Insertion des tables dans la base de données | + | Insertion des tables dans la base de données |
| USE postfix; | USE postfix; | ||
| Ligne 127: | Ligne 127: | ||
| quit; | quit; | ||
| - | On crée un dossier nommé vmail. Ce dossier regroupera les boîtes mail des utilisateurs. | + | On crée un dossier nommé vmail. Ce dossier regroupera les boîtes mail des utilisateurs. |
| $ groupadd -g 5000 vmail | $ groupadd -g 5000 vmail | ||
| Ligne 246: | Ligne 246: | ||
| GRANT ALL PRIVILEGES ON postfix.* TO "postfix"@"localhost" IDENTIFIED BY 'motdepasse'; | GRANT ALL PRIVILEGES ON postfix.* TO "postfix"@"localhost" IDENTIFIED BY 'motdepasse'; | ||
| - | Insertion des tables dans la base de données | + | Insertion des tables dans la base de données |
| USE postfix; | USE postfix; | ||
| Ligne 290: | Ligne 290: | ||
| quit; | quit; | ||
| - | On crée un dossier nommé vmail. Ce dossier regroupera les boîtes mail des utilisateurs. | + | On crée un dossier nommé vmail. Ce dossier regroupera les boîtes mail des utilisateurs. |
| $ groupadd -g 5000 vmail | $ groupadd -g 5000 vmail | ||
| Ligne 307: | Ligne 307: | ||
| virtual_transport = virtual | virtual_transport = virtual | ||
| virtual_uid_maps = static:5000 | virtual_uid_maps = static:5000 | ||
| - | # Support du quota | ||
| - | virtual_create_maildirsize = yes | ||
| - | virtual_mailbox_extended = yes | ||
| - | virtual_mailbox_limit_maps = mysql:/etc/postfix/mysql_virtual_mailbox_limit_maps.cf | ||
| - | virtual_mailbox_limit_override = yes | ||
| - | virtual_maildir_limit_message = Desole, la boite email de l'utilisateur est pleine, essayez plus tard. | ||
| - | virtual_overquota_bounce = yes | ||
| # Suport du relay | # Suport du relay | ||
| #relay_domains = mysql:/etc/postfix/mysql_relay_domains_maps.cf | #relay_domains = mysql:/etc/postfix/mysql_relay_domains_maps.cf | ||
| Ligne 418: | Ligne 411: | ||
| smtpd_tls_cert_file = /etc/postfix/smtpd.cert | smtpd_tls_cert_file = /etc/postfix/smtpd.cert | ||
| smtpd_tls_key_file = /etc/postfix/smtpd.key | smtpd_tls_key_file = /etc/postfix/smtpd.key | ||
| + | | ||
| + | ==== SASL ==== | ||
| + | |||
| + | Pour l'ajout du sasl mettez en fin de fichier de /etc/postfix/main.cf | ||
| + | |||
| + | # Support SASL | ||
| + | broken_sasl_auth_clients = yes | ||
| + | smtpd_recipient_restrictions = | ||
| + | permit_mynetworks, | ||
| + | permit_sasl_authenticated, | ||
| + | reject_non_fqdn_hostname, | ||
| + | reject_non_fqdn_sender, | ||
| + | reject_non_fqdn_recipient, | ||
| + | reject_unauth_destination, | ||
| + | reject_unauth_pipelining, | ||
| + | reject_invalid_hostname, | ||
| + | reject_rbl_client bl.spamcop.net, | ||
| + | reject_rbl_client sbl-xbl.spamhaus.org | ||
| + | smtpd_sasl_auth_enable = yes | ||
| + | smtpd_sasl_local_domain = $myhostname | ||
| + | smtpd_sasl_security_options = noanonymous | ||
| + | broken_sasl_auth_clients = yes | ||
| + | smtpd_sasl_type = cyrus | ||
| + | cyrus_sasl_config_path = /etc/postfix/sasl | ||
| + | |||
| + | On peut supprimer reject_rbl_client opm.blitzed.org, le projet étant abandonné depuis mai 2006 : [[http://wiki.blitzed.org/OPM_status]]. | ||
| + | |||
| + | Créez le fichier /etc/postfix/sasl/smtpd.conf et ajoutez : | ||
| + | |||
| + | pwcheck_method: saslauthd | ||
| + | mech_list: login plain | ||
| + | saslauthd_path: /var/spool/postfix/var/run/saslauthd/mux | ||
| + | |||
| + | Editez le fichier /etc/default/saslauthd de façon à ce qu'il ait la configuration suivante | ||
| + | |||
| + | START=yes | ||
| + | MECHANISMS="pam" | ||
| + | OPTIONS="-c -r -m /var/spool/postfix/var/run/saslauthd" | ||
| + | |||
| + | | ||
| + | Créez les répertoires et attribuez les droits. | ||
| + | |||
| + | mkdir -p /var/spool/postfix/var/run/saslauthd | ||
| + | chown -R root:sasl /var/spool/postfix/var/run/saslauthd | ||
| + | chmod 710 /var/spool/postfix/var/run/saslauthd | ||
| + | |||
| + | |||
| + | Créez un lien symbolique pour que cela fonctionne lorsque postfix est chrooter [sionib] : | ||
| + | |||
| + | ln -s /var/spool/postfix/var/run/saslauthd /var/run/saslauthd | ||
| + | |||
| + | <note warning> Depuis au moins Ubuntu 14.04, le lien symbolique disparaît à chaque reboot. Comme workaround, éditez /etc/init.d/rc.local : | ||
| + | |||
| + | sudo vi /etc/init.d/rc.local | ||
| + | |||
| + | |||
| + | Et ajoutez ces lignes tout à la fin du fichier : | ||
| + | |||
| + | /bin/sleep 5 | ||
| + | ln -s /var/spool/postfix/var/run/saslauthd /var/run/saslauthd | ||
| + | /etc/init.d/saslauthd restart | ||
| + | |||
| + | Ainsi le lien sera recréé à chaque reboot et sasl fonctionnera correctement. | ||
| + | |||
| + | </note> | ||
| + | |||
| + | Créez le fichier /etc/pam.d/smtp en prenant soin le cas échéant de remettre votre mot de passe. (chez moi il a fallu nommer ce fichier smtpd [jblanche]) | ||
| + | |||
| + | auth required pam_mysql.so user=postfix passwd=motdepasse host=127.0.0.1 db=postfix table=mailbox usercolumn=username passwdcolumn=password crypt=1 | ||
| + | account sufficient pam_mysql.so user=postfix passwd=motdepasse host=127.0.0.1 db=postfix table=mailbox usercolumn=username passwdcolumn=password crypt=1 | ||
| + | |||
| + | Redémarrez sasl | ||
| + | |||
| + | /etc/init.d/saslauthd restart | ||
| + | |||
| + | Rajouter l'utilisateur postfix au groupe sasl : | ||
| + | |||
| + | adduser postfix sasl | ||
| + | |||