Différences
Ci-dessous, les différences entre deux révisions de la page.
| Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
| postfix_mysql_tls_sasl [Le 18/08/2012, 17:36] – [Création des utilisateurs/domaines] 94.23.236.81 | postfix_mysql_tls_sasl [Le 11/09/2022, 11:53] (Version actuelle) – 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) moths-art | ||
|---|---|---|---|
| Ligne 8: | Ligne 8: | ||
| Ce tuto a été réalisé sur une Debian Etch. Il est compatible pour Ubuntu. | Ce tuto a été réalisé sur une Debian Etch. Il est compatible pour Ubuntu. | ||
| La mise en place d'une telle solution demande du temps ainsi qu'un certain niveau pour savoir étudier les logs s'il y a une erreur. | La mise en place d'une telle solution demande du temps ainsi qu'un certain niveau pour savoir étudier les logs s'il y a une erreur. | ||
| + | |||
| + | < | ||
| Niveau confirmé. | Niveau confirmé. | ||
| Temps d' | Temps d' | ||
| - | [[http:// | + | [[http:// |
| Ce tuto vous permettra de mettre en place une solution multi-domaine basée sur des utilisateurs et domaines virtuels, couplée avec MySQL. Postfix peut être couplé a 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. Postfix peut être couplé a LDAP et ProgresSQL. | ||
| Ligne 23: | Ligne 25: | ||
| Paquets principaux [[: | Paquets principaux [[: | ||
| + | |||
| + | <note warning> | ||
| + | < | ||
| <note tip>Chez moi, le package courier-authlib-mysql s' | <note tip>Chez moi, le package courier-authlib-mysql s' | ||
| Ligne 39: | Ligne 44: | ||
| mysqladmin -u root password ' | mysqladmin -u root password ' | ||
| </ | </ | ||
| + | |||
| ==== Postfix ==== | ==== Postfix ==== | ||
| Ligne 52: | Ligne 58: | ||
| GRANT ALL PRIVILEGES ON postfix.* TO " | GRANT ALL PRIVILEGES ON postfix.* TO " | ||
| - | Insertion des tables dans la base de données | + | Insertion des tables dans la base de données |
| USE postfix; | USE postfix; | ||
| Ligne 96: | Ligne 102: | ||
| 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 123: | Ligne 129: | ||
| # | # | ||
| - | Le smtp de postfix est chrooter, il faut donc le retirer afin d' | + | Le smtp de postfix est chrooté, il faut donc le retirer afin d' |
| # | # | ||
| Ligne 145: | Ligne 151: | ||
| Cela peut également vous servir le jour où vous désirez modifier le mot de passe...</ | Cela peut également vous servir le jour où vous désirez modifier le mot de passe...</ | ||
| - | mysql_virtual_alias_maps.cf | + | Creation des fichiers : mysql_virtual_alias_maps.cf, mysql_virtual_domains_maps.cf, |
| - | | + | |
| - | | + | |
| - | | + | |
| + | |||
| + | cat << EOF >/ | ||
| + | user = $MYSQL_USER | ||
| + | password = $MYSQL_PASSWORD | ||
| + | hosts = $MYSQL_HOST | ||
| dbname = postfix | dbname = postfix | ||
| query = SELECT goto FROM alias WHERE address=' | query = SELECT goto FROM alias WHERE address=' | ||
| - | + | EOF | |
| - | mysql_virtual_domains_maps.cf | + | |
| - | + | cat <<EOF >/ | |
| - | user = postfix | + | user = $MYSQL_USER |
| - | password = motdepasse | + | password = $MYSQL_PASSWORD |
| - | hosts = 127.0.0.1 | + | hosts = $MYSQL_HOST |
| dbname = postfix | dbname = postfix | ||
| query = SELECT domain FROM domain WHERE domain=' | query = SELECT domain FROM domain WHERE domain=' | ||
| #optional query to use when relaying for backup MX | #optional query to use when relaying for backup MX | ||
| #query = SELECT domain FROM domain WHERE domain=' | #query = SELECT domain FROM domain WHERE domain=' | ||
| - | + | EOF | |
| - | mysql_virtual_mailbox_maps.cf | + | |
| - | + | cat <<EOF >/ | |
| - | user = postfix | + | user = $MYSQL_USER |
| - | password = motdepasse | + | password = $MYSQL_PASSWORD |
| - | hosts = 127.0.0.1 | + | hosts = $MYSQL_HOST |
| dbname = postfix | dbname = postfix | ||
| query = SELECT maildir FROM mailbox WHERE username=' | query = SELECT maildir FROM mailbox WHERE username=' | ||
| - | + | EOF | |
| - | mysql_virtual_mailbox_limit_maps.cf | + | |
| - | + | cat << | |
| - | user = postfix | + | user = $MYSQL_USER |
| - | password = motdepasse | + | password = $MYSQL_PASSWORD |
| - | hosts = 127.0.0.1 | + | hosts = $MYSQL_HOST |
| dbname = postfix | dbname = postfix | ||
| query = SELECT quota FROM mailbox WHERE username=' | query = SELECT quota FROM mailbox WHERE username=' | ||
| - | + | EOF | |
| - | mysql_relay_domains_maps.cf | + | |
| - | + | cat << | |
| - | user = postfix | + | user = $MYSQL_USER |
| - | password = motdepasse | + | password = $MYSQL_PASSWORD |
| - | hosts = 127.0.0.1 | + | hosts = $MYSQL_HOST |
| dbname = postfix | dbname = postfix | ||
| query = SELECT domain FROM domain WHERE domain=' | query = SELECT domain FROM domain WHERE domain=' | ||
| + | EOF | ||
| Pour le bon fonctionnement et la sécurité il faut exécuter ces deux lignes de commandes | Pour le bon fonctionnement et la sécurité il faut exécuter ces deux lignes de commandes | ||
| Ligne 265: | Ligne 277: | ||
| warning: SASL authentication failure: cannot connect to saslauthd server: No such file or directory | warning: SASL authentication failure: cannot connect to saslauthd server: No such file or directory | ||
| - | Il faut ajouter, dans le fichier | + | Il faut ajouter, dans le fichier |
| saslauthd_path: | saslauthd_path: | ||
| Ligne 286: | Ligne 298: | ||
| - | Créez un lien symbolique pour que cela fonctionne lorsque postfix est chrooter | + | Créez un lien symbolique pour que cela fonctionne lorsque postfix est chrooté |
| ln -s / | ln -s / | ||
| Ligne 295: | Ligne 307: | ||
| ln -s / | ln -s / | ||
| + | |||
| + | </ | ||
| + | |||
| + | <note warning> Depuis au moins Ubuntu 14.04, le lien symbolique disparaît à chaque reboot. Comme workaround, éditez / | ||
| + | |||
| + | sudo vi / | ||
| + | |||
| + | |||
| + | Et ajoutez ces lignes tout à la fin du fichier : | ||
| + | |||
| + | / | ||
| + | ln -s / | ||
| + | / | ||
| + | |||
| + | Ainsi le lien sera recréé à chaque reboot et sasl fonctionnera correctement. | ||
| </ | </ | ||
| Ligne 351: | Ligne 378: | ||
| $ sudo apt-get install amavisd-new spamassassin clamav clamav-daemon zoo unzip arj bzip2 razor pyzor dcc-client | $ sudo apt-get install amavisd-new spamassassin clamav clamav-daemon zoo unzip arj bzip2 razor pyzor dcc-client | ||
| + | <note warning> les paquets dcc-client dcc-server dcc-common n' | ||
| Sous hardy 8.4, le paquet dcc-client n' | Sous hardy 8.4, le paquet dcc-client n' | ||
| Il est toujours possible de télécharger le paquet dcc-server (qui remplace dcc-client) via les paquets ubuntu cela marche avec la version 8.4 et la version 8.10. | Il est toujours possible de télécharger le paquet dcc-server (qui remplace dcc-client) via les paquets ubuntu cela marche avec la version 8.4 et la version 8.10. | ||
| - | Premièrement le paquet dcc-server a besoin de dcc-common pour fonctionner. | + | Premièrement le paquet dcc-server a besoin de dcc-common pour fonctionner. |
| - | * dcc-common : http:// | + | * dcc-common : https:// |
| - | * dcc-server : http:// | + | * dcc-server : https:// |
| Par exemple on peut procéder ainsi : | Par exemple on peut procéder ainsi : | ||
| Ligne 661: | Ligne 689: | ||
| ==== Spamassassin ==== | ==== Spamassassin ==== | ||
| - | Editez le fichier / | + | Avant tout, il faut créer l' |
| - | ENABLED=1 | + | sudo groupadd spamd |
| + | sudo useradd -g spamd -s / | ||
| + | sudo mkdir / | ||
| + | sudo chown spamd:spamd / | ||
| + | sudo mkdir / | ||
| + | sudo chown spamd:spamd / | ||
| + | |||
| + | Modifer le fichier / | ||
| + | |||
| + | ENABLED=1 | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| Editez le fichier / | Editez le fichier / | ||
| Ligne 701: | Ligne 742: | ||
| Démarrez le daemon spamassassin | Démarrez le daemon spamassassin | ||
| - | $ / | + | $ / |
| + | Pour dire à postfix d' | ||
| + | | ||
| + | par | ||
| + | | ||
| + | -o content_filter=spamassassin | ||
| + | et à la fin du fichier, ajoutez : | ||
| + | | ||
| + | | ||
| + | / | ||
| Créez le fichier / | Créez le fichier / | ||
| Ligne 780: | Ligne 830: | ||
| quit | quit | ||
| - | Si les tests sont ok, votre serveur de mail est opérationnel. | + | Si les tests sont ok, votre serveur de mail est opérationnel. |
| - | + | ||
| - | + | ||
| - | + | ||
| ===== Création des utilisateurs/ | ===== Création des utilisateurs/ | ||
| Ligne 805: | Ligne 851: | ||
| Les mots de passe seront à chiffrer via la fonction ENCRYPT sous PHPMyAdmin. | Les mots de passe seront à chiffrer via la fonction ENCRYPT sous PHPMyAdmin. | ||
| + | <note tip>Pour Postfix Admin je vous conseille de l' | ||
| Il existe une interface d' | Il existe une interface d' | ||
| Ligne 813: | Ligne 860: | ||
| ===== Création du répertoire de stockage des mails ===== | ===== Création du répertoire de stockage des mails ===== | ||
| - | Il faut créer le répertoire ou seront | + | Il faut créer le répertoire ou seront |
| - | Aller dans le répertoire ou tout les comptes mails sont enregistrer | + | Aller dans le répertoire ou tout les comptes mails sont enregistrés |
| $ maildirmake VOTREREPERTOIREDEMAIL | $ maildirmake VOTREREPERTOIREDEMAIL | ||
| Ligne 820: | Ligne 867: | ||
| Modifier VOTREREPERTOIREDEMAIL par le nom que vous voulez donner au compte mail (machin@domain.ltd par exemple). | Modifier VOTREREPERTOIREDEMAIL par le nom que vous voulez donner au compte mail (machin@domain.ltd par exemple). | ||
| - | Donner les droits | + | Donner les droits |
| $ sudo chown vmail:vmail -R / | $ sudo chown vmail:vmail -R / | ||
| Ligne 826: | Ligne 873: | ||
| - Si vous souhaitez tester la configuration de sasl, vous pouvez utiliser : < | - Si vous souhaitez tester la configuration de sasl, vous pouvez utiliser : < | ||
| + | |||
| + | <note info> | ||
| + | Pour vérifier que sasl va bien chercher dans la db les utilisateurs, | ||
| + | La log / | ||
| + | Dans le cas contraire, vous avez probablement un problème de configuration. | ||
| + | </ | ||
| + | <note info> | ||
| + | Si vous n' | ||
| + | Il vous suffit alors de créer un nouveau user ou de modifier le précédent par un mot de passe simple (test par exemple) et de retester. | ||
| + | </ | ||
| + | |||
| - Si le serveur smtp ne répond pas, sachez qu' | - Si le serveur smtp ne répond pas, sachez qu' | ||
| Ligne 840: | Ligne 898: | ||
| chown vmail:vmail -R / | chown vmail:vmail -R / | ||
| - | - Si une fois un test d' | + | - Si une fois un test d' |
| postfix/ | postfix/ | ||
| postfix/ | postfix/ | ||
