Mise en place d'un serveur mail (imap, smtp, webmail...)

Buts: * Mise en place complète de tout le nécessaire pour un serveur de mail autonome

Niveau: (débutants, confirmés, experts)

Date: vendredi 30 janvier 19h00

Lieu: Tandem

Au programme * todo

Participants:

Mémo

Contexte

  • machine : monserveur.mondomaine.net
  • domaine : mondomaine.net
  • IP du serveur : 42.42.42.42
  • Système : Debian/Ubuntu GNU/Linux
  • utilisateur : toto , il possède donc l'email toto@mondomaine.net

Les adresses email seront basées sur les utilisateurs UNIX. Par exemple, toto@mondomaine.net correspondra à l'utilisateur toto du serveur mail (monserveur.mondonaine.net). Ses mails arriveront dans le répertoire /home/toto/Maildir/

Configuration du DNS

Cette configuration est à effectuer soit dans le fichier de zone de votre serveur BIND, soit dans l'interface de votre gestionnaire de DNS (ex: GANDI).

# Sur quelle adresse IP pointe monserveur.mondomaine.net ?
monserveur.mondomaine.net 10800 IN A 42.42.42.42

# Quelle machine gère les mails XXX@mondomaine.net ?
@ 10800 IN MX 10 monserveur.mondomaine.net 

On vérifie que le DNS est bien configuré :

$ host monserveur.mondomaine.net
monserveur.mondomaine.net has address 42.42.42.42
$ host mondomaine.net
mondomaine.net mail is handled by 10 monserveur.mondomaine.net.

Installation su serveur SMTP

Le SMTP gère le transfert de courrier de client à serveur et de serveur à serveur On utilise ici exim ; d'autres existent (postfix, qmail, courier-smtp…)

apt-get install exim4 
dpkg-reconfigure exim4-config 

Plusieurs questions sont ensuite posées :

  • Type de configuration : choisir Distribution directe par SMTP ; dans le cas où votre FAI ne laisse pas sortir les connexions SMTP (orange par exemple), choisir Envoi via relais (« smarthost ») - réception SMTP ou fetchmail
  • nom de courrier du système monserveur.mondomaine.net
  • Liste d'adresses IP où Exim sera en attente de connexions SMTP laisser vide (= écouter sur internet).
  • Autres destinations dont le courriel doit être accepté mondomaine.net
  • Domaines à relayer laisser vide
  • Machines à relayer laisser vide
  • Minimiser les connexions DNS : laisser le choix par défaut (Non)
  • Méthode de distribution du courrier local Choisir Format « Maildir »
  • Faut-il séparer la configuration dans plusieurs fichiers Non

Si on veut distribuer du courrier sur le réseau local

Cette manipulation n'est pas nécessaire pour un serveur de mail sur internet. Par défaut, Debian ne distribue pas le courrier sur les adresses privées (type 192.168.0.X par exemple). Pour activer cette distribution : éditer le fichier nano -w /etc/exim4/exim4.conf.template rechercher les lignes suivantes :

ignore_target_hosts = 0.0.0.0 : 127.0.0.0/8 : 192.168.0.0/16 :\
                      172.16.0.0/12 : 10.0.0.0/8 : 169.254.0.0/16 :\
                      255.255.255.255

et les commenter :

# ignore_target_hosts = 0.0.0.0 : 127.0.0.0/8 : 192.168.0.0/16 :\
#                      172.16.0.0/12 : 10.0.0.0/8 : 169.254.0.0/16 :\
#                      255.255.255.255

Il faut puis ensuite redémarrer le serveur SMTP:

/etc/init.d/exim4 restart

Tester l'envoi de mails

À ce point, on peut tester l'envoi de mails *depuis une autre machine* vers notre serveur. Sur la tierce machine :

telnet monserveur.mondomaine.net 25 

réponse :

220 35.tandem ESMTP Exim 4.69 Fri, 23 jan 2009 20:15:50 +0100  : ok 

Le serveur répond « 250 OK » après chaque commande acceptée On envoie une série de commandes au serveur :

helo autremachine
mail from: test@testdomain.net 
rcpt to: utilisateur@mondomaine.net 
data
On écrit ici le corps du message, on indique la fin du message par un point seul sur une ligne.
.

Le serveur nous indique que le mail a été envoyé :

250 OK id=RTRTR3

On n'a plus qu'à fermer la connexion :

quit

Sur la machine monserveur.mondomaine.net, on peut vérifier qu'un fichier a été déposé dans /home/toto/Maildir/

Chiffrement

Afin d'assurer une connexion SMTP sécurisée entre le client et le serveur, on utilise http://fr.wikipedia.org/wiki/Transport_Layer_Security un chiffrement asymétrique TLS ; il nous faut donc générer des certificats ; un script nous est fourni pour aider, lancer :

# /usr/share/doc/exim4/examples/exim-gencert

Une série de questions sont ensuite posées, y-répondre avec bon sens. Les informations rentrées ici seront présentés au client lorsque celui-ci tentera de se connecter en IMAP + TLS. Une question mérite une attention particulière : serveur name : ; il faut donner le nom de machine de notre serveur ; ici on répond monserveur.mondomaine.net.

Authentification

Il est également nécessaire d'authentifier nos utilisateurs en ré-utilisant les comptes (login/password) présents sur la machine. Le serveur d'authentification sasl nous permet de faire ça.

apt-get install sasl2-bin

Puis éditer le fichier /etc/default/saslauthd, changer la ligne

START=no

en

START=yes

Il nous faut ensuite dire à exim de passer par sasl pour l'authentification, pour cela, on décommente (on enlève les ”#” en début de ligne) les paragraphes suivants :

plain_saslauthd_server:
  driver = plaintext
  public_name = PLAIN
  server_condition = ${if saslauthd{{$auth2}{$auth3}}{1}{0}}
  server_set_id = $auth2
  server_prompts = :
  .ifndef AUTH_SERVER_ALLOW_NOTLS_PASSWORDS
  server_advertise_condition = ${if eq{$tls_cipher}{}{}{*}}
  .endif

login_saslauthd_server:
  driver = plaintext
  public_name = LOGIN
  server_prompts = "Username:: : Password::"
  # don't send system passwords over unencrypted connections
  server_condition = ${if saslauthd{{$auth1}{$auth2}}{1}{0}}
  server_set_id = $auth1
  .ifndef AUTH_SERVER_ALLOW_NOTLS_PASSWORDS
  server_advertise_condition = ${if eq{$tls_cipher}{}{}{*}}
  .endif

On autorise ensuite exim à utiliser sasl :

sudo adduser Debian-exim sasl 

Pour finir on démarre sasl et on redémarre exim :

sudo /etc/init.d/saslauthd start
suod /etc/init.d/exim4 restart

Installation du serveur IMAP

Le serveur IMAP permet à un utilisateur de récupérer sa boite aux lettres et ses messages depuis un poste client (par exemple en passant par thunderbird).

sudo apt-get install courier-imap-ssl 

Répondre non à la question.

Le webmail : roundcube

$ sudo apt-get install roundcube

Répondre oui puis choisir la base de données sqlite

Sous ubuntu, il faut installer un paquet supplémentaire :

$ sudo apt-get install php5-sqlite

Dans /etc/apache2/conf.d/roundcubeDécommenter la ligne

#    Alias /roundcube /var/lib/roundcube

puis redémarrer apache :

$ sudo /etc/init.d/apache2 restart

Voilà, c'est prêt, bon app' !

 
ateliers/serveur_mail_janvier2009.txt · Dernière modification: 2011/10/11 16:45 (modification externe)
 
Recent changes RSS feed Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki