Subscribe:

Ads 468x60px

dimanche 16 janvier 2011

Mettre en place un serveur mail local de test sur Ubuntu 10.04

     J'aimerais dans ce post répertorier les étapes à suivre afin d'avoir un serveur mail opérationnel sur ubuntu lucid. L'objectif final est de pouvoir envoyer et recevoir des mails à partir de Mozilla Thunderbird.
Voici la liste des outils que nous allons installer pour référence: postfix, dovecot, et thunderbird. Je ne m'occupe pas ici des questions de sécurité (authentifications ssl) car c'est juste pour des tests en local.
Un peu d'explications d'abord. Pour avoir un serveur mail, il faut au minimum un MTA (Mail Transfert Agent) pour envoyer les mails via smtp et dans notre cas ce sera Postfix; un MDA (Mail Delivery Agent) pour charger les mail du serveur via imap ou pop3 et dans notre cas ce sera Dovecot et enfin un client mail comme Thunderbird. Le principe de fonctionnement est transparent mais je me repète quand meme: Thunderbird est l'interface ou l'utilisateur rédige son mail, l'envoie et consulte ses mails reçus. Ainsi Thunderbird va se servir de Postfix pour envoyer les mails tandis que Dovecot va extraire les mails du serveur et les envoyer à Thunderbird.
Passons maintenant à l'installation-configuration.
Tout d'abord, nous allons modifier le fichier /etc/hosts pour y insérer l'entrée suivante:
127.0.0.1   mon-site.com
Vous pouvez remplacer 'mon-site.com' par le nom de domaine que vous voulez.

Postfix
1. Taper en ligne de commande:
$ sudo aptitude install postfix
2. Ensuite taper 'Entrée'. Si l'affichage ne change pas meme en tapant entrée plusieurs fois, ouvrir un autre shell et terminer le processus contenant 'whiptail' et 'dpkg'; ce plantage m'est souvent arrivé.
3. Sélectionner 'Site Internet' et taper 'Entrée'
4. Saisir le nom de domaine de votre serveur par exemple "mon-site.com" et taper 'Entrée'
5. Ouvrir le fichier de config de Postfix en tapant:
$ sudo gedit /etc/postfix/main.cf
6. Modifier ce fichier pour qu'il contienne les lignes suivantes:
smtpd_tls_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
smtpd_tls_key_file=/etc/ssl/private/ssl-cert-snakeoil.key
smtpd_use_tls=yes
smtpd_tls_session_cache_database = btree:${queue_directory}/smtpd_scache
smtp_tls_session_cache_database = btree:${queue_directory}/smtp_scache
myhostname = mon-site.com
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
myorigin = /etc/mailname
mydestination = mon-site.com, localhost.localdomain, localhost
relayhost = 
mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128
mailbox_size_limit = 0
recipient_delimiter = +
inet_interfaces = all
html_directory = /usr/share/doc/postfix/html
inet_protocols = all

Bien sur il faut remplacer 'mon-site.com' par votre nom de domaine. 
Il faut redémarrer postfix pour qu'il tienne compte des modifications.
$ sudo /etc/init.d/postfix restart 
Pour s'assurer que Postfix est bien installé, vous pouvez taper:
$ telnet mon-site.com 25
Un résultat semblable au suivant devrait s'afficher, sinon laissez un commentaire après cet article.
 Trying 127.0.0.1...
Connected to intranept.com.
Escape character is '^]'.
220 intranept.com ESMTP Postfix (Ubuntu)
Maintenant pour ajouter des comptes mails, en fait il faut ajouter des utilisateurs linux. 
La commande est la suivante:
$ sudo useradd -m NOM_UTILISATEUR
$ sudo passwd NOM_UTILISATEUR
Vous devez bien sur remplacer NOM_UTILISATEUR par le nom du nouvel utilisateur.
Pour tester voir si le mail marche (en supposant que vous avez des utilisateurs du nom de 'webmaster' 
et 'client'), saisissez ces commandes à la suite:
$ sudo apt-get install mailutils    //utilitaires permettant de lire les mails
$ telnet mon-site.com 25       //connexion au serveur smtp 
ehlo mon-site.com              //le resultat de cette ligne devrait contenir '250-mon-site.com'
mail from: webmaster@mon-site.com  //debut du mail expediteur
rcpt to: client@mon-site.com       //destinataire
data                               //debut du message
Ceci est un mail de test.
.                                  //fin du mail et envoi
quit                              //fin de la session smtp
$ su - client                    //connexion en tant qu'utilisateur 'client'
$ mailx                          //lire les mails de l'utilisateur 'client'
?1                               //choisir le mail 1
?quit                            //fin de la lecture des mails
 
Si toutes ces étapes se déroulent normalement, c'est que postfix fonctionne bien. Sinon relire la doc ou poster un comm.
 
Dovecot
1. Installer dovecot
$ sudo apt-get install dovecot-imapd dovecot-pop3d
2. Ouvrir le fichier de configuration de Dovecot dans un éditeur
$ sudo gedit /etc/dovecot/dovecot.conf
3.  Ajouter ou décommenter les lignes suivantes:
protocols = pop3 pop3s imap imaps 
mail_location = mbox:~/mail:INBOX=/var/mail/%u
4. Démarrer et tester Dovecot
$ sudo /etc/init.d/dovecot start
$ telnet localhost imap 
a logout                        //pour quitter la session 
Si quelque chose cloche laissez un comm.

Thunderbird
1. Ouvrir 'Ubuntu Software Center' généralement dans 'System->Administration'
2. Chercher Thunderbird et l'installer.
3. Ouvrir Thunderbird et ajouter les utilisateurs que nous avons créé auparavant (nom et mot de passe), 
il fera la connexion automatiquement avec les serveurs smtp et imap.
Confirmer les exceptions de sécurité et consorts. 
4. Envoyer des mails d'un utilisateur à l'autre pour vérifier que ça fonctionne.
 
Et voilà.
Pour des articles plus élaborés consulter: faire une recherche google pour 'mail server on linux'.
Liens que j'ai utilisés: 
https://help.ubuntu.com/community/Dovecot 
http://adomas.org/2006/08/postfix-dovecot/
http://library.linode.com/email/postfix/dovecot-mysql-ubuntu-9.10-karmic 

0 comments:

Enregistrer un commentaire