Ceci est une ancienne révision du document !
Installation d'une solution mail complète.
Installation d'une solution mail complète : Postfix, Dovecot, MySQL, Postfixadmin
Près requis
- Une solution LAMP fonctionnelle.
- Un certificat SSL (auto-signé ou autre) valide.
sudo apt-get install ssl-cert sudo make-ssl-cert generate-default-snakeoil --force-overwrite
Installation des paquets
On installe la série des paquets utiles.
La première ligne permet d'utiliser apt-get ou aptitude au choix. Mais on aurait pût passer par tasksel et de là installer directement l'essemble mail-server^.
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
On relance apache
sudo service apache2 restart
On installe une autre série de paquets utiles
sudo apt-get install libnet-dns-perl pyzor razor sudo apt-get install arj bzip2 cabextract cpio file gzip nomarch pax unzip zip
Création de l'administrateur mail dans MySQL
sudo mysql -u root -p
On créé la base de données (postfixadmin) et l'utilisateur (postfixadmin)
create database postfixadmin; grant all on postfixadmin.* to 'mail'@'localhost' identified by 'mot_de_passe_administrateur_mail';
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.
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
Configuration
Dans le fichier /etc/postfixadmin/config.inc.php, modifier/vérifier les variables comme suit :
$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';
Dans le fichier /etc/postfixadmin/dbconfig.inc.php, insérer les accès MySQL précédemment créé (1.2).
$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';
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))
Il sera utilisé dans votre configuration finale.
Insertion du mot de passe "hashé", éditer /etc/postfixadmin/config.inc.php et modifier la variable :
$CONF['setup_password'] = '… votre mot de passe hashé …';
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 :
<Files "setup.php"> deny from all </Files>
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
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
Création du répertoire
sudo mkdir /home/vmail sudo chmod 770 /home/vmail
Application des droits.
sudo chown vmail:mail /home/vmail
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"
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)