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 | ||
+ | |||