Professional Documents
Culture Documents
Pour réaliser ce tutorial, vous devrez au préalable avoir des connaissances en ligne de commande linux (Au
moins les commandes basiques: cd, mkdir, mv ...).
Disposer d'un client SSH (Comme Putty), d'un client FTP (Comme FileZilla), et bien sûr de votre serveur avec
une Debian fraichement installée.
Vous aurez aussi besoin d'au moins un nom de domaine pointant sur votre serveur.
Important, si vous souhaitez pouvoir gérer vos emails à partir de votre serveur debian, vous devez rediriger les
champs MX vers l'IP de votre serveur.
Pour voir où les champs MX de votre domaine pointent actuellement, tapez la commande suivante en SSH:
Vous verrez les serveurs mails associés ainsi que leur priorité.
Pour modifier ces champs MX, rendez-vous sur l'interface d'administration du registrar chez qui vous avez acheté
le domaine, puis modifiez les DNS.
En plus petite valeur de priorité, mettez l'adresse de votre serveur ou son nom de domaine.
La prise en compte de ces modifications n'est pas immédiate, donc ne vous inquietez pas si vous ne voyez
aucuns changement au bout de 10min. (Les changements peuvent prendre jusqu'à 48h ...)
Notre serveur web est maintenant prêt à emploi. Toutefois, il nous manque quand même un bon serveur d'email
avec lequel nous pourrons gérer tous nos emails et adresses virtuelles aisément.
Postfix MySQL est une bonne solution pour gérer nos emails multi-domaines. Comme pour notre serveur FTP,
nous pourrons gérer des comptes email virtuels directement à partir de phpMyAdmin.
INSTALLATION DE POSTFIX-MYSQL
Il vous sera demandé quel type de configuration vous souhaitez créer. Choisissez "No configuration" pour avoir
une config vierge.
Afin que postfix n'ai pas de problèmes de communication avec MySQL, il faut modifier le fichier master.cf
root [~] > nano /etc/postfix/master.cf
# service type private unpriv chroot wakeup maxproc command +
args
# (yes) (yes) (yes) (never) (100)
#
=====================================================================
=====
smtp inet n - n - - smtpd
Sauvegardez et quittez.
Comme pour pureFTPd, nous allons devoir créer une base de données spécifique pour postfix avec un utilisateur
propre.
Soit vous passez par phpMyAdmin > Privilèges > Ajouter un nouvel utilisateur.
01.USE postfix;
02.
03.CREATE TABLE `domaines` (
04.`domaine` varchar(255) NOT NULL default '',
05.`etat` tinyint(1) NOT NULL default '1',
06.PRIMARY KEY (`domaine`)
07.) ENGINE=MyISAM;
08.
09.
10.CREATE TABLE `comptes` (
11.`email` varchar(255) NOT NULL default '',
12.`password` varchar(255) NOT NULL default '',
13.`quota` int(10) NOT NULL default '0',
14.`etat` tinyint(1) NOT NULL default '1',
15.`imap` tinyint(1) NOT NULL default '1',
16.`pop3` tinyint(1) NOT NULL default '1',
17.PRIMARY KEY (`email`)
18.) ENGINE=MyISAM;
19.
20.
21.CREATE TABLE `alias` (
22.`source` varchar(255) NOT NULL default '',
23.`destination` text NOT NULL,
24.`etat` tinyint(1) NOT NULL default '1',
25.PRIMARY KEY (`source`)
26.) ENGINE=MyISAM;
CONFIGURATION DE POSTFIX
Maintenant que nos tables MySQL sont prêtes, nous allons pouvoir les renseigner dans les fichiers de
configuration de postfix.
Nos fichiers de configuration Postfix <-> Mysql sont prêts. Nous allons créer le fichier de configuration principal de
postfix.
virtual_alias_maps = mysql:/etc/postfix/mysql-
virtual_aliases.cf,mysql:/etc/postfix/mysql-
virtual_aliases_comptes.cf
virtual_mailbox_domains = mysql:/etc/postfix/mysql-
virtual_domaines.cf
virtual_mailbox_maps = mysql:/etc/postfix/mysql-virtual_comptes.cf
virtual_mailbox_base = /var/spool/vmail/
virtual_uid_maps = static:5000
virtual_gid_maps = static:5000
virtual_create_maildirsize = yes
virtual_mailbox_extended = yes
virtual_mailbox_limit_maps = mysql:/etc/postfix/mysql-
virtual_quotas.cf
virtual_mailbox_limit_override = yes
virtual_maildir_limit_message = "La boite mail de votre destinataire
est pleine, merci de reessayez plus tard."
virtual_overquota_bounce = yes
# adresses d'expedition
smtpd_sender_restrictions =
permit_mynetworks,
warn_if_reject reject_unverified_sender
# adresses de destination
smtpd_recipient_restrictions =
permit_mynetworks,
reject_unauth_destination,
reject_non_fqdn_recipient
# client
smtpd_client_restrictions =
permit_mynetworks
UN PEU DE SÉCURITÉ
Comme vous l'avez vu, le mot de passe MySQL de notre utilisateur postfix est en clair, il faut donc restreindre
l'accès aux fichiers de conf à root et postfix uniquement.
Et pour s'assurer qu'il n'y'a pas de problème de syntaxe dans notre configuration, tapez:
TEST DE POSTFIX
Dans un premier temps, insérez des données dans les tables MySQL postfix.
Nous allons voir si postfix fonctionne correctement, pour cela installez telnet (apt-get install telnet) si vous ne
l'avez pas par défaut.
Nous avons envoyé un email en provenance de l'adresse test@VOTRE_DOMAINE vers notre compte mail
récemment créé (contact@VOTRE_DOMAINE).
"delivred to maildir" indique que notre mail est bien arrivé à destination!
Erreurs fréquentes:
Regardez vos logs (cat /var/log/mail.log) en cas d'erreur.
newaliases
Répondez No à la question sur la séparation des fichiers de configuration pour l'administration web.
CONFIGURATION DE COURIER
authmodulelist="authmysql"
Sauvegardez et quittez.
Comme pour Postfix, nous allons renseigner les champs et la table MySQL à Courier:
MYSQL_SERVER localhost
MYSQL_USERNAME postfix
MYSQL_PASSWORD VOTRE_PASS_POSTFIX_MYSQL
MYSQL_DATABASE postfix
MYSQL_USER_TABLE comptes
MYSQL_CRYPT_PWFIELD password
MYSQL_UID_FIELD 5000
MYSQL_GID_FIELD 5000
MYSQL_LOGIN_FIELD email
MYSQL_HOME_FIELD "/var/spool/vmail/"
Sauvegardez et quittez.
Il faut maintenant rebooter les services de courier pour qu'il prenne en compte nos modifications:
Pour tester si tout fonctionne correctement, nous allons directement mettre en place un webmail sur notre serveur
web, il peut s'avérer pratique pour consulter vos emails lorsque vous n'êtes pas sur votre machine.
Notre base de données roundcubemail est créée, il faut maintenant importer les tables
http://VOTRE_IP_DE_SERVEUR/webmail/installer/
En fin d'installation, copiez les deux sources générées, et collez les dans les fichiers de conf du serveur:
db.inc.php
main.inc.php
Supprimez le répertoire installer/ une fois que vos fichiers de conf sont créés.
http://VOTRE_IP_DE_SERVEUR/webmail/
Entrez le nom de votre compte précedemment inséré dans les tables de postfix (contact/password), et vous
devriez pouvoir vous connecter si tout marche correctement.
Avec roundcube, vous pouvez envoyer et recevoir des messages avec votre adresse
contact@VOTRE_DOMAINE.
Si vous rencontrez des problèmes lors de l'installation ou de son fonctionnement, laissez un message dans le
topic du forum dédié au tutorial.
Aide & Questions: Pour tous problèmes ou questions à propos de ce tutorial, merci d'utiliser le topic dédié dans
le forum de La Ferme du Web