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
utilisateurs:mcpeter:postfix_dovecot_mysql_postfixadmin [Le 11/10/2012, 05:57]
McPeter suite brouillon
— (Version actuelle)
Ligne 1: Ligne 1:
-{{tag>​serveur mail postfix postfixadmin dovecot brouillon}} 
-Installation d'une solution mail complète. 
  
----- 
- 
-====== Installation d'une solution mail complète : Postfix, Dovecot, MySQL, Postfixadmin ====== 
- 
-Cette page propose un pas-à-pas pour mettre en place rapidement un serveur de messagerie en faisant appel à l'​ensemble:​ 
-  * [[:​Postfix]] qui servira de [[wpfr>​Mail_Transfer_Agent|MTA]] 
-  * [[:​Dovecot]] qui servira de serveur [[wpfr>​Internet_Message_Access_Protocol|IMAP]] et/ou [[wpfr>​Post_Office_Protocol|POP3]] 
-  * [[:MySql]] pour enregistrer les comptes mails virtuels 
-  * [[http://​sourceforge.net/​projects/​postfixadmin/​|Postfixadmin]] pour gérer les domaines et comptes mails. 
- 
-=====Près requis===== 
- 
-  * Une solution [[:​lamp|LAMP]] fonctionnelle.\\ 
-  * Un certificat SSL (auto-signé ou autre) valide. 
-<​note>​Rappel simple :<​code>​ 
-sudo apt-get install ssl-cert 
-sudo make-ssl-cert generate-default-snakeoil --force-overwrite</​code></​note>​ 
- 
- 
-====Installation des paquets=== 
- 
-   - [[:​tutoriel:​comment_installer_un_paquet|Installez]] la première série de paquets utiles à savoir: 
-    * **[[apt>​bsd-mailx,​dovecot-core,​dovecot-imapd,​dovecot-pop3d,​postfix]]** pour la partie MTA, IMAP, POP3 
-    * **[[apt>​amavisd-new,​clamav,​clamav-daemon,​spamassassin]]** pour [[:​antivirus|Antivirus]] et AntiSpam 
-    * **[[apt>​php5-imap]]** pour la gestion par postfixadmin\\ La première ligne permet d'​utiliser apt-get ou aptitude au choix. Mais on aurait pût passer par **[[apt>​tasksel]]** et de là installer directement l'​essemble **[[apt>​mail-server^]]**.\\ <​code>​sudo apt-get install bsd-mailx dovecot-core dovecot-imapd dovecot-pop3d postfix 
-sudo apt-get install amavisd-new clamav clamav-daemon spamassassin 
-sudo apt-get install php5-imap</​code>​ 
-   - On relance [[:​services|service]] [[:​apache]]\\ <​code>​sudo service apache2 restart</​code>​ 
-   - On installe la seconde série de paquets utiles à savoir : 
-    * **[[apt>​libnet-dns-perl,​pyzor,​razor]]** pour requêtes DNS et AntiSpam 
-    * **[[apt>​arj,​bzip2,​cabextract,​cpio,​file,​gzip,​nomarch,​pax,​unzip,​zip]]** pour décompresser des [[:​archivage|archives]] directement dans roundcube\\ <​code>​sudo apt-get install libnet-dns-perl pyzor razor 
-sudo apt-get install arj bzip2 cabextract cpio file gzip nomarch pax unzip zip 
-</​code>​ 
- 
-====Création de l'​administrateur mail dans MySQL==== 
- 
-<​code>​sudo mysql -u root -p</​code>​ 
-On créé la base de données (postfixadmin) et l'​utilisateur (postfixadmin) 
-<​code>​create database postfixadmin;​ 
-grant all on postfixadmin.* to '​mail'​@'​localhost'​ identified by '​mot_de_passe_administrateur_mail';​ 
-</​code>​ 
- 
- 
-=====Postfixadmin===== 
- 
-Postfixadmin permet de gérer graphiquement les domaines et les boites e-mail rattachées. Il permet de créer des administrateurs par domaine qui peuvent eux-mêmes créer des boites ainsi que des alias. Le tout se pilotant au travers d'un navigateur web.\\ 
-Un paquet tout prêt est disponible et évite plusieurs étapes de configuration/​mise en place. On va donc le télécharger et l'​installer. 
- 
-<​code>​wget http://​downloads.sourceforge.net/​project/​postfixadmin/​postfixadmin/​postfixadmin-2.3.5/​postfixadmin_2.3.5-1_all.deb 
-sudo dpkg -i postfixadmin_2.3.5-1_all.deb</​code>​ 
- 
-====Configuration==== 
- 
-Dans le fichier **/​etc/​postfixadmin/​config.inc.php**,​ modifier/​vérifier les variables comme suit : 
- 
-<file php> 
-$CONF['​configured'​] = true; 
-$CONF['​postfix_admin_url'​] = '/​postfixadmin';​ # à laisser tel quel pour le multi-domaine 
-$CONF['​admin_email'​] = '​me@example.com';​ # l'​adresse mail de l'​administrateur général 
-$CONF['​smtp_server'​] = '​localhost';​ 
-$CONF['​smtp_port'​] = '​25';​ 
-$CONF['​encrypt'​] = '​md5crypt';​ 
-$CONF['​domain_path'​] = '​YES';​ 
-$CONF['​domain_in_mailbox'​] = '​NO';​ 
-</​file>​ 
- 
-Dans le fichier **/​etc/​postfixadmin/​dbconfig.inc.php**,​ insérer les accès MySQL précédemment créé (1.2). 
- 
-<file php> 
-$dbuser='​postfixadmin';​ 
-$dbpass='​mot_de_passe_administrateur_mail';​ 
-$basepath='';​ 
-$dbname='​postfixadmin';​ 
-$dbserver='';​ # utilisera la valeur par défaut : localhost 
-$dbport='';​ # utilisera le port MySQL par défaut 
-$dbtype='​mysql';​ 
-</​file>​ 
- 
-Lancer la configuration via : http://​localhost/​postfixadmin/​setup.php\\ 
-Créer un administrateur Postfixadmin (**conseil : différenciez-le de l'​administrateur mail (nom/mot de passe)**) 
- <​note important>​Attention un fois cet administarteur créé, le script vous retourne votre mot de passe "​hasé"​. **NOTEZ LE BIEN !!**\\ Il sera utilisé dans votre configuration finale.</​note>​ 
- 
-Insertion du mot de passe "​hashé",​ éditer **/​etc/​postfixadmin/​config.inc.php** et modifier la variable : 
-<file php>​$CONF['​setup_password'​] = '… votre mot de passe hashé …';</​file>​ 
- 
-Il faut ensuite protéger cette page (vous pourrez créer d'​autres administrateurs via l'​interface de postfixadmin).\\ 
-Éditer **/​etc/​apache2/​conf.d/​postfixadmin**,​ et ajouter : 
- 
-<​file><​Files "​setup.php">​ 
-deny from all 
-</​Files></​file>​ 
- 
-Se rendre sur la page http://​localhost/​postfixadmin,​ et créer le premier domaine. Ajouter une boite mail à ce domaine.\\ 
-À ce stade, Postfixadmin est opérationnel. 
- 
- 
-=====Répertoire des e-mails===== 
- 
-Ici les utilisateurs sont virtuels, et donc indépendant ​ de la création/​gestion classique Unix. Un seul utilisateur (Unix) aura les droits sur ce dossiers et permettra de gérer les liaisons entre Dovecot et Postfix.\\ 
-J'​utilise personnellement l'​utilisateur **vmail** et le groupe **mail**. Et mon répertoire se situe dans **/​home/​vmail** //(ces valeurs sont à votre convenance)//​.\\ 
- 
-Création du groupe **mail** et de l'​utilisateur **vmail** ​ 
-<​code>​sudo groupadd mail 
-sudo useradd -r -u 150 -g mail -d /home/vmail -s /​sbin/​nologin -c "​Propriétaire des répertoires e-mail virtuel"​ vmail</​code>​ 
-Création du répertoire 
-<​code>​sudo mkdir /home/vmail 
-sudo chmod 770 /​home/​vmail</​code>​ 
-Application des droits. 
-<​code>​sudo chown vmail:mail /​home/​vmail</​code>​ 
- 
- 
-=====Dovecot===== 
- 
-Dovecot gère les connexions POP3 et IMAP, permet de gérer les mails locaux et récupère les courriers en provenance de Postfix.\\ 
-Il gère également l'​authentification SMTP.\\ 
- 
-====Configuration==== 
- 
-On attaque la partie la plus "​fatiguante"​.\\ 
-Éditer ou créer le fichier **/​etc/​dovecot/​conf.d/​auth-sql.conf.ext** avec le contenu suivant : 
- 
-<​file>#​ Look up user passwords from a SQL database as 
-# defined in /​etc/​dovecot/​dovecot-sql.conf.ext 
-passdb { 
-  driver = sql 
-  args = /​etc/​dovecot/​dovecot-sql.conf.ext 
-} 
-# Look up user information from a SQL database as 
-# defined in /​etc/​dovecot/​dovecot-sql.conf.ext 
-userdb { 
-  driver = sql 
-  args = /​etc/​dovecot/​dovecot-sql.conf.ext 
-}</​file>​ 
- 
-Éditer le fichier **/​etc/​dovecot/​dovecot-sql.conf.ext** et modifier comme suit : 
- 
-<​file>#​ Database driver: mysql, pgsql, sqlite 
-driver = mysql</​file>​ 
- 
-Ici remplacer //​mot_de_passe_postfixadmin//​ par celui entrée à la section 1.2 
-<​file>#​ Examples: 
-#   ​connect = host=192.168.1.1 dbname=users 
-#   ​connect = host=sql.example.com dbname=virtual user=virtual password=blarg 
-#   ​connect = /​etc/​dovecot/​authdb.sqlite 
-# 
-connect = host=localhost dbname=postfixadmin user=postfixadmin password=mot_de_passe_postfixadmin</​file>​ 
- 
-<​file>#​ Default password scheme. 
-# 
-# List of supported schemes is in 
-# http://​wiki2.dovecot.org/​Authentication/​PasswordSchemes 
-# 
-default_pass_scheme = MD5-CRYPT</​file>​ 
- 
-Attention à l'UID et le GUID. Pour vérifier ces informations : 
- 
-<​code>​grep vmail /etc/passwd 
-vmail:​x:​150:​1001:​Virtual maildir handler:/​home/​vmail:/​sbin/​nologin</​code>​ 
- 
-<​file>#​ Define the query to obtain a user password. 
-password_query = \ 
-  SELECT username as user, password, '/​home/​vmail/​%d/​%n'​ as userdb_home,​ \ 
-  '​maildir:/​home/​vmail/​%d/​%n'​ as userdb_mail,​ 150 as userdb_uid, 1001 as userdb_gid \ 
-  FROM mailbox WHERE username = '​%u'​ AND active = '​1'</​file>​ 
-  ​ 
-<​file>#​ Define the query to obtain user information. 
-user_query = \ 
-  SELECT '/​home/​vmail/​%d/​%n'​ as home, '​maildir:/​home/​vmail/​%d/​%n'​ as mail, \ 
-  150 AS uid, 1001 AS gid, concat('​dirsize:​storage=',​ quota) AS quota \ 
-  FROM mailbox WHERE username = '​%u'​ AND active = '​1'</​file>​ 
- 
-Éditer le fichier **/​etc/​dovecot/​conf.d/​10-auth.conf** et modifier comme suit : 
- 
- 
-=====Amavis,​ ClamAV SpamAssassin===== 
- 
-====Configuration Amavis==== 
- 
-====Configuration ClamAV==== 
- 
-====Configuration SpamAssassin==== 
- 
- 
-=====Postfix===== 
- 
-====Configuration==== 
- 
- 
-=====Relancer tous les services===== 
- 
- 
- 
- 
-=====Postfixadmin===== 
- 
-====Configuration==== 
- 
-=====Postfixadmin===== 
- 
-====Configuration==== 
- 
-=====Postfixadmin===== 
- 
-====Configuration==== 
- 
-=====Liens===== 
- 
-http://​sourceforge.net/​projects/​postfixadmin/​ (projet de PostfixAdmin - eng) 
  • utilisateurs/mcpeter/postfix_dovecot_mysql_postfixadmin.1349927863.txt.gz
  • Dernière modification: Le 11/10/2012, 05:57
  • par McPeter