Stats serveur (mrtg) Webmail (imap) Reponses.Net Infos serveur (phpsysinfo) Stats web (awstats)


Created with Vim

HowTo installation de serveur mail avec qmail + vpopmail + qmailadmin

Chritophe Sauthier <chris@reponses.net>


Préambule

Tout part des sources

Voici les sources à posséder (ou du moins celles dont l'installation est décrite ici):

  qmail-1.03.tar.gz
  ucspi-tcp-0.88.tar.gz
  checkpassword-0.90.tar.gz
  qmailadmin-1.2.0.tar.gz
  vpopmail-5.4.0.tar.gz

Et de manière optionnelle:

  ezmlm-0.53.tar.gz (sert pour les mailing list)
  ezmlm-idx-0.42.tar.gz (sert pour les mailing lists)
  autorespond-2.0.2.tar.gz (sert pour l'auto-répondeur)
  syncdir-1.0.tar.gz (sert pour l'imap)
  courier-imap-2.2.0.tar.bz2 (sert pour l'imap)
  daemontools-0.76.tar.gz (sert pour l'imap)

Fichiers supplémentaires

Et maintenant voici le nom des fichiers qui seront fournits en annexe, qui servent à la configuration et au lancement de nos applications:

  /etc/tcp_smtp_pop
  /etc/tcpserver_auto
  /var/qmail/rc
  /etc/init.d/smtp_perso
  /etc/init.d/pop_perso
  /usr/lib/courier-imap/etc/imapd
  /etc/init.d/imap
  /etc/init.d/qmail

Chacun de ces fichiers sera expliqué lorsque nous le rencontrerons ou l'utiliserons.

Qmail proprement dit

Une petite remarque

A partir de maintenant je recommande de tout faire en root. Une utilisation plus ponctuelle du superuser aurait pu être faite, mais vu le grand nombre de commandes à effectuer avec ces privilèges (notament des installations), cela est donc une solution trèes acceptable.

Préparons le terrain

Notre système se basant sur qmail, il va falloir l'installer. Je ne vais évoquer que le cas où il s'agit de l'installation du premier logiciel d'envoie de mails du système, ou si le(s) précédent(s) ne servai(en)t pas.
Cette procédure ne change pas (ou pas beaucoup) si un serveur de mail était présent auparavant, il n'y aura que quelques etapes supplèmentaires à rajouter. Pour cela je vous renvoie vers la documentation (très exhaustive) fournie avec les sources de qmail.

Voici donc les commandes pour une installation classique. Encore une fois pour plus d'explications, la documentation inclue dans les sources de qmail est très bien faite, et explique les raisons de ces commandes.

Occupons nous de décompresser son archive
root@huats:# cd /opt/
root@huats:/opt# tar -zxvf qmail-1.03.tar.gz

Créons le repertoire racine de notre installation qmail.
root@huats:/opt# mkdir /var/qmail

Maintenant il faut être sur que les utilisateurs et les groupes nécessaires pour qmail seront présent lors de l'installation, nous allons donc nous occuper de ça maintenant.
root@huats:/opt# groupadd nofiles
root@huats:/opt# useradd -g nofiles -d /var/qmail/alias alias
root@huats:/opt# useradd -g nofiles -d /var/qmail qmaild
root@huats:/opt# useradd -g nofiles -d /var/qmail qmaill
root@huats:/opt# useradd -g nofiles -d /var/qmail qmailp
root@huats:/opt# groupadd qmail
root@huats:/opt# useradd -g qmail -d /var/qmail qmailq
root@huats:/opt# useradd -g qmail -d /var/qmail qmailr
root@huats:/opt# useradd -g qmail -d /var/qmail qmails

Compillons et installons

Le moment tant attendu de la compilation et de la création de l'arborescence du repértoire de qmail.

root@huats:/opt# cd qmail-1.03
root@huats:/opt/qmail-1.03# make setup check

La structure même de qmail (sans configuration avant compilation) fait qu'il n'y a presque aucune raison de recompiler son installation , puisque la pluspart de réglages se font post-compilation...Mais bien sur il y a une exception: le nom de domaine...
root@huats:/opt/qmail-1.03# ./config-fast votre.nom.de.domaine

root@huats:/opt/qmail-1.03# cd alias
root@huats:/var/qmail/alias# touch .qmail-postmaster
root@huats:/var/qmail/alias# touch .qmail-mailer-daemon
root@huats:/var/qmail/alias# touch .qmail-root
root@huats:/var/qmail/alias# chmod 644 alias/.qmail*
root@huats:/var/qmail/alias# cd /opt/qmail-1.03

Une transition aisée

Il y a une grosse différence au niveau du fichier du courrier local entre qmail et binmail (et à son travers sendmail): qmail va le mettre dans le fichier user/Mailbox alors que binmail lui effectue cette tache dans /var/spool/mail/user.

Ainsi pour passer d'un système à l'autre il faut:
  • Faire un move pour chaque utilisateur du fichier /var/spool/mail/user vers
    user/Mailbox. Cette opération doit se faire en mode simple utilisateur.
  • Faire un lien symbolique de /var/spool/mail/user vers user/Mailbox.
    /var/spool/mail doit avoir les permissions 1777 pour éviter toute suppression accidentelle de ces liens.
Attention ! certains programmes n'arrivent pas à suivre des liens symboliques. En cas de problème, consulter les documentations de vos programmes respectifs...

L'amorce générale du système

Enfin nous allons copier le fichier de lancement de qmail de manière à pouvoir autoriser son lancement. Si vous n'utilisez pas procmail, il faut faire:

root@huats:/opt/qmail-1.03# cp /var/qmail/boot/home /var/qmail/rc
Si vous utilisez procmail, il faut utiliser un autre fichier, la commande change un peu:
root@huats:/opt/qmail-1.03# cp /var/qmail/boot/proc /var/qmail/rc

Dès lors il ne reste plus qu'a lancer le système:
root@huats:/opt/qmail-1.03# /var/qmail/rc &

Testons notre récente installation

Les premières vérifications s'attacheront à voir que tout a bien été lancé...Rechercher dans syslog une ligne similaire à

qmail: status: local 0/10 remote 0/20

Un simple ps doit faire apparaitre les quatre daemons de qmail:
qmail-send, qmail-lspawn, qmail-rspawn et qmail-clean.
De plus un processus splogger qmail doit être présent.


Dès lors que tout est bien lancé, testons le comportement de cette installation.

  • Commençons par un mail en local pour chris, un utilisateur existant. D'ailleurs envoyons ce mail depuis le fameux utilisateur chris.
    root@huats:/opt/qmail-1.03# su - chris
    chris@huats:$ echo to: chris | /var/qmail/bin/qmail-inject
    Immédiatement vous devriez recevoir le mail dans la boite aux lettres de chris, et avoir une trace de ce mail dans syslog.

  • Faisons maintenant le même test mais en envoyant cette fois le mail à un utilisateur toto, non existant sur le système.
    chris@huats:$ echo to: toto | /var/qmail/bin/qmail-inject
    Vous devriez recevoir immédiatement dans la boite aux lettres de chris (/home/chris/Mailbox pour rappel), une notification comme quoi le mail n'a pas pu etre remis. De plus il doit y avoir dans syslog la trace de deux mails: le premier vers toto qui ne peut pas aboutir et le second vers chris.

  • Passons à un test d'envoi de mail vers un compte d'une machine distante. Bien sur il faut une adresse mail dont vous pouvez consultez la boite aux lettres.
    chris@huats:$ echo to: docqmail@reponses.net |
    /var/qmail/bin/qmail-inject
    Si tout fonctionne (ce qui il faut bien l'avouer est nécessaire), au bout d'un temps assez court vous devriez voir apparaître ce message dans la boite aux lettres distante. Pour savoir quand vous pouvez regarder, encore une fois un tour du coté de syslog vous aidera: le temps de pause est celui entre starting delivery et success .

  • Verifions maintenant que le postmaster peut recevoir des mails. Nous allons par la même verifier que les alias fonctionnent. La syntaxe de postmaster de doit pas tenir compte de la casse
    chris@huats:$ echo to: POSTMasTER | /var/qmail/bin/qmail-inject
    Le mail qui vient juste d'être envoyé doit être accessible dans alias/Mailbox.

Les principaux tests viennent donc d'être effectués et réussis :-) Pour terminer l'installation de qmail, à proprement parlé, je dois avouer que pour plus de transparence, je n'enlève pas sendmail de ma machine, mais par contre je vais remplacer les véritables fichiers de sendmail par ceux de qmail.

root@huats:# mv /usr/lib/sendmail /usr/lib/sendmail.vrai
root@huats:# mv /usr/bin/sendmail /usr/bin/sendmail.vrai
root@huats:# ln -s /var/qmail/bin/sendmail /usr/lib/sendmail
root@huats:# ln -s /var/qmail/bin/sendmail /usr/bin/sendmail


Continuons notre installation en essayant s'attacher à combler certains manques de qmail par l'ajout de programmes additionnels.

Réglons le problème de la securité de l'installation

Pour avoir une meilleure gestion des connexions de notre futur système, il faut installer ucspi-tcp. Son installation est très simple:

root@huats:# cd /opt/
root@huats:/opt# tar -zxvf ucspi-tcp-0.88.tar.gz
root@huats:/opt/ucspi-tcp-0.88# make
root@huats:/opt/ucspi-tcp-0.88# make setup check
Et la configuration n'est pas bien compliquée non plus. En fait il va falloir décider quels sont les services accessibles et par qui. Une sage décision est de n'autoriser l'envoie de mail que depuis le réseau local, qui lui est sensé etre sûr et ainsi ne pas agir comme un Open Relay vis à vis de la jungle Internet.
C'est le rôle du fichier /etc/tcp_smtp_pop
root@huats:/opt/ucspi-tcp-0.88# cat /etc/tcp_smtp_pop
192.168.:allow,RELAYCLIENT=""
:allow

Ce fichier employé seul, permet de se connecter sur la machine depuis n'importe où, en positionnant si l'on vient du réseau local la varibale RELAYCLIENT. Il interagira avec un autre fichier pour restreindre les destinataires.
A noter que cette manière d'autoriser les connexions est nécessaire si l'on veut pouvoir recevoir des mails. Sinon l'on décide de placer la commande ``deny'' pour toutes les connexions venant hors du réseau local, il refusera aussi les connexions visant à delivrer des mails aux boites aux lettres de la machine (virtuelle ou non).

Il faut également savoir que ce fichier ne sert pas tel quel. Il doit en effet être transformé dans le format cdb pour que tcpserver puisse l'utiliser, ce qui se fait en utilisant la commande tcprules.
Pour plus de commodité (et pour ne plus avoir à me souvenir cette commande) je me sers d'un script personel (tcpserver_auto) qui me transforme automatiquement mon fichier
/etc/tcp_smtp_pop dans le fichier /etc/tcp_smtp_pop.cdb désiré. Pour l'executer, il ne nécite pas de paramètres, il faut être dans le répertoire /etc.
src_docs/tcpserver_auto.tex

root@huats:/opt/ucspi-tcp-0.88# cd /etc
root@huats:/etc# chmod +x tcpserver_auto
root@huats:/etc# /etc/tcpserver_auto

Gérer les mots de passes

Le systèmes étant prêt pour l'envoie de mail, il faut rajouter quelques éléments pour la reception. Commençons par gérer les mots de passe.
Installons donc checkpassword:

root@huats:/etc# cd /opt
root@huats:/opt# tar -zxvf checkpassword-0.90.tar.gz
root@huats:/opt# cd checkpassword-0.90
root@huats:/opt/checkpassword-0.90# make
root@huats:/opt/checkpassword-0.90# make setup check

On va tester notre installation immédiatement, pour voir si la gestion des mots de passe se fait correctement. le premier test est fait pour ne pas marcher :-) et consiste à donner un mot de passe erroné pour un utilisateur réel du système.
root@huats:/opt#

root@huats:/opt/checkpassword-0.90# cd ..
root@huats:/opt# /var/qmail/bin/qmail-popup blah /bin/checkpassword pwd
+OK <...@...>
user chris
+OK
pass toto
-ERR authorization failed
root@huats:/opt#

Si on refait la même chose avec un utilisateur valide de la machine et son mot de passe associé, alors le nom de son répertoire $home doit être fournit par le serveur.

root@huats:/opt# /var/qmail/bin/qmailpopup blah /bin/checkpassword pwd
+OK <...@...>
user chris
+OK
pass monpassword
/home/chris
root@huats:/opt#

Mise en place des scripts de démarrage

Pourquoi faire des scripts de démarrage alors que bien sur notre serveur ne tombera jamais ? Mais tout simplement car si jamais il doit tomber de manière accidentelle (ou pas, suite à un ajout de matériel), l'administrateur du serveur (c'est à dire vous) risque d'avoir autre chose à faire que de se demander comment lancer le serveur mail qui marchait si bien... C'est pourquoi je vais détailler mes scripts de lancement, qui bien sur tiennent compte de nos règles de connexion...

Lancement du serveur smtp

Ce script est en fait un appel à tcpserver, et c'est lui qui va faire les appels qui conviennent.
C'est ainsi que l'on se sert des règles de connexion réalisées précédement
(-x /etc/tcp_smtp_pop.cdb), mais que l'on précise également les UID et GID à prendre après l'initialisation du wrapper (-u 7770 -g 2108). On lui passe le protocole (smtp) que l'on veut filtrer , les commandes à utiliser (/var/qmail/bin/qmail-smtpd) et le fait d'attendre les informations du réseau (0). Enfin on le place en mode verbose pour être bavard (-v). Tout cela nous donne le résultat suivant:
src_docs/smtp_perso.tex

Lancement du serveur pop

Encore une fois on se sert de tcpserver. Cette fois ci les options sont légèrement différentes, puisque même si on lui demande toujours découter sur le réseau, il s'agit cette fois d'un service différent (pop3), nécessitant le lancement de commande différente (/var/qmail/bin/qmail-popup racoon.no-ip.org) tout en fixant le nom du serveur (vous comprendrez comment en regardant le script :-)). Enfin les options (-H -R) servent cette fois à éviter des boucles dans les interrogations de DNS. Tout celà conduit au résutltat qui suit:
src_docs/pop_perso.tex

Le script fournit avec les sources

Dans mon lancement je modifie (très) légèrement le script par défaut que l'on peut trouver dans les sources de qmail. En fait je ne fais que rajouter un & à la fin de la ligne qui permet de lancer les différents processus, ce qui donne le résultat suivant:
src_docs/rc.tex

Lancement général

Ce script est celui qui va être lancé par les différents runlevels, il faut donc faire les lien correspondant, ou se servir de la commande update-rc.d.
Dans mon cas, il s'agit de /etc/init.d/qmail, mais libre à vous de lui donner un nom différent.
A l'intérieur du script que nous examinons, l'appel aux scripts précédents est évident, il faudra donc bien s'assurer que tous les scripts de lancement soient éxécutables:
src_docs/qmail_init.tex


A partir de ce stade on peut dire que le système est prêt envoyer et recevoir des mails. Mais nous allons continuer à installer quelques applications supplémentaires pour faciliter la gestion des domaines virtuels et des utilisateurs du serveur mail en cours d'installation. Pour cela la solution retenue (la plus simple à mon avis), fait intervenir 2 sortes de manipulations: une partie en mode texte (vpopmail) et une autre partie en mode graphique (qmailadmin).

Vers une administration facile

Installons vpopmail: C'est ce qui permet de gérer les domaines, cela permet aussi de gérer les utiliateurs mais de manière bcp plus avancées que ce que l'on veut faire...et puis il y a l'interface graphique qui vient plus tard...

Quelques préparatifs

Tout d'abord il faut créer un utilisateur pour vpopmail...son appartenance au groupe vchkpw, de GID (numéro de groupe) 89 , sont recommandés, c'est donc ce que nous allons faire.

root@huats:/opt# groupadd -g 89 vchkpw
root@huats:/opt# useradd -g vchkpw -u 89 vpopmail
root@huats:/opt# mkdir /home/vpopmail
root@huats:/opt# chown vpopmail.vchkpw /home/vpopmail

L'installation de vpopmail proprement dite

Je vais décrire ici les options de configuration que j'utilise pour moi (et que donc je recommande) et son installation:

root@huats:/opt# tar -zxvf vpopmail-5.4.0.tar.gz
root@huats:/opt# cd vpopmail-5.4.0
root@./configure - -enable-tcpserver-file=/etc/tcp_smtp_pop
- -disable-clear-passwd - -enable-roaming-users
- -enable-relay-clear-minutes=2

Normalement dès lors tout doit pouvoir tout être fait, en se servant uniquement de vpopmail, mais il existe une interface graphique (qmailadmin) qui permet de faire beaucoup de choses de manière propre et facile, alors autant l'utiliser...

Installons qmailadmin

Dans la version présentée ici je vous propose de ne pas se servir des possibilitées exotiques ce qui pour ma part va se résumer à ne pas installer le support pour les bases de données (bien qu'il puisse, notament, supporter MySQL, et Oracle), car tout ceci n'est qu'un à coté qui ne va pas (me) servir à gd chose si ce n'est à compliquer la chose et à rendre les opérations plus délicates...et surtout inutile pour un petit nombre d'utilisateurs. Dans le même soucis de simplicité nous n'allons pas, dans un premier temps, offrir la possibilité de gérer de manière efficace les listes de diffusion (grâce à ezmlm), ni celle d'avoir des autorépondeurs (en se servant cette fois de autorespond).

root@huats:/opt# tar -zxvf qmailadmin-1.2.0.tar.gz
root@huats:/opt# cd qmailadmin-1.2.0
root@huats:/opt/qmailadmin-1.2.0# ./configure\
  - -enable-autoresponder-bin=n\
  - -enable-ezmlmdir=n\
  - -enable-cgibindir=/usr/lib/cgi-bin\
  - -enable-htmldir=/var/www\
  - -with-htmllibdir=/var/www/qmailadmin\
  - -enable-modify-quota - -enable-modify-spam

root@huats:/opt/qmailadmin-1.2.0# make
root@huats:/opt/qmailadmin-1.2.0# make install-strip

Si par hasard vous désirez intégrer les options de mailing list ou les robots (pour faire l'autorespondeur), il est très simple de les activer.
Nous allons d'ailleurs nous intéresser à leur installation...

Pour gérer l'autorépondeur

Comme son nom l'indique assez bien, c'est ce que réalise très bien le programme autorespond. Et comme nous allons le voir son installation est très facile, alors pourquoi s'en priver...

root@huats:/opt/# tar -zxvf autorespond-2.0.2.tar.gz
root@huats:/opt/autorespond-2.0.2# make
root@huats:/opt/autorespond-2.0.2# make install

Pour gérer les listes de diffusion

Il existe un gestionnaire de liste de diffusion spécialement écrit pour qmail: il s'agit de ezmlm. Son installation est elle aussi très simple. Nous prendrons ici les valeurs par défaut de qmail (/var/qmail), des man (/usr/local/man) et du répertoire d'installation de ezmlm
(/usr/loca/bin/ezmlm).
root@huats:/opt/# tar -zxvf ezmlm-0.53.tar.gz
root@huats:/opt/# cd ezmlm-0.53
root@huats:/opt/ezmlm-0.53/# make
root@huats:/opt/ezmlm-0.53/# make man
root@huats:/opt/ezmlm-0.53/# make setup

Comme souvent, il va falloir tester ce que l'on vient de rejouter à notre système, c'est ce que nous allons faire immédiatement. Mais avant il faut bien veiller à ce que ezmlm-make et qmail-inject soient dans votre $PATH, sinon il faut respectivement rajouter
/usr/local/bin/ezmlm et /var/qmail/bin à ce dernier.
Nous allons effectuer quelques tests en mode utilisateur normal pour etre bien sur que notre installation de ezmlm fonctionne. Mais nous n'allons pas rentrer dans les détails de fonctionnement de la gestion des mailing listes, ce n'est pas l'endroit pour le faire, et je ne peux que vous encourager à fouiller le grand Internet pour trouver votre bonheur...

  • Commençons par créer notre liste de tests, dont le nom sera assez explicite:
    chris@huats:$ ezmlm-make listetest .qmail-listetest\
      chris-listetest nom_du_serveur

  • C'est bien, d'avoir une liste, mais si personne ne s'en sert celà ne sert pas à grand chose. Nous allons donc nous y inscrire en ligne de commande:
    chris@huats:$ ezmlm-sub testlist chris@nom_du_serveur
  • Essayons dès maintenant d'envoyer un message à la liste, message que vous allez recevoir (si tout va bien) dans le compte qui vient d'être ajouté à la ML:
    chris@huats:$ echo subject:test | qmail-inject\
      chris-listetest@nom_du_serveur

  • Et justement pour vérifier que le compte a bien été ajouté, nous allons lister les membres de la liste:
    chris@huats:$ ezmlm-list chris-listetest

Tout faire marcher ensemble

Bien sur il faut dire à qmailadmin que l'on vient de rajouter des fonctionalités en plaçant dans la ligne de commande de son configure (et donc en remplaçant les options correspondantes):

- -enable-autoresponder-bin=/usr/local/bin/ Pour activer la gestion des autorépondeurs.  
- -enable-ezmlmdir=/usr/local/bin/ezmlm/ Pour mettre en place la gestion des mailing lists.  

Il ne reste plus qu'à recommencer l'installation de qmailadmin avec la nouvelle ligne pour le configure et suivre les étapes précédentes...

Installation et configuration de l'IMAP

L'IMAP est de plus en plus répandu, tant il est vrai qu'il offre des possibilités intéressantes pour ce qui est de la mobilité que des Webmails disponibles.

Voici donc les étapes pour avoir un serveur IMAP qui tourne parfaitement avec votre configuration actuelle.


Installation de syncdir

L'IMAP créé un besoin de synchro au niveau de la gestion des fichiers et des répertoires. C'est dans ce but que nous allon utiliser syncdir puisqu'il permet de s'affranchir de ce manque des systèmes de fichiers tels que ext2/3, ReiserFS...
syncdir est disponible à http://untroubled.org/syncdir/

root@huats:/opt# tar -zxvf syncdir-1.0.tar.gz .
Copier le fichier syncdir.c dans le répertoire source de qmail. Ainsi si vous avez suivi les répertoires proposés ici, il s'agit de faire:
root@huats:/opt# cp syncdir-1.0/syncdir.c /opt/qmail-1.03/

Dès lors compilons syncdir pour qu'il fonctionne avec qmail:

root@huats:/opt# cd qmail-1.03
root@huats:/opt/qmail-1.03# ./compile syncdir.c
root@huats:/opt/qmail-1.03# ./makelib libsyncdir.a syncdir.o
root@huats:/opt/qmail-1.03# cd ..

Enfin nous devons nous assurer que qmail utilise bien à chaque chargement cette nouvelle possibilité que nous venons de rajouter. Pour celà il y suffit de changer make-load.sh pour obtenir un résultat similaire (seule la dernière ligne est modifiée) src_docs/make-load.sh.tex

Installation de courier-imap

courier-imap est un serveur IMAP qui a été écrit pour fournir un accès aux boites mail de type Maildir, c'est à dire celles utilisées par qmail (mais également dans exim et postfix). Nous allons donc l'installer, pour ajouter l'IMAP à notre installation. Ici encore les options utilisées sont simplissimes, et n'introduisent pas de notions ou de besoins particuliers (nous évitons par exemple LDAP ou les différentes bases de données supportées).

Il vous faudra juste sur votre système, les headers des librairies ssl et gdbm.
Sous debian, un simple apt-get install libssl-dev et libgdbm-dev suffit. Dès lors vous êtes prets.

root@huats:/opt# tar -jxvf courier-imap-2.2.0.tar.bz2 .
root@huats:/opt# cd courier-imap-2.2.0
root@huats:/opt/courier-imap-2.2.0# ./configure\
  - -disable-root-check - -without-authpam\
  - -without-authpwd - -without-authshadow\
  - -without-authuserdb - -without-authpgsql\
  - -without-authdaemon - -without-authcustom\
  - -with-authvchkpw - -with-ssl - -without-userdb

root@huats:/opt/courier-imap-2.2.0# make
root@huats:/opt/courier-imap-2.2.0# umask 022
root@huats:/opt/courier-imap-2.2.0# make install-strip
root@huats:/opt/courier-imap-2.2.0# make install-configure

Une grande partie de la configuration de courier-imap se fait dans le fichier
/usr/lib/courier-imap/etc/imapd. Le point important est au niveau des méthodes d'authentification (et notament leur ordre), c'est à dire le module authvchkpw dans le champ
AUTHMODULES. Dans mon fichier de config (disponible dans l'archive). La configuration est:

AUTHMODULES="authvchkpw authuserdb authshadow authpwd"

Pour les autres champs, les valeurs initiales sont correctes.

Installation de daemonstools

daemontools est une collection d'outils pour superviser différents services.
Il est nécessaire d'installer de les installer pour avoir un enregistrement efficace des log.

Commençons par installer ces outils:
root@huats:/opt# tar -zxvf daemontools-0.76.tar.gz
root@huats:/opt# cd admin/daemontools-0.76
root@huats:/opt/admin/daemontools-0.76# package/install

Maintenant que les outils sont en place, nous allons nous occuper à mettre en place les répertoires necesaires aux différentes supervision que nous voulons effectuer.
root@huats:/opt# mkdir -p /var/qmail/supervise/imapd/log
root@huats:/opt# mkdir -p /var/log/qmail/imapd
root@huats:/opt# mkdir -p /var/log/qmail/pop3d
root@huats:/opt# mkdir -p /var/log/qmail/smtpd
root@huats:/opt# chown qmaill /var/log/qmail/imapd
root@huats:/opt# chown qmaill /var/log/qmail/pop3d
root@huats:/opt# chown qmaill /var/log/qmail/smtpd

Nous allons maintenant créer les fichiers de lancement de l'IMAP et du fichier de log associé.
root@huats:/opt# cp /opt/qmail/fichiers_config/imapd_run\
/var/qmail/supervise/imapd/run
root@huats:/opt# cp /opt/qmail/fichiers_config/imapd_log_run\
/var/qmail/supervise/imapd/log/run
root@huats:/opt# chmod +x /var/qmail/supervise/imapd/run
root@huats:/opt# chmod +x /var/qmail/supervise/imapd/log/run

Il faut pouvoir passer des variables d'environement pour que l'IMAP puisse fonctionner.
supervise nous permet de le faire efficacement. Nous allons donc le faire ici.
root@huats:/opt# mkdir /var/qmail/supervise/imapd/env
root@huats:/opt# chmod +x envconv.pl
root@huats:/opt# /opt/qmail/fichiers_config/envconv.pl <\
/usr/lib/courier-imap/etc/imapd
root@huats:/opt# ln -s /var/qmail/supervise/imapd /service

Désormais pour faire fonctionner l'IMAP, il suffit de rajouter le fichier de lancement correspondant dans les différents runlevels. Voici mon fichier /etc/init.d/imap. src_docs/imapd.tex

Et maintenant...

Prévenir de son succes

Ça y est, tout est en place pour faire fonctionner votre serveur mail comme VOUS l'entendez. Mais avant de s'en servir, il convient de faire, si vous le désirez, une notification de succes à l'auteur de qmail (qui s'avère également être celui de pas mal des logiciels que l'on vient d'installer)
chris@huats:$ cd /opt/qmail-1.03
chris@huats:$ exit


D'ailleurs si vous voulez, et je vous encourage à le faire, vous pouvez faire la même chose avec une adresse mail que je consulte : docqmail@reponses.net...histoire que je sois au courant si des gens utilisent cette petite documentation...

Il ne me reste plus qu'à vous donner une petite notice explicative sur la manière (assez intuitive) de se servir de tout ça. Nous allons traiter de la partie pop/imap, puisque la partie smtp est plutot évidente: envoyez un mail (depuis le réseau local, souvenez-vous) à votre machine sur le port 25 et elle s'occupe de tout... Le plus simple que j'ai trouvé, consiste à faire fait intervenir 2 sortes de manipulations. En mode Texte et en mode Graphique.

Mode Texte

C'est celui qui va vous servir pour rajouter des domaines virtuels. Se logguer en en root, puis faire:
root@huats:/opt/qmailadmin-1.0.5/# cd /home/vpopmail/bin/
root@huats:/home/vpopmail/bin/# ./vadddomain <nom_du_domaine_à_ajouter>
Les instructions à l'écran sont dès lors assez évidentes, puisqu'il ne demande que le mot de passe du postmaster de ce futur domaine (que l'on doit confirmer).


A l'inverse c'est une opération similaire pour effacer des domaines virtuels, dont la commande est de la forme:

root@huats:/home/vpopmail/bin/# ./vdeldomain <nom_du_domaine_à_supprimer>
La suppression se faisant automatiquement...

Mode Graphique

Une fois le(s) domaines ajouté(s), il va faloir s'occuper de le(s) gérer. Pour cela nous allons nous servir de l'interace Web accessible à l'adresse http://Nom_De_La_Machine/cgi-bin/qmailadmin/
Pour modifier les utilisateurs, les alias, les mailing listes d'un domaine, il suffit de se logguer alors en postmaster pour ce domaine (nom de domaine + mot de passe du postmaster correspondant).
Mais vous pouvez également donner cette URL à vos utilisateurs pour qu'ils puissent eux même modifier certains paramètres (je pense essentiellement aux messages des autorépondeurs). Bien entendu les changements possibles ne se feront qu'au niveau de son propre compte...

Pour consulter sa messagerie

Un dernier détail qui a son importance: pour pouvoir consulter sa messagerie en POP3 (l'imap étant inchangé à ce niveau), l'utilisateur ``utilisateur'' du domaine ``domaine.org'' va devoir donner comme identifiant: utilisateur%domaine.org (et le mot de passe qui lui est associé), Vous êtes maintenant pret à faire fonctionner votre serveur de mail...

About this document ...

HowTo installation de serveur mail avec qmail + vpopmail + qmailadmin

This document was generated using the LaTeX2HTML translator Version 2002-2-1 (1.70)

Copyright © 1993, 1994, 1995, 1996, Nikos Drakos, Computer Based Learning Unit, University of Leeds.
Copyright © 1997, 1998, 1999, Ross Moore, Mathematics Department, Macquarie University, Sydney.

The command line arguments were:
latex2html installation_serveur_mail.tex -split=0

The translation was initiated by Christophe Sauthier on 2004-10-30

Christophe Sauthier 2004-10-30