5
1 Marie-pascale Delamare TP LINUX : MISE EN PLACE DU SERVEUR DE MESSAGERIE QMAIL Au cours de ce TP, vous allez installer un serveur de courrier sur un réseau local. Les étapes par lesquelles vous allez passer sont les suivantes : - Installation de l’environnement technique pour réaliser la compilation du serveur de courrier ; - Installation et compilation du serveur de courrier qmail ; - Configuration du serveur de courrier ; - Création des boîtes aux lettres des utilisateurs ; - Tests en local de votre serveur de courrier ; - Mise en réseau du serveur de courrier ; - Paramétrage des clients de courrier Linux Kmail et Windows Outlook Express ; - Automatisation du démarrage du serveur de courrier qmail ; Pour réaliser ce TP, deux machines sont nécessaires, une sous Linux et l’autre sous Windows. Cette dernière peut être dans la salle 4. Les deux machines sont en réseau poste à poste. I INSTALLATION DE L’ENVIRONNEMENT DE COMPILATION Pour compiler le programme qmail, écrit en C, sous Linux, nous avons besoin de la commande make, d’un compilateur C (gcc), des bibliothèques de développement C (libc6-dev) et de quelques autres packages. Donc en mode commande et en root : apt-get update apt-get install libgdbm-dev make gcc libc6-dev g++ patch csh II INSTALLATION ET COMPILATION DU SERVEUR DE MESSAGERIE QMAIL Récupérez le package netmail-1.05.tar.gz sur internet ou sur le serveur NT, répertoire Qmail, et enregistrez le dans le répertoire /usr/local/src. Décompactez le de préférence dans le répertoire /usr/local/src (répertoire des sources) avec la commande tar -zxvf netmail-1.05.tar.gz. Vous pouvez aussi utiliser « konqueror » en root et choisir « extraire ici ». Allez dans le répertoire /usr/local/src/netmail-1.05 et lancez le script ./collate.sh ; Allez dans le répertoire /usr/local/src/netmail-1.05/netmail-1.05 et lisez le fichier INSTALL.xxx. Créez le répertoire /var/qmail. Créez les utilisateurs dont le nom est précisé dans le fichier INSTALL.ids. Vous pouvez vous créer un petit script bash. Compilez qmail par la commande make setup check en étant dans le répertoire /usr/local/src/netmail-1.05/netmail-1.05. III CONFIGURATION DU SERVEUR DE MESSAGERIE QMAIL Les opérations suivantes s’effectuent sous le compte root en mode console.

MISE EN PLACE DU SERVEUR DE MESSAGERIE …mariepascal.delamare.free.fr/IMG/pdf/TPqmail.pdf · 1 Marie-pascale Delamare TP LINUX : MISE EN PLACE DU SERVEUR DE MESSAGERIE QMAIL Au cours

  • Upload
    ngocong

  • View
    215

  • Download
    0

Embed Size (px)

Citation preview

Page 1: MISE EN PLACE DU SERVEUR DE MESSAGERIE …mariepascal.delamare.free.fr/IMG/pdf/TPqmail.pdf · 1 Marie-pascale Delamare TP LINUX : MISE EN PLACE DU SERVEUR DE MESSAGERIE QMAIL Au cours

1 Marie-pascale Delamare

TP LINUX : MISE EN PLACE DU SERVEUR DE MESSAGERIE QMAIL

Au cours de ce TP, vous allez installer un serveur de courrier sur un réseau local. Les étapes par lesquelles vous allez passer sont les suivantes :

- Installation de l’environnement technique pour réaliser la compilation du serveur de courrier ;

- Installation et compilation du serveur de courrier qmail ;

- Configuration du serveur de courrier ;

- Création des boîtes aux lettres des utilisateurs ;

- Tests en local de votre serveur de courrier ;

- Mise en réseau du serveur de courrier ;

- Paramétrage des clients de courrier Linux Kmail et Windows Outlook Express ;

- Automatisation du démarrage du serveur de courrier qmail ;

Pour réaliser ce TP, deux machines sont nécessaires, une sous Linux et l’autre sous Windows. Cette dernière peut être dans la salle 4. Les deux machines sont en réseau poste à poste.

I INSTALLATION DE L’ENVIRONNEMENT DE COMPILATION

Pour compiler le programme qmail, écrit en C, sous Linux, nous avons besoin de la commande make, d’un compilateur C (gcc), des bibliothèques de développement C (libc6-dev) et de quelques autres packages.

Donc en mode commande et en root :

apt-get update

apt-get install libgdbm-dev make gcc libc6-dev g++ patch csh

II INSTALLATION ET COMPILATION DU SERVEUR DE MESSAGERIE QMAIL

Récupérez le package netmail-1.05.tar.gz sur internet ou sur le serveur NT, répertoire Qmail, et enregistrez le dans le répertoire /usr/local/src. Décompactez le de préférence dans le répertoire /usr/local/src (répertoire des sources) avec la commande tar -zxvf netmail-1.05.tar.gz. Vous pouvez aussi utiliser « konqueror » en root et choisir « extraire ici ».

Allez dans le répertoire /usr/local/src/netmail-1.05 et lancez le script ./collate.sh ;

Allez dans le répertoire /usr/local/src/netmail-1.05/netmail-1.05 et lisez le fichier INSTALL.xxx.

Créez le répertoire /var/qmail.

Créez les utilisateurs dont le nom est précisé dans le fichier INSTALL.ids. Vous pouvez vous créer un petit script bash.

Compilez qmail par la commande make setup check en étant dans le répertoire /usr/local/src/netmail-1.05/netmail-1.05.

III CONFIGURATION DU SERVEUR DE MESSAGERIE QMAIL

Les opérations suivantes s’effectuent sous le compte root en mode console.

Page 2: MISE EN PLACE DU SERVEUR DE MESSAGERIE …mariepascal.delamare.free.fr/IMG/pdf/TPqmail.pdf · 1 Marie-pascale Delamare TP LINUX : MISE EN PLACE DU SERVEUR DE MESSAGERIE QMAIL Au cours

2 Marie-pascale Delamare

Pour configurer Qmail on va utiliser un script, qui se situe dans le répertoire /usr/local/src/netmail-1.05/netmail-1.05. Le script « config » si on a un serveur Dns ou le script config-fast sinon. Pour cela passer la commande ./config-fast nomduserveur.nomdudomaine en étant dans le répertoire /usr/local/src/netmail-1.05/netmail-1.05.

Les fichiers mis à jour par cet assistant se situent dans le répertoire /var/qmail/control.

Visualisez le contenu de ce répertoire en mode console : ___________________________________

Visualisez le contenu du fichier me : ___________________________________________________

Le seul fichier réellement important dans notre cas est le fichier me qui contient le nom de serveur (au sens Internet) dans lequel est situé le serveur de courrier. Le fichier rcpthosts contient les noms des serveurs SMTP dont les transferts de courrier seront acceptés. Le fichier locals contient le domaine du serveur pour lequel qmail délivrera les courriers aux utilisateurs connus dans le fichier /etc/passwd. Nous ne toucherons pas aux autres paramètres. Pour plus de détails se référer à l’aide.

IV CRÉATION DES BOÎTES AUX LETTRES DES UTILISATEURS.

Vous devez créer la boîte aux lettres de l’utilisateur « delmp ». Connectez-vous sous le nom « delmp », dans la console, en utilisant les commandes login et logout .

Allez dans le répertoire /var/qmail/bin et passez les deux commandes suivantes : ./maildirmake $HOME/Maildir (ce qui revient à créer un répertoire de nom Maildir dans le répertoire home de l'utilisateur traité ; c'est dans ce répertoire que seront stockés les courriers de l'utilisateur) et echo ./Maildir/ > ~/.qmail (ce qui revient à créer un fichier de nom « .qmail » dans le répertoire de l'utilisateur ; ce fichier « .qmail » contenant la chaine de caractère « Maildir » précisant au serveur de courrier que c'est là que seront stockés les courriers de l'utilisateur).

Il faudrait faire cette opération pour chacun des utilisateurs du fichier /etc/passwd qui pourrait utiliser le serveur de messagerie (excepté pour l'utilisateur root).

Vérifiez que le répertoire courrier a bien été créé pour l’utilisateur « delmp ». Ce répertoire se nomme /home/nomutilisateur/Maildir.

Vérifiez que ce répertoire existe : __________________________________________________

Il faut aussi gérer le cas des futurs utilisateurs et pour cela nous devons modifier le squelette de création du répertoire « home » de tout nouvel utilisateur dans /etc/skel. Tapez les commandes ./maildirmake /etc/skel/Maildir et echo ./Maildir/ > /etc/skel/.qmail en étant en root et dans le répertoire /var/qmail/bin.

Vous venez de modifier le squelette de création du répertoire « home » des futurs utilisateurs. Pour tester votre travail, il suffit de créer un nouvel utilisateur par l'interface graphique et de vérifier que le répertoire « home » de cet utilisateur contient déjà le répertoire Maildir et le fichier .qmail.

Vérifiez que le répertoire Maildir et le fichier « .qmail » ont bien été crées pour ce nouvel utilisateur :

________________________________________________________________________________

Enfin il faut créer la boite aux lettres des utilisateurs spéciaux (postmaster, mailer-daemon et root) qui réceptionneront les courriers tombés en erreurs (voir le fichier INSTALL.alias). Ces trois utilisateurs spéciaux partagent le même répertoire (/var/qmail/alias) et la même boîte aux lettres (/var/qmail/alias/Maildir).

Tapez la commande ./maildirmake /var/qmail/alias/Maildir, puis changer le propriétaire de ce répertoire Maildir et des sous-répertoires crées, par l’utilisateur alias et le groupe par qmail.

Commandes passées : ______________________________________________________________

Vérification des droits d'accès : _______________________________________________________

Enfin passez les commandes cd ~alias ; echo ./Maildir/ > .qmail-postmaster ; echo ./Maildir/ > .qmail-mailer-daemon ; echo ./Maildir/ > .qmail-root puis faire un chmod 644 ~alias/.qmail*.

Page 3: MISE EN PLACE DU SERVEUR DE MESSAGERIE …mariepascal.delamare.free.fr/IMG/pdf/TPqmail.pdf · 1 Marie-pascale Delamare TP LINUX : MISE EN PLACE DU SERVEUR DE MESSAGERIE QMAIL Au cours

3 Marie-pascale Delamare

Cette succession de commandes crée les fichiers .qmail* de chacun des utilisateurs spéciaux et en modifie les droits d'accès pour rendre ces fichiers lisibles par tous.

Vérifiez que le répertoire Maildir et les fichiers « .qmail » ont été créés pour ces utilisateurs spéciaux :

_________________________________________________________________________________

V LANCER LE SERVEUR DE MESSAGERIE QMAIL

Nous devons maintenant préparer le script de démarrage du serveur de courrier qmail. Pour cela copier le script /var/qmail/boot/home dans var/qmail/rc : _________________________________________

Et changez le « /Mailbox » par « /Maildir/ » pour que le serveur de courrier sache dans quel répertoire déposer les courriers : ________________________________________________________________

Lancer qmail en arrière plan par la commande « csh –cf ‘/var/qmail/rc &’ ».

VI TESTS EN LOCAL DU FONCTIONNEMENT DU SERVEUR DE MESSAGERIE.

Do a ps and look for the qmail daemons. There should be four of them, all idle: qmail-send, running as qmails; qmail-lspawn, running as root; qmail-rspawn, running as qmailr; and qmail-clean, running as qmailq. You will also see splogger, running as qmaill.

Local-local test: Send yourself an empty message. (Replace ``me'' with your username. Make sure to include the ``to:'' colon.) # echo to: me | /var/qmail/bin/qmail-inject. The message will show up immediately in your mailbox .

Local-error test: Send a message to a nonexistent local address. # echo to: nonexistent | /var/qmail/bin/qmail-inject One message will show up immediately in the mailbox of the mail administrator. Look for the message in the alias mailbox, normally ~alias/Maildir/.

Local-postmaster test: Send mail to postmaster, any capitalization. # echo to: POSTmaster | /var/qmail/bin/qmail-inject. Look for the message in the alias mailbox, normally ~alias/Maildir/.

Si ces différents tests fonctionnent votre serveur de courrier est opérationnel en local.

VII MISE EN RESEAU DU SERVEUR DE MESSAGERIE QMAIL.

Pour effectuer la mise en réseau du serveur de messagerie, il faut d'abord vérifier que dans le fichier /etc/services les deux lignes définissant les protocoles utilisés par un serveur de courrier sont présentes.

Nom des protocoles ________________________________________________________________

Présence dans le fichier /etc/services ? __________________________________________________

Puis dans le fichier /etc/inetd.conf vous devez vérifier que les lignes concernant ces deux protocoles sont présentes et actives (en effet le serveur de messagerie qmail sera accessible depuis le réseau via le super serveur internet Inetd, si celui-ci n’est pas installé apt-get install inetutils-inetd).

Présence des lignes requises ? ________________________________________________________

Nous devons donc les rajouter :

pop3 stream tcp nowait root /var/qmail/bin/qmail-popup qmail-popup nomduserver.nomdomaine /bin/checkpassword /var/qmail/bin/qmail-pop3d Maildir

smtp stream tcp nowait root /usr/sbin/tcpd /var/qmail/bin/qmail-smtpd

Si vous avez effectué un changement dans le fichier inetd.conf vous devez arrêter le processus inetd puis le relancer.

Arrêtez le processus : _______________________________________________________________

Page 4: MISE EN PLACE DU SERVEUR DE MESSAGERIE …mariepascal.delamare.free.fr/IMG/pdf/TPqmail.pdf · 1 Marie-pascale Delamare TP LINUX : MISE EN PLACE DU SERVEUR DE MESSAGERIE QMAIL Au cours

4 Marie-pascale Delamare

Relancez inetd ___________________________________________________________________

Vérifiez maintenant si les ports des protocoles de messagerie sont bien ouverts : _________________

_______________________________________________________________________________

VIII PARAMÉTRAGE SUR LA MACHINE LINUX D’UN CLIENT COURRIER

Connectez-vous sous un compte utilisateur lambda sous l'interface graphique.

Le client courrier disponible sous Linux est Kmail que vous atteignez par Kcontact. Faire ensuite Configuration puis ConfiguerKmail. Dans la partie Identités choisir nouveau puis taper votre nom et adresse E-mail, construite de la façon suivante [email protected]. Dans la partie Réseau et Réception des messages, sélectionnez POP3 puis pour Serveur, tapez l’adresse IP de votre machine Linux, dans le champ Utilisateur, tapez votre nom d’utilisateur sous Linux et dans le champ Mot de passe votre mot de passe. Dans la partie Envoi des messages, sélectionner SMTP, puis pour le Serveur, tapez l’adresse IP de votre machine Linux.

Envoyez-vous un message. Consultez le répertoire /home/monnom/Maildir, le message apparaît-il ? _________________________________________________________________________________

Récupérez ce message dans Kmail.

Nous n’arrivons pas à récupérer le courrier car nous n’avons pas installé le programme qui permet de vérifier notre existence dans le fichier /etc/passwd.

Connectez-vous en root dans la console.

Téléchargez ou prenez sur le serveur NT, le paquet checkpasswd.0-90.tar.gz et enregistrez le dans le répertoire /usr/local/src/netmail-1.05. Puis vous devez le décompressez (gunzip /usr/local/src/netqmail-1.05/checkpassword-0.90.tar.gz), extraire les fichiers (tar -xf /usr/local/src/netqmail-1.05/checkpassword-0.90.tar) et enfin vous positionnez dans le répertoire qui contient les fichiers extraits (cd /usr/local/src/netqmail-1.05/checkpassword-0.90).

Avant de le compiler nous devons sur cette version de linux appliquer un patch. Pour cela tapez la commande patch -p1 </usr/local/src/netqmail-1.05/other-patches/checkpassword-0.90.errno.patch. Nous pouvons maintenant compiler ce programme par la commande make, puis installer les exécutables par la commande make setup check.

Enfin faire le test suivant pour vérifier que tout fonctionne correctement : # /var/qmail/bin/qmail-popup blah /bin/checkpassword pwd +OK <...@blah> user Frodo +OK pass Friend -ERR authorization failed

Simulez une connexion réelle en utilisant un nom d’utilisateur réel à la place de Frodo et un mot de passe correct à la place de Friend. Le test doit réussir avec un utilisateur connu.

Vous disposez maintenant d’un nouvel exécutable dans le répertoire /bin de nom checkpassword.

Tentez de nouveau de récupérer votre courrier : ___________________________________________

Votre serveur fonctionne en local via le super serveur internet inetd.

IX PARAMÉTRAGE DES CLIENTS WINDOWS

IX.1 PARAMÉTRAGE DU LOGICIEL OUTLOOK

Il suffit de créer un nouveau compte, vous avez appris à le faire l'année dernière. Sachez simplement que votre compte mail sur la machine est du type

Page 5: MISE EN PLACE DU SERVEUR DE MESSAGERIE …mariepascal.delamare.free.fr/IMG/pdf/TPqmail.pdf · 1 Marie-pascale Delamare TP LINUX : MISE EN PLACE DU SERVEUR DE MESSAGERIE QMAIL Au cours

5 Marie-pascale Delamare

nomd’[email protected]. Tapez l’adresse IP de votre machine Linux pour les serveurs POP et SMTP. Donnez votre nom d’utilisateur Linux pour pouvoir vous connecter à ce serveur. Et au niveau de la connexion, vous devez privilégier l’option LAN

IX.2 UTILISATION DE LA MESSAGERIE

Envoyez-vous un message, récupérez-le. Envoyez un message à un autre utilisateur de votre domaine etc.

X AUTOMATISER LE DÉMARRAGE DE QMAIL

Créez un script et donnez lui les droits d'exécution, de nom qmail dans le répertoire /etct/init.d contenant la commande : csh –cf ‘/var/qmail/rc &’. Puis lancez le programme « Service du système » dans « Paramètres du system » et rajoutez ce script au niveau de démarrage 2 en demandant son lancement au démarrage.

Vérifiez votre travail ________________________________________________________________

_________________________________________________________________________________

__________________________________________________________________________________

Voilà vous savez installer un serveur de courrier Qmail.

Nota : En fait, il faudrait gérer dans ce script de démarrage, les paramètres start, stop, restart