SquirrelMail est un webmail, une interface web pour consulter le courrier électronique. Le monde de l’Open Source offre une série de solutions dans ce domaine, du webmail simple jusqu’à l’interface intégrée dans un groupware. SquirrelMail est sans conteste le webmail le plus simple, celui qui obéit au fameux principe KISS (Keep It Simple Stupid). Son installation n’est pas trop compliquée, et dans mon expérience, même les utilisateurs frileux face à l’outil informatique ont vite fait de l’apprivoiser au vu de son ergonomie intuitive.
En tant que projet, SquirrelMail offre quelques similitudes avec la distribution Slackware Linux, en termes de politique de communication (ou plutôt de non-communication). Le site du projet est pathologiquement obsolète et ne reflète en rien les qualités de ce qui est proposé. Ce n’est que lorsqu’on regarde sous le capot et qu’on lit le fichier ChangeLog
(non daté et bien caché dans le répertoire doc/
de l’archive source) qu’on devine que le projet est effectivement encore en vie.
Dans cet article, je décris l’installation et la configuration de SquirrelMail sur un serveur dédié tournant sous CentOS 7.
- Prérequis
- Configuration de SELinux
- Téléchargement
- Créer la structure des répertoires
- Configuration de l’hôte virtuel
- Installation
- Configuration
- Utilisation
Prérequis
- un domaine valide, par exemple
mail.microlinux.fr
- un certificat SSL/TLS pour ce domaine
- un serveur LAMP fonctionnel
- un hôte virtuel sécurisé
- un serveur mail pour ce domaine
- SELinux activé en mode strict
Configuration de SELinux
SquirrelMail doit pouvoir envoyer des mails via Postfix, ce qu’il faut explicitement autoriser.
$ sudo setsebool -P httpd_can_sendmail on
Apache possèdera les droits d’écriture sur les répertoires data
et attach
. Ces droits d’écriture seront définis par le biais des permissions Unix classiques, mais il faut également le spécifier du côté de SELinux.
$ sudo setsebool -P httpd_unified on
Enfin, il faudra également définir le booléen suivant.
$ sudo setsebool -P httpd_can_network_connect on
Téléchargement
SquirrelMail peut être récupéré directement sur le serveur grâce au navigateur Links.
$ mkdir webapps/squirrelmail $ cd webapps/squirrelmail $ links https://squirrelmail.org
Suivre le lien Download et télécharger l’instantané de la version stable (Stable version snapshots) ainsi que les fichiers de traduction (Translation snapshots) correspondants.
squirrelmail-20180604_0201-SVN.stable.tar.gz
squirrelmail-20180604_0202-SVN.locales.tar.gz
Créer la structure des répertoires
Le site sera installé en-dessous de l’arborescence /var/www/microlinux-mail
.
- L’application à proprement parler est hébergée sous
microlinux-mail/html
. - Les données sont stockées dans
microlinux-mail/data
. - Les pièces jointes sont rangées dans
microlinux-mail/attach
.
Créer ces répertoires avec les droits qui vont bien.
$ sudo mkdir /var/www/microlinux-mail $ sudo chown microlinux:microlinux /var/www/microlinux-mail $ cd /var/www/microlinux-mail $ mkdir html data attach
Configuration de l’hôte virtuel
Une fois que la structure de répertoires est en place, on peut définir l’hôte virtuel dans la configuration d’Apache.
# /etc/httpd/conf.d/10-mail.microlinux.fr.conf # http://mail.microlinux.fr -> https://mail.microlinux.fr <VirtualHost *:80> ServerName mail.microlinux.fr Redirect / https://mail.microlinux.fr </VirtualHost> # https://mail.microlinux.fr <VirtualHost _default_:443> Header always set Strict-Transport-Security \ "max-age=63072000; includeSubDomains" ServerAdmin info@microlinux.fr DocumentRoot "/var/www/microlinux-mail/html" ServerName mail.microlinux.fr:443 SSLEngine on SSLCertificateFile /chemin/vers/microlinux.fr/cert.pem SSLCertificateKeyFile /chemin/vers/microlinux.fr/privkey.pem SSLCertificateChainFile /chemin/vers/microlinux.fr/fullchain.pem BrowserMatch "MSIE [2-5]" \ nokeepalive ssl-unclean-shutdown \ downgrade-1.0 force-response-1.0 ErrorLog logs/mail.microlinux.fr-error_log CustomLog logs/mail.microlinux.fr-access_log common </VirtualHost>
Installation
À présent, on peut procéder à l’installation à proprement parler.
$ cd ~/webapps/squirrelmail
Décompresser et installer l’application en utilisant cp
plutôt que mv
pour obtenir d’emblée le contexte SELinux correct. C’est expliqué ici.
$ tar xzf squirrelmail-20180604_0201-SVN.stable.tar.gz $ cp -R squirrelmail.stable/squirrelmail/* \ /var/www/microlinux-mail/html/
Décompresser les fichiers de traduction.
$ tar xzf squirrelmail-20180604_0202-SVN.locales.tar.gz
L’installation s’effectue par écrasement. Avant d’aller plus loin, on va vérifier les options par défaut de la commande cp
.
$ alias cp alias cp='cp -i'
On devra temporairement supprimer cet alias.
$ unalias cp
À présent on peut installer les fichiers de traduction.
$ cp -R squirrelmail.locales/* /var/www/microlinux-mail/html/
Une fois que les fichiers sont en place, on peut redéfinir l’alias.
$ alias cp='cp -i'
Définir les permissions de l’application.
$ cd /var/www/microlinux-mail $ sudo chown -R apache:apache data/ attach/ $ sudo chmod 0770 data/ $ sudo chmod 0730 attach/
Configuration
La configuration de SquirrelMail s’effectue à l’aide du script Perl config/conf.pl
.
$ cd html/config $ ./conf.pl
Le script affiche une interface de configuration en mode texte.
SquirrelMail Configuration : Read: config_default.php Config version 1.4.0; SquirrelMail version 1.4.23 [SVN] --------------------------------------------------------- Main Menu -- 1. Organization Preferences 2. Server Settings 3. Folder Defaults 4. General Options 5. Themes 6. Address Books 7. Message of the Day (MOTD) 8. Plugins 9. Database 10. Languages D. Set pre-defined settings for specific IMAP servers C Turn color on S Save data Q Quit Command >> _
Voici les différentes étapes de configuration que j’ai utilisées pour mon site.
- Activer la couleur (C – Turn color on) pour rendre l’interface plus lisible grâce à l’effet de surbrillance.
- Fournir le nom du site (
Microlinux
) dans la section Organization Preferences. On pourra également l’utiliser pour le nom du fournisseur (Provider). - Définir un logo personnalisé (
../images/microlinux-logo.png
). - Définir la taille du logo personnalisé (
268
x100
pixels). - Fournir le nom de domaine (
microlinux.fr
) dans la section Server Settings. - Renseigner le répertoire des données (
/var/www/microlinux-mail/data/
) dans la section General Options. - Renseigner le répertoire des pièces jointes (
/var/www/microlinux-mail/attach/
) dans cette même section. - Définir le français (
fr_FR
) comme langue par défaut dans la section Languages. - Ne pas oublier d’enregistrer les modifications avant de quitter.
Dans la configuration par défaut du logo, la fenêtre d’identification est collée sur le haut de l’écran, ce qui n’est pas très joli à voir. Pour modifier ce comportement, j’ai fait une bidouille en modifiant le logo de mon entreprise avec GIMP.
Utilisation
Une fois que l’application est configurée, on peut ouvrir un navigateur web et se connecter à son compte.
SquirrelMail est quasiment prêt à l’emploi. Avant de l’utiliser, rendez-vous dans Options > Informations personnelles et renseignez les paramètres essentiels comme votre nom, votre adresse e-mail, l’adresse de réponse et la signature.
Ping : Héberger un webmail simple avec SquirrelMail - My Tiny Tools