Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
postfix_mysql_tls_sasl [Le 28/10/2009, 14:37]
213.95.41.13
postfix_mysql_tls_sasl [Le 11/09/2022, 11:53] (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 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.
 +
 +<​note>​note du 15 mars 2014 : Ce tuto nécesssite d'​être revu du fait de l'​obsolescence de certains paquets</​note>​
  
 Niveau confirmé. Niveau confirmé.
 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. 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 [[:​tutoriel:​comment_installer_un_paquet|à installer]] : **postfix postfix-mysql mysql-client-5.0 mysql-server-5.0 courier-authdaemon courier-authlib-mysql courier-pop courier-pop-ssl ​ courier-imap courier-imap-ssl postfix-tls libsasl2-2 libsasl2-modules libsasl2-modules-sql sasl2-bin libpam-mysql openssl phpmyadmin** Paquets principaux [[:​tutoriel:​comment_installer_un_paquet|à installer]] : **postfix postfix-mysql mysql-client-5.0 mysql-server-5.0 courier-authdaemon courier-authlib-mysql courier-pop courier-pop-ssl ​ courier-imap courier-imap-ssl postfix-tls libsasl2-2 libsasl2-modules libsasl2-modules-sql sasl2-bin libpam-mysql openssl phpmyadmin**
 +
 +<note warning>​postfix-tls est un paquet obsolète il semble faire partie de postfix </​note>​
 +<​note>​je préfère mettre mysql-client mysql-server (sans préciser la version) pour réussir l'​installation à tous les coups</​note>​
  
 <note tip>Chez moi, le package courier-authlib-mysql s'​appelle courier-authmysql</​note>​ <note tip>Chez moi, le package courier-authlib-mysql s'​appelle courier-authmysql</​note>​
Ligne 39: Ligne 44:
 mysqladmin -u root password '​xxxxxxxx'​ mysqladmin -u root password '​xxxxxxxx'​
 </​code>​ </​code>​
 +
  
 ==== Postfix ==== ==== Postfix ====
Ligne 52: Ligne 58:
   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 63: Ligne 69:
   `active` tinyint(1) NOT NULL default '​1',​   `active` tinyint(1) NOT NULL default '​1',​
   PRIMARY KEY  (address)   PRIMARY KEY  (address)
-  ) TYPE=MyISAM COMMENT='​Postfix Admin - Virtual Aliases';​+  ) ENGINE=MyISAM COMMENT='​Postfix Admin - Virtual Aliases';​
  
   USE postfix;   USE postfix;
Ligne 78: Ligne 84:
   `active` tinyint(1) NOT NULL default '​1',​   `active` tinyint(1) NOT NULL default '​1',​
   PRIMARY KEY  (domain)   PRIMARY KEY  (domain)
-  ) TYPE=MyISAM COMMENT='​Postfix Admin - Virtual Domains';​+  ) ENGINE=MyISAM COMMENT='​Postfix Admin - Virtual Domains';​
  
   USE postfix;   USE postfix;
Ligne 92: Ligne 98:
   `active` tinyint(1) NOT NULL default '​1',​   `active` tinyint(1) NOT NULL default '​1',​
   PRIMARY KEY  (username)   PRIMARY KEY  (username)
-  ) TYPE=MyISAM COMMENT='​Postfix Admin - Virtual Mailboxes';​+  ) ENGINE=MyISAM COMMENT='​Postfix Admin - Virtual Mailboxes';​
  
   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:
   #​relay_domains = mysql:/​etc/​postfix/​mysql_relay_domains_maps.cf   #​relay_domains = mysql:/​etc/​postfix/​mysql_relay_domains_maps.cf
  
-Le smtp de postfix est chrooter, il faut donc le retirer afin d'​assurer son bon fonctionnement. On retire le chroot dans /​etc/​postfix/​master.cf et modifier comme dessous.+Le smtp de postfix est chrooté, il faut donc le retirer afin d'​assurer son bon fonctionnement. On retire le chroot dans /​etc/​postfix/​master.cf et modifier comme dessous.
  
   #   #
Ligne 145: Ligne 151:
 Cela peut également vous servir le jour où vous désirez modifier le mot de passe...</​note>​ Cela peut également vous servir le jour où vous désirez modifier le mot de passe...</​note>​
  
-mysql_virtual_alias_maps.cf+Creation des fichiers : mysql_virtual_alias_maps.cf, mysql_virtual_domains_maps.cf,​ mysql_virtual_mailbox_maps.cf,​ mysql_virtual_mailbox_limit_maps.cf,​ mysql_relay_domains_maps.cf
  
-  ​user = postfix +  ​MYSQL_USER=postfix 
-  ​password ​= motdepasse +  ​MYSQL_PASSWORD=motdepasse 
-  ​hosts = 127.0.0.1+  ​MYSQL_HOST=127.0.0.1 
 +   
 +  cat << EOF >/​etc/​postfix/​mysql_virtual_alias_maps.cf 
 +  user = $MYSQL_USER 
 +  password = $MYSQL_PASSWORD 
 +  hosts = $MYSQL_HOST
   dbname = postfix   dbname = postfix
   query = SELECT goto FROM alias WHERE address='​%s'​ AND active = 1   query = SELECT goto FROM alias WHERE address='​%s'​ AND active = 1
- +  EOF 
-mysql_virtual_domains_maps.cf +   
- +  cat <<EOF >/​etc/​postfix/​mysql_virtual_domains_maps.cf 
-  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='​%s'​   query = SELECT domain FROM domain WHERE domain='​%s'​
   #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='​%s'​ and backupmx = '​0'​ and active = '​1'​   #query = SELECT domain FROM domain WHERE domain='​%s'​ and backupmx = '​0'​ and active = '​1'​
- +  EOF 
-mysql_virtual_mailbox_maps.cf +   
- +  cat <<EOF >/​etc/​postfix/​mysql_virtual_mailbox_maps.cf 
-  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='​%s'​ AND active = 1   query = SELECT maildir FROM mailbox WHERE username='​%s'​ AND active = 1
- +  EOF 
-mysql_virtual_mailbox_limit_maps.cf +   
- +  cat <<​EOF>/​etc/​postfix/​mysql_virtual_mailbox_limit_maps.cf 
-  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='​%s'​   query = SELECT quota FROM mailbox WHERE username='​%s'​
- +  EOF 
-mysql_relay_domains_maps.cf +   
- +  cat <<​EOF>/​etc/​postfix/​mysql_relay_domains_maps.cf 
-  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='​%s'​ and backupmx = '​1'​   query = SELECT domain FROM domain WHERE domain='​%s'​ and backupmx = '​1'​
 +  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
  
-   ​$ ​chmod 640 mysql_* +    ​chmod 640 mysql_* 
-   $ chgrp postfix mysql_*+    chgrp postfix mysql_*
  
 On crée des liens pour le bon fonctionnement de l'​ensemble On crée des liens pour le bon fonctionnement de l'​ensemble
  
-   mkdir -p /​var/​spool/​postfix/​var/​run/​mysqld +   mkdir -p /​var/​spool/​postfix/​var/​run/​mysqld 
-   chown mysql /​var/​spool/​postfix/​var/​run/​mysqld +   chown mysql /​var/​spool/​postfix/​var/​run/​mysqld 
-   ln -s /​var/​run/​mysqld/​mysqld.sock /​var/​spool/​postfix/​var/​run/​mysqld/​mysqld.sock+   ln -s /​var/​run/​mysqld/​mysqld.sock /​var/​spool/​postfix/​var/​run/​mysqld/​mysqld.sock
  
-   mkdir -p /​var/​spool/​postfix/​var/​run/​courier/​authdaemon +   mkdir -p /​var/​spool/​postfix/​var/​run/​courier/​authdaemon 
-   ln -s /​var/​run/​courier/​authdaemon/​socket /​var/​spool/​postfix/​var/​run/​courier/​authdaemon/​socket +   ln -s /​var/​run/​courier/​authdaemon/​socket /​var/​spool/​postfix/​var/​run/​courier/​authdaemon/​socket 
-   chown -R daemon:​daemon /​var/​spool/​postfix/​var/​run/​courier +   chown -R daemon:​daemon /​var/​spool/​postfix/​var/​run/​courier 
-   chmod 755 /​var/​run/​courier/​authdaemon+   chmod 755 /​var/​spool/​postfix/​var/​run/​courier/​authdaemon
  
  
Ligne 249: Ligne 261:
   smtpd_sasl_local_domain = $myhostname   smtpd_sasl_local_domain = $myhostname
   smtpd_sasl_security_options = noanonymous   smtpd_sasl_security_options = noanonymous
 +  broken_sasl_auth_clients = yes
 +  smtpd_sasl_type = cyrus
 +  cyrus_sasl_config_path = /​etc/​postfix/​sasl
  
-J'​ai ​supprimer ​    ​reject_rbl_client opm.blitzed.org,​ le projet étant abandonné depuis mai 2006 : [[http://​wiki.blitzed.org/​OPM_status]].+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 smtpd.conf dans /​etc/​postfix/​sasl et ajoutez+Créez le fichier smtpd.conf dans /​etc/​postfix/​sasl et ajoutez ​:
  
-  pwcheck_method:​ saslauthd ​auxprop+  pwcheck_method:​ saslauthd
   mech_list: login plain   mech_list: login plain
-  auxprop_plugin:​ sql 
-  sql_engine: mysql 
-  sql_hostnames:​ localhost 
-  sql_user: postfix 
-  sql_database:​ postfix 
-  sql_passwd: motdepasse 
-  sql_select: select password from mailbox where username = '​%u@%r'​ 
  
 <note tip> <note tip>
Ligne 269: 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 la ligne: ​+Il faut ajouter, dans le fichier ​    /​etc/​postfix/​sasl/​smtpd.conf ​la ligne:
  
-saslauthd_path:​ /​var/​spool/​postfix/​var/​run/​saslauthd/​mux+  ​saslauthd_path:​ /​var/​spool/​postfix/​var/​run/​saslauthd/​mux
  
-dans /​etc/​postfix/​sasl/​smtpd.conf 
 </​note>​ </​note>​
  
Ligne 291: Ligne 298:
  
  
-Créez un  lien symbolique pour que cela fonctionne lorsque postfix est chrooter ​[sionib]:+Créez un  lien symbolique pour que cela fonctionne lorsque postfix est chrooté ​[sionib] :
  
    ln -s /​var/​spool/​postfix/​var/​run/​saslauthd /​var/​run/​saslauthd    ln -s /​var/​spool/​postfix/​var/​run/​saslauthd /​var/​run/​saslauthd
 +   
 +FIXME
  
 +<note warning>​Sur debian il faut faire [sebtiz13] :
  
 +   ln -s /​var/​spool/​postfix/​var/​run/​saslauthd /var/run/
 +
 +</​note>​
 +
 +<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]) 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])
Ligne 304: Ligne 332:
 Redémarrez sasl Redémarrez sasl
  
-   /​etc/​init.d/​saslauthd restart+   /​etc/​init.d/​saslauthd restart
  
 Rajouter l'​utilisateur postfix au groupe sasl : Rajouter l'​utilisateur postfix au groupe sasl :
  
-   adduser postfix sasl+   ​adduser postfix sasl
  
 ==== Courier (MTA: Pop3, IMAP) ==== ==== Courier (MTA: Pop3, IMAP) ====
Ligne 315: Ligne 343:
 Cherchez la ligne authmodulelist="​authpam"​ et remplacez par authmodulelist="​authmysql"​ Cherchez la ligne authmodulelist="​authpam"​ et remplacez par authmodulelist="​authmysql"​
  
-Editez le fichier /​etc/​courier/​authmysqlrc de façon à ce qui ressemble à ceci+Editez le fichier /​etc/​courier/​authmysqlrc de façon à ce qui ressemble à ceci en n'​oubliant pas de changer le mot de passe à la ligne 3 :
  
   MYSQL_SERVER ​           127.0.0.1   MYSQL_SERVER ​           127.0.0.1
Ligne 343: Ligne 371:
  
 ===== Deuxième Partie ===== ===== Deuxième Partie =====
- 
  
 **Ajout d'un anti-spam, anti-virus** **Ajout d'un anti-spam, anti-virus**
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'​existent plus sous debian note du 15/​03/​2014</​note>​
  
 Sous hardy 8.4, le paquet dcc-client n'​existe plus, pas même dcc-server. [[http://​www.howtoforge.com/​the-perfect-spamsnake-ubuntu-8.04]] est peut être une piste en attendant la mise à jour de cette documentation. Sous hardy 8.4, le paquet dcc-client n'​existe plus, pas même dcc-server. [[http://​www.howtoforge.com/​the-perfect-spamsnake-ubuntu-8.04]] est peut être une piste en attendant la mise à jour de cette documentation.
  
 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://​packages.ubuntu.com/​gutsy/​dcc-common +  * dcc-common : https://​packages.ubuntu.com/​gutsy/​dcc-common 
-  * dcc-server : http://​packages.ubuntu.com/​gutsy/​dcc-server+  * dcc-server : https://​packages.ubuntu.com/​gutsy/​dcc-server
  
 +Par exemple on peut procéder ainsi :
 +<​code>​
 +wget http://​launchpadlibrarian.net/​11565554/​dcc-server_1.3.42-5_amd64.deb
 +wget http://​launchpadlibrarian.net/​11565552/​dcc-common_1.3.42-5_amd64.deb
 +dpkg -i dcc-common_1.3.42-5_amd64.deb
 +dpkg -i dcc-server_1.3.42-5_amd64.deb
  
 +cdcc "​delete 127.0.0.1"​
 +cdcc "​delete 127.0.0.1 Greylist"​
 +</​code>​
 ==== Amavis ==== ==== Amavis ====
  
Ligne 514: Ligne 551:
     sendmail-announce-request@lists.sendmail.org     sendmail-announce-request@lists.sendmail.org
     ca+envelope@sendmail.org     ca+envelope@sendmail.org
-    owner-technews@postel.ACM.ORG+    owner-technews@postel.ACM.ORGuse strict;
     lvs-users-admin@LinuxVirtualServer.org     lvs-users-admin@LinuxVirtualServer.org
     ietf-123-owner@loki.ietf.org     ietf-123-owner@loki.ietf.org
Ligne 601: Ligne 638:
   1;  # insure a defined return   1;  # insure a defined return
  
-Pensez à changer le mot de passe à la ligne 112+Pensez à changer le mot de passe à la ligne 112 par celui de votre base de donné postfix. 
 + 
 +Configurez /​etc/​amavis/​conf.d/​05-node_id 
 +  use strict; 
 +  # $myhostname is used by amavisd-new for node identification,​ and it is 
 +  # important to get it right (e.g. for ESMTP EHLO, loop detection, and so on). 
 +  chomp($myhostname = `hostname --fqdn`); 
 +  # To manually set $myhostname,​ edit the following line with the correct Fully 
 +  # Qualified Domain Name (FQDN) and remove the # at the beginning of the line. 
 +  # 
 +  $myhostname = "your hostname mail";​ 
 +  1;  # ensure a defined return 
 + 
 +Pensez à changer le nom d'​hôte mail "your hostname mail" à la ligne 9 par le votre (celui configurer dans /​etc/​postfix/​main.cf)
  
 Ajoutez en fin fichier /​etc/​postfix/​master.cf Ajoutez en fin fichier /​etc/​postfix/​master.cf
Ligne 609: Ligne 659:
           -o smtp_send_xforward_command=yes           -o smtp_send_xforward_command=yes
   ​   ​
-  127.0.0.1:10025 inet n - - - - smtpd+  127.0.0.1:10024 inet n - - - - smtpd
           -o content_filter=           -o content_filter=
           -o local_recipient_maps=           -o local_recipient_maps=
Ligne 639: Ligne 689:
 ==== Spamassassin ==== ==== Spamassassin ====
  
-Editez le fichier /​etc/​default/​spamassassin+Avant tout, il faut créer l'​utilisateur "​spamd"​
  
-  ENABLED=1+   sudo groupadd spamd 
 +   sudo useradd -g spamd -s /​sbin/​nologin -d /​var/​lib/​spamassassin spamd 
 +   sudo mkdir /​var/​lib/​spamassassin 
 +   sudo chown spamd:spamd /​var/​lib/​spamassassin 
 +   sudo mkdir /​var/​log/​spamd 
 +   sudo chown spamd:spamd /​var/​log/​spamd 
 + 
 +Modifer le fichier /​etc/​default/​spamassassin : 
 + 
 +   ENABLED=1 
 +   ​SAHOME="/​var/​lib/​spamassassin/"​ 
 +   ​OPTIONS="​--create-prefs --max-children 5 --username spamd --helper-home-dir ${SAHOME} -s /​var/​log/​spamd/​spamd.log"​ 
 +   ​PIDFILE="​${SAHOME}spamd.pid"​ 
 +  ​
  
 Editez le fichier /​etc/​spamassassin/​local.cf Editez le fichier /​etc/​spamassassin/​local.cf
Ligne 679: Ligne 742:
 Démarrez le daemon spamassassin Démarrez le daemon spamassassin
  
-   $ /​etc/​init.d/​spamassassin start+   $ /​etc/​init.d/​spamassassin start    
 +Pour dire à postfix d'​utiliser spamassassin,​ modifier le fichier "/​etc/​postfix/​master.cf"​ et changer la ligne :
  
 +   ​smtp ​     inet  n       ​- ​      ​- ​      ​- ​      ​- ​      ​smtpd ​  
 +par
 +   ​smtp ​     inet  n       ​- ​      ​- ​      ​- ​      ​- ​      smtpd
 +       -o content_filter=spamassassin
 +et à la fin du fichier, ajoutez :
 +   ​spamassassin unix -     ​n ​      ​n ​      ​- ​      ​- ​      pipe
 +       ​user=spamd argv=/​usr/​bin/​spamc -f -e    ​
 +       /​usr/​sbin/​sendmail -oi -f ${sender} ${recipient}
 Créez le fichier /​usr/​sbin/​sa_rules_update.sh Créez le fichier /​usr/​sbin/​sa_rules_update.sh
  
Ligne 758: 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/​domaines ===== ===== Création des utilisateurs/​domaines =====
  
Ligne 773: Ligne 841:
   INSERT INTO domain (domain,​description) VALUES ('​domain.tld','​Test Domain'​);​   INSERT INTO domain (domain,​description) VALUES ('​domain.tld','​Test Domain'​);​
   INSERT INTO alias (address,​goto) VALUES ('​alias@domain.tld',​ '​utilisateur@domain.tld'​);​   INSERT INTO alias (address,​goto) VALUES ('​alias@domain.tld',​ '​utilisateur@domain.tld'​);​
-  INSERT INTO mailbox (username,​password,​name,​maildir) ​ VALUES ('​utilisateur@domain.tld','​$1$caea3837$gPafod/​Do/​8Jj5M9HehhM.','​Mailbox User','​utilisateur@domain.tld/'​);​+  INSERT INTO mailbox (username,​password,​name,​maildir) ​ VALUES ('​utilisateur@domain.tld',​ENCRYPT('"votre mot de passe"'),'​Mailbox User','​utilisateur@domain.tld/'​);​
   quit;   quit;
 +
 +
 +<note warning>
 +Attention, lors de la création de l'​utilisateur,​ il faut supprimer les doubles quotes lors de l'​utilisation d' ENCRYPT ( ENCRYPT('​myMdp'​) et non pas ENCRYPT('"​myMdp"'​) )
 +</​note>​
  
 Les mots de passe seront à chiffrer via la fonction ENCRYPT sous PHPMyAdmin. Les mots de passe seront à chiffrer via la fonction ENCRYPT sous PHPMyAdmin.
  
-Il existe une interface d'​administration,​ [[http://​high5.net/​postfixadmin/​|Postfix Admin]] qui permet la gestion de tout cela. Je l'ai testé à ses débuts, le trouvant très mal fait, je l'ai laissé tomber, entre temps il a subi quelques améliorations,​ et je ne l'ai pas testé de nouveau.+<note tip>Pour Postfix Admin je vous conseille de l'​installer avant de faire la configuration de postfix + SQL</​note>​ 
 +Il existe une interface d'​administration,​ [[http://​high5.net/​postfixadmin/​|Postfix Admin]] qui permet la gestion de tout cela, vous trouverez un tutoriel pour l'​installer à cette [[http://​www.system-linux.eu/​index.php?​post/​2009/​10/​22/​Installation-et-Configuration-de-postfixadmin|adresse]]. Je l'ai testé à ses débuts, le trouvant très mal fait, je l'ai laissé tomber, entre temps il a subi quelques améliorations,​ et je ne l'ai pas testé de nouveau.
  
 Testez votre nouvelle installation avec votre client de messagerie. Pour information les identifiants de connexion sont sous la forme **utilisateur@domain.tld** Testez votre nouvelle installation avec votre client de messagerie. Pour information les identifiants de connexion sont sous la forme **utilisateur@domain.tld**
Ligne 784: Ligne 858:
 Postfix a été configuré pour les quota mais le tuto n'en parle pas. C'est tout à fait normal, je n'ai pas tout à fait finalisé le tuto, et je ne parle pas de la mise en place des quota. Pour cela, il faut compiler postfix via les sources, voir le patcher si je ne raconte pas de bêtise. Une recherche sur google vous en dira plus en attendant ;-) Postfix a été configuré pour les quota mais le tuto n'en parle pas. C'est tout à fait normal, je n'ai pas tout à fait finalisé le tuto, et je ne parle pas de la mise en place des quota. Pour cela, il faut compiler postfix via les sources, voir le patcher si je ne raconte pas de bêtise. Une recherche sur google vous en dira plus en attendant ;-)
  
 +===== Création du répertoire de stockage des mails =====
 +
 +Il faut créer le répertoire ou seront stockés les mails (envoyés, brouillons, etc...)
 +Aller dans le répertoire ou tout les comptes mails sont enregistrés (/​home/​vmail par exemple), puis
 +
 +  $ maildirmake VOTREREPERTOIREDEMAIL
 +
 +Modifier VOTREREPERTOIREDEMAIL par le nom que vous voulez donner au compte mail (machin@domain.ltd par exemple).
 +
 +Donner les droits adéquats aux dossiers contenus dans votre répertoire où les comptes mails sont enregistrés :
 +
 +  $ sudo chown vmail:vmail -R /​home/​vmail;​
 ===== En cas d'​erreurs ===== ===== En cas d'​erreurs =====
  
   - Si vous souhaitez tester la configuration de sasl, vous pouvez utiliser : <​code>​testsaslauthd -u adresse@domain.tld -p password -s smtp</​code>​   - Si vous souhaitez tester la configuration de sasl, vous pouvez utiliser : <​code>​testsaslauthd -u adresse@domain.tld -p password -s smtp</​code>​
 +
 +<note info>
 +Pour vérifier que sasl va bien chercher dans la db les utilisateurs,​ mettez un nom d'​utilisateur inexistant dans l'​option -u.
 +La log /​var/​log/​auth.log devrait indiquer que le SELECT SQL ne retourne pas de résultat.
 +Dans le cas contraire, vous avez probablement un problème de configuration.
 +</​note>​
 +<note info>
 +Si vous n'​arrivez toujours pas à obtenir une connection correcte et que le point ci-dessus est vérifié, modifiez le fichier /​etc/​pam.d/​smtp en changeant sur les deux lignes le paramétre crypt=1 à crypt=0 (non crypté).
 +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.
 +</​note>​
 +
   - Si le serveur smtp ne répond pas, sachez qu'​Orange et Free bloquent le port smtp (25) en dehors de leurs réseaux par défaut afin de limiter la diffusion de spam. Vous devrez donc les débloquer pour le serveur mais aussi pour les clients.   - Si le serveur smtp ne répond pas, sachez qu'​Orange et Free bloquent le port smtp (25) en dehors de leurs réseaux par défaut afin de limiter la diffusion de spam. Vous devrez donc les débloquer pour le serveur mais aussi pour les clients.
  
Ligne 796: Ligne 893:
   mkdir NomRépertoireDeLaBase/​tmp   mkdir NomRépertoireDeLaBase/​tmp
  
-Les trois dernières commandes sont à effectuer autant de fois qu'il y a de lignes ​dans la base.+Les trois dernières commandes sont à effectuer autant de fois qu'il y a d'​occurrences ​dans la base.
  
 Ensuite, il faut attribuer les droits à l'​utilisateur vmail, comme indiqué précédemment. Ensuite, il faut attribuer les droits à l'​utilisateur vmail, comme indiqué précédemment.
   chown vmail:vmail -R /​home/​vmail;​   chown vmail:vmail -R /​home/​vmail;​
 +
 +- Si une fois un test d'​envoi de mail effectué (test SMTP+SASL), vous obtenez dans le journal /​var/​log/​auth.log le message suivant :
 +  postfix/​smtpd[23340]:​ sql_select option missing
 +  postfix/​smtpd[23340]:​ auxpropfunc error no mechanism available ​
 +
 +Il faut désinstaller le package suivant : libsasl2-modules-sql
 +  apt-get remove libsasl2-modules-sql
 +
 +
  
 ---- ----
  
-//​Contributeurs:​ [[:​utilisateurs:​cereal_killer_du_77|CeReAl KiLLeR DU 77]]//+//​Contributeurs:​ [[:​utilisateurs:​cereal_killer_du_77|CeReAl KiLLeR DU 77]], psykokwak78//, Association BreizhTux Saint-Brieuc
  • postfix_mysql_tls_sasl.1256737072.txt.gz
  • Dernière modification: Le 18/04/2011, 14:54
  • (modification externe)