Retour à Réseaux & Linux
Installation d'un serveur de courrier électronique
Sommaire :
Introduction
Pour la plupart des utilisateurs d'internet et de courrier électronique,
le serveur de courrier est celui du FAI (fournisseur d'accès internet) ou du registrar
(l'organisme à qui vous avez acheté votre nom de domaine).
Il peut y avoir plusieurs raisons d'installer son propre serveur de courrier :
- Ne plus être dépendant de son FAI / registrar
- Le besoin de créer beaucoup d'adresses e-mail ou d'envoyer / recevoir des pièces jointes dépassant
la limite de votre FAI / registrar
- Comprendre comment ça marche
- Le plaisir de bidouiller sous Linux
- Etc.
Pour moi c'était un peu tout ça, mais surtout la quatrième !
Pour avoir un serveur de courrier à la maison, il vous faut :
- Une connexion internet permanente et performante (modem RTC passez votre chemin !)
- Une adresse IP fixe est fortement recommandée
- Une machine sous Linux tournant 24h/24
- Un nom de domaine dont vous êtes propriétaire et gestionnaire
- Du temps disponible
Une fois votre serveur de courrier opérationnel, vous devrez signaler à votre registrar
que vous gérez vous-même vos
adresses e-mail et lui indiquer votre adresse IP. Dans la plupart des cas l'interface web
de configuration permet cela. Les serveurs DNS du monde entier sauront
bientôt (24 à 48 h) que les courriers à destination de votre domaine doivent être envoyés
à cette adresse. L'idéal est d'avoir aussi un serveur DNS pour résoudre les adresses de votre
réseau et de votre domaine.
L'e-mail, comment ça marche ?
Quelques adresses pour commencer :
Lorsque vous envoyez un e-mail, il se passe pas mal de choses :
- Votre client courrier, ou MUA (Mail User Agent) ou encore UA, envoie grâce au protocole SMTP
le message à un serveur de courrier (celui de votre fournisseur d'accès en général),
ou MTA (Mail Transfer Agent) ou encore MX (Mail eXchanger)
- Le premier MTA envoie le message au MTA du destinataire (celui de son domaine domaine2.org)
qui le stocke en attente de consultation
- Le destinataire, par l'intermédiaire de son MUA, demande à son serveur de courrier
les nouveaux messages
- Le serveur envoie le message au MUA du destinataire
Les clients courrier les plus utilisés sont MS Outlook, Mozilla Thunderbird, Eudora, etc.
Les MTA les plus utilisés sont Postfix, Sendmail, Exim, Microsoft Exchange, etc.
A l'intérieur de la machine serveur de courrier, Postfix (je me contenterai ici de parler de lui)
passe le relais au MDA (Mail Delivery Agent), Maildrop ou Sendmail par exemple, pour soit :
- distribuer le courrier aux utilisateurs s'ils ont un compte local sur la machine
- faire passer le courrier au serveur POP3 ou IMAP (Courier par exemple) dans le cas
d'utilisateurs distants
POP ?... IMAP ?...
Les protocoles POP et IMAP servent à interroger le serveur et récupérer les messages en attente,
s'il y en a. Quelles sont les différences ?
- POP : Les messages sont rapatriés vers le client et effacés du serveur (sauf indication contraire dans
les paramètres de votre logiciel client courrier). Ils sont alors enregistrés chez le client et
consultables sans connexion au serveur. Inconvénient : Si vous utilisez un autre ordinateur avec un client
courrier configuré pour le même compte, le message aura disparu du serveur et vous ne pourrez pas le lire,
sauf en retournant sur le premier ordinateur. Ce protocole suffit pour 99% des utilisateurs, qui lisent toujours leur
courrier depuis le même ordinateur.
- IMAP : Le client se connecte au serveur et lit ses messages sans les effacer du serveur.
Toute relecture du même message impose de se reconnecter au serveur.
Les messages ne sont pas enregistrés localement sur le client, donc en cas de perte de connexion avec le serveur,
impossible de les lire. Par contre, les messages restent accessibles quelque soit l'ordinateur utilisé,
même en cas de formatage et réinstallation du système.
Le
webmail est une autre façon de consulter ses emails : il suffit de se connecter au serveur
avec n'importe quel navigateur internet
et de s'identifier. Avantage de la méthode : rien à installer et à configurer,
les messages sont accessibles de n'importe quel ordinateur, sous Windows, Linux ou Mac.
Installation de Postfix
Quelques adresses :
Postfix s'installe très simplement par un
apt-get install postfix sous Debian et dérivés.
Avec les deux sites ci-dessus vous saurez configurer Postfix.
Mon fichier de config pour vous aider :
/etc/postfix/main.cf
Avec cette configuration, je reçois sur mon serveur babylon.denisg.net les messages
qui me sont adressés. Attention, j'ai un compte utilisateur actif sur cette machine,
mes messages sont donc envoyés dans mon home par maildrop (voir plus bas).
Dans le cas d'utilisateurs qui n'ont pas de compte local la méthode est différente
(chapitre à venir...).
Installation de Maildrop et Courier
Site internet :
http://www.courier-mta.org/
Commencez par
apt-get install maildrop et suivez les instructions du
site vu plus haut
(
http://www.frlinux.net/?section=reseau&article=131),
à un détail près : sur ma Debian Sarge c'est
courier-pop-ssl et non
courier-pop3-ssl qu'il faut installer.
Attention ici courier s'écrit avec un seul R.
Mes fichiers de config pour vous aider :
/etc/courier/imapd.cnf
/etc/courier/pop3d.cnf
N'utilisant pas Spamassassin, j'ai juste mis
logfile ".maillog"
dans /home/MONLOGIN/.mailfilter.
Relancez bien postfix, courier, courier-authdaemon, courier-imap-ssl et courier-pop-ssl avec
/etc/init.d/postfix restart
et les autres...
Contrôler la sécurité de votre serveur de courrier
Puisqu'il est question de sécurité, parlons firewall. Pour que votre serveur de
courrier puisse être contacté par le reste du monde, vous devrez ouvrir les bonnes portes
dans votre muraille en autorisant les connexions entrantes sur ces ports :
| Protocole |
Port utilisé |
| SMTP |
25/TCP |
| POP3 |
110/TCP |
| IMAP |
143/TCP |
L'ouverture pour SMTP est obligatoire. N'ouvrez le port de POP3 ou d'IMAP que si vous désirez
consulter votre boîte aux lettres de l'extérieur.
Les spammeurs et diffuseurs de virus ont besoin de relais pour envoyer leurs milliers
de messages de par le monde et sont à la recherche de serveurs de courrier mal configurés
pour les aider. Pour éviter d'être un de ceux-là, contrôlez votre serveur sur ce site :
http://vsmtp.pagasa.net/
Installation du webmail Squirrelmail
Site internet :
http://www.squirrelmail-fr.org/
Installation sous Debian :
apt-get install squirrelmail squirrelmail-locales
squirrelmail-configure
Puis suivez les instructions de la page "Installation" du site.
Les fichiers du webmail sont installés dans /usr/share/squirrelmail, il faut donc
ajouter un alias (genre webmail.votresite.com) à votre configuration Apache.
Chez moi ça donne ça :
- Dans /etc/apache2/sites-available/default
< VirtualHost * >
ServerAdmin votreadresse@email.net
ServerName webmail.denisg.net
DocumentRoot /usr/share/squirrelmail
< Directory /usr/share/squirrelmail >
Options Indexes FollowSymLinks MultiViews
AllowOverride AuthConfig
Order allow,deny
allow from all
< /Directory >
< /VirtualHost >
- Puis
/etc/init.d/apache2 restart pour relancer le serveur Apache