Installer une interface graphique de messagerie SquirrelMail
Vous souhaitez installer votre propre serveur de mail au sein de votre entreprise, équipé d'une interface web permettant à vos collaborateurs d'accéder et de gérer leur courrier électronique à distance ? C'est ce que rend possible SquirrelMail. Rapide et stable, facile à installer, extensible par plugins à volonté, il vous permettra de créer votre propre webmail.
Un webmail est une interface web permettant la lecture de votre courrier électronique. Vous avez certainement déjà utilisé ce type d'interface, si votre adresse électronique est hébergée par La Poste, par exemple. L'intérêt ? Pouvoir accéder de n'importe où à vos messages (chez vous, au travail, dans un cybercafé...). SquirrelMail n'est pas le seul webmail disponible : IMP, basé sur le projet Horde est une autre possibilité, très puissante, utilisée entre autres pour le webmail de Free. Mais SquirrelMail est beaucoup plus simple à installer, configurer et étendre que IMP. Il est de plus soutenu par une large communauté francophone.
L'objet de cet article et d'expliquer la procédure d'installation et de configuration d'une interface graphique de messagerie basée sur SquirrelMail, sur un serveur Linux Mandrake 9.2, au sein d'un réseau local d'entreprise. Le hostname du serveur est mail.exemple.net, son adresse IP 192.168.0.1. Pour configurer correctement ce qui suit, il faut être connecté au serveur en tant qu'administrateur (root). Cet article ne gère pas tous les éventuels problèmes de sécurité liés à la mise en place de ce service.
Pour installer SquirrelMail, il faut un serveur Linux, sur lequel sont installés, entre autres : Apache2, Apache2-mod_php, php-ini, Apache2-mod_ssl, imap, postfix, perl, xinetd, ispell. L'installation de Perl permet de configurer ultra-rapidement squirrelMail grâce à une interface développé dans ce langage, et ispell permet le fonctionnement correct du correcteur orthographique squirrelspell intégré. MySQL n'est pas requis, sauf pour certains plugins. Enfin pour un fonctionnement correct, les navigateurs des postes qui utiliseront votre webmail doivent accepter les cookies.
Vous devez avoir les services httpd, postfix, xinetd, imap activés.
Pour visionner les services fonctionnant :
Pour mettre en marche un service (exemple avec apache) :
Pour faire en sorte qu'à chaque démarrage de votre poste, le service Apache fonctionne :
Il faut notamment veiller à bien lancer le service imap, dépendant de xinetd :
service xinetd restart.
Premièrement, vérifier que PHP est installé et fonctionne correctement en créant un fichier de test dans le répertoire /var/www/html :
vi phpinfo.php
Insérer les instructions php suivantes dans ce fichier :
Puis tester le fonctionnement de php :
Vous devez obtenir une page donnant les caractéristiques complète de votre installation de PHP et de ces modules additionnels. Si cela fonctionne correctement, vous pouvez effacer le fichier phpinfo.php.
Il faut ensuite configurer /etc/php.ini, notamment :
Le paramètre session.save_path doit pointer vers un répertoire lisible uniquement par le serveur web (/var/squirrel/session par exemple) :
Redémarrer le serveur Apache :
Pour installer SquirrelMail, il faut télécharger la dernière version (squirrelmail-1.4.2.tar.gz : 2.74 Mo), la décompresser dans un répertoire lisible par le serveur web (/var/www/html/ par exemple), changer le nom du répertoire (mv squirrelmail-1.4.2 squirrelmail), créer les deux répertoires de stockage des données et des fichiers joints :
Ceci cause un problème : si quelqu'un prépare un mail avec pièce jointe, mais interromps son action avant de l'expédier, les pièces jointes resteront éternellement dans le répertoire /var/squirrel/attachement. Il faut donc prévoir une tâche cron qui supprime l'ensemble des fichiers de ce répertoire à intervalle régulier, en espérant que personne n'est en train d'envoyer une pièce jointe au même moment... Voici un exemple permettant de supprimer tous les jours à 23H15 le contenu du répertoire /var/squirrel/attachement :
éditer le fichier crontab et ajouter la ligne :
le fichier rm_attachement.sh, executable (chmod +x rm_attachement.sh), contient les lignes suivantes :
Puis il faut alors configurer squirrelmail soit manuellement en renommant le fichier config_default.php en config.php (répertoire /var/www/html/squirrelmail/config) puis en l'éditant pour modifier ses paramètres, soit, beaucoup plus convivial, en utilisant le petit script perl conf.pl situé dans ce même répertoire (nécessite que le paquetage perl soit installé). Pour le lancer : ./conf.pl (point slash conf.pl). Un menu comportant 9 options apparaît, qui permet de configurer complètement SquirrelMail. Quelques modifications à effectuer :
Puis, à partir d'un navigateur sur un poste distant, se rendre à l'url http://192.168.0.1/squirrelmail/ ou http://mail.exemple.net/squirrelmail
si vous avez un serveur DNS correctement configuré. L'interface de squirrelmail apparaît.
Remarque : Si vous n'avez pas de serveur DNS, avec un poste Windows distant, il faut configurer le fichier hosts situé dans le répertoire C:\WINNT\SYSTEM32\DRIVERS\ETC , et rajouter la ligne : 192.168.0.1 mail.exemple.net. Sur un poste Linux distant, il faut rajouter la même ligne dans le fichier /etc/hosts.
Une fois que tout est installé et en état de fonctionnement, vous aurez peut-être envie d'étendre les fonctionnalités de votre interface graphique de messagerie. Pour cela, il faut installer un ou plusieurs plugins, et le choix est vaste... Il en existe plus de 170 différents ! Par défaut, 16 plugins sont déjà installés (mais non activé !) :
Pour installer un plugin c'est plus ou moins simple : certains requièrent l'installation de paquetages supplémentaires pour fonctionner (serveur de base de données MySQL, par exemple), d'autres s'installent en quelques instants. Par exemple, le plugin nommé "Show Username and IP" permet d'afficher l'adresse IP et le nom d'utilisateur de la personne connectée au webmail. Pour l'installer, il suffit de télécharger le paquetage (show_user_and_ip-2.2.3.tar), de le copier dans le répertoire plugins (/var/www/html/squirrelmail/plugins), de le décompresser (tar xvf show_user_and_ip-2.2.3.tar) et de l'activer par l'intermédiaire de l'interface conf.pl (rubrique plugins). On peut difficilement faire plus simple !
Seul les utilisateurs ayant un compte sur votre serveur de mail auront la possibilité d'utiliser SquirrelMail. Pour créer un compte uniquement destiné à la messagerie, sans possibilité de connections sur votre serveur, il faut d'abord créer un groupe d'utilisateur dédié à l'utilisation de SquirrelMail :
Puis créer chaque utilisateur par l'instruction suivante :
Enfin définir le mot de passe pour chaque compte nouvellement créé :
Pour tester le fonctionnement, essayer d'envoyer des mails à un autre compte et à vous même. Utiliser d'abord une adresse mail du type utilisateur@mail.exemple.net.
Pour utiliser une adresse du type utilisateur@exemple.net, il faut configurer Postfix. Sinon, lorsque machin@mail.exemple.net envoie un mail à truc@mail.exemple.net, l'adresse de réponse est machin@exemple.net. Si truc essaie de répondre à machin, Postfix ne peut envoyer la réponse. Pour que cela fonctionne correctement, il faut rajouter (ou décommenter) les lignes suivantes du fichiers /etc/postfix/main.cf :
Et voilà, grâce à SquirrelMail, en quelques dizaines de minutes, vous avez maintenant un serveur de mail équipé d'une interface de type webmail complète ! Il n'y a plus maintenant qu'à convaincre votre hiérarchie à acheter le serveur nécessaire à son installation, et à expliquer à vos collaborateurs comment utiliser l'interface de SquirrelMail...
@ Retour à la rubrique Réseau et sécurité
Copyright © 15/01/2004, Laurent Dubettier-Grenier
![]() ![]() ![]() ![]() |
Ce document est publié sous licence Creative Commons Attribution, Partage à l'identique, Contexte non commercial 2.0 : http://creativecommons.org/licenses/by-nc-sa/2.0/fr/ |