Héberger un webmail simple avec SquirrelMail

Logo SquirrelMailSquirrelMail 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.

SquirrelMail

Prérequis

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.

  1. Activer la couleur (C – Turn color on) pour rendre l’interface plus lisible grâce à l’effet de surbrillance.
  2. Fournir le nom du site (Microlinux) dans la section Organization Preferences. On pourra également l’utiliser pour le nom du fournisseur (Provider).
  3. Définir un logo personnalisé (../images/microlinux-logo.png).
  4. Définir la taille du logo personnalisé (268 x 100 pixels).
  5. Fournir le nom de domaine (microlinux.fr) dans la section Server Settings.
  6. Renseigner le répertoire des données (/var/www/microlinux-mail/data/) dans la section General Options.
  7. Renseigner le répertoire des pièces jointes (/var/www/microlinux-mail/attach/) dans cette même section.
  8. Définir le français (fr_FR) comme langue par défaut dans la section Languages.
  9. 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.

SquirrelMail logo personnalisé

Utilisation

Une fois que l’application est configurée, on peut ouvrir un navigateur web et se connecter à son compte.

SquirrelMail Login

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.

SquirrelMail infos

Ce contenu a été publié dans CentOS, Documentation Microlinux, avec comme mot(s)-clé(s) , , . Vous pouvez le mettre en favoris avec ce permalien.

Une réponse à Héberger un webmail simple avec SquirrelMail

  1. Ping : Héberger un webmail simple avec SquirrelMail - My Tiny Tools

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.