E-mail / Debian 11 : 3/3

Mémento 11.31 - Webmail Roundcube

Le service Webmail fera appel au logiciel Roundcube qui est un client de messagerie au même titre que Thunderbird mais s'exécutant sur serveur.

Celui-ci servira d'interface entre le serveur de courrier et n'importe quel navigateur Web connecté à Internet ce qui le rend pratique pour une consultation de son courrier en situation de mobilité.

12 - Roundcube

12.1 - Installation et configuration de base

Installez le paquet Debian roundcube :

[srvdmz@srvdmz:~$] sudo apt install roundcube

Une fenêtre de configuration roundcube-core s'ouvre :
- Faut-il configurer ... roundcube ... -common ? -> Oui
- MDP de connexion MySQL ... -> roundcubemysql -> OK
- Confirmation du MDP -> roundcubemysql -> OK

L'installation continue jusqu'à son terme.

Les dépendances ont été ajoutées automatiquement.

Les modules Apache proxy_fcgi et setenvif ainsi que la configuration Apache php7.4-fpm sont déjà activés, voir § 7.1 du mémento 11.11.

Les fichiers ont été installés essentiellement dans :
- /etc/roundcube/ - /var/lib/roundcube/
- /usr/share/roundcube/ - /var/log/roundcube/

Une Bdd de nom roundcube a également été créée ainsi qu'un lien de configuration Apache de nom roundcube.conf dans /etc/apache2/conf-enabled/.

Editez ensuite le fichier de configuration config.inc.php :

[srvdmz@srvdmz:~$] cd /etc/roundcube
[srvdmz@srvdmz:~$] sudo nano config.inc.php

Modifiez le contenu de ces lignes comme suit :

$config['default_host'] = 'ssl://loupvirtuel.fr';
$config['smtp_server'] = 'tls://loupvirtuel.fr';
$config['smtp_port'] = 587;
$config['smtp_user'] = '%u'; 
$config['smtp_pass'] = '%p';
$config['product_name'] = 'Serveur Webmail Roundcube';

et ajoutez celui-ci à la fin du fichier :

# Paramètres des connexions SSL/TLS
$config['default_port'] = 993;

# SSL IMAP
$config['imap_conn_options'] = array(
     'ssl' => array(
     'verify_peer' => true,
     'verify_depth' => 3,
     'cafile' => '/etc/ssl/loupvirtuel-ca.pem',
    ),
  );

# TLS SMTP
$config['smtp_conn_options'] = array(
     'ssl' => array(
     'verify_peer' => true,
     'verify_depth' => 3,
     'cafile' => '/etc/ssl/loupvirtuel-ca.pem',
    ),
  );

# Ajout auto du domaine aux créations d'utilisateurs
$config['mail_domain'] = 'loupvirtuel.fr';

Editez enfin le fichier de configuration apache.conf :

[srvdmz@srvdmz:~$] sudo nano apache.conf

et décommentez l'alias situé en début de fichier :

Alias /roundcube /var/lib/roundcube/public_html

Pour traiter l'alias, redémarrez Apache :

[srvdmz@srvdmz:~$] sudo systemctl restart apache2

L'accès à la Bdd roundcube peut être testé avec Adminer, voir § 3 du mémento 8.11 :
- Utilisateur -> roundcube
- Mot de passe -> roundcubemysql

12.2 - Utilisation depuis la VM srvlan

Au préalable, créez sur srvdmz un lien symbolique vers le dossier Web de roundcube :

[srvdmz@srvdmz:~$] sudo  ln -s /var/lib/roundcube /var/www/html/roundcube

et donnez aux 2 dossiers Roundcube ci-dessous les permissions suivantes :

[srvdmz@srvdmz:~$]  sudo chown -R www-data:www-data /var/lib/roundcube

[srvdmz@srvdmz:~$]  sudo chown -R www-data:www-data /var/log/roundcube

Comme avec postfixadmin, la redirection vers HTTPS est assurée depuis cette section située au début du fichier /etc/apache2/sites-available/loupvirtuel.conf :

<VirtualHost *:80>
ServerName loupvirtuel.fr
ServerAlias www.loupvirtuel.fr srvdmz.loupvirtuel.fr
Redirect permanent / https://loupvirtuel.fr/
</VirtualHost>

Si vous avez exécuté le mémento 8.11 2/2, les 3 URL HTTP ci-dessous seront redirigées automatiquement vers HTTPS sans faire l'objet d'une alerte de sécurité.

- http://loupvirtuel.fr/roundcube
- http://www.loupvirtuel.fr/roundcube
- http://srvdmz.loupvirtuel.fr/roundcube

Renforcez la redirection https en éditant config.inc.php :

[srvdmz@srvdmz:~$] cd /etc/roundcube
[srvdmz@srvdmz:~$] sudo nano config.inc.php

et en ajoutant les 2 lignes suivantes en fin de fichier :

# Utilisation forcée du protocole HTTPS
$config['force_https'] = true;

Ensuite, depuis srvlan, lancez l'URL suivante :
https://loupvirtuel.fr/roundcube

Une fenêtre de connexion Rouncube s'affiche :
-> Nom d'utilisateur -> postmaster@loupvirtuel.fr
-> Mot de passe -> postmaster31
-> Bouton Connexion

Vous devriez trouver dans la boîte de réception affichée par roundcube les courriers transmis à postmaster lors des mémentos précédents.

12.3 - Envoi/réception au sein du LAN

Depuis debian11-vm1, utilisez roundcube pour envoyer un courrier vers srvlan@loupvirtuel.fr.

Paramètres de connexion sur l'hôte debian11-vm1 :
-> https://loupvirtuel.fr/roundcube
-> Nom d'utilisateur -> clientmail-vm1@loupvirtuel.fr
-> Mot de passe -> Votre MDP
-> Bouton Connexion

- Menu de gauche -> icône Rédiger

Envoyez votre courrier et récupérez celui-ci en utilisant Roundcube depuis l'hôte srvlan :

Réalisez le même test depuis srvlan vers debian11-vm1.

12.4 - Envoi/réception au travers d'Internet

Référence : § 9 du mémento 11.11

Effectuez un envoi depuis le MUA de votre smartphone vers l'adresse x.y@zzz.freeddns.org et récupérez celui-ci depuis l'hôte srvlan et inversement.

Pour vérifier la réception depuis srvlan, utilisez l'URL :
https://loupvirtuel.fr/roundcube

Une fenêtre de connexion Roundcube s'affiche :
-> Utilisateur -> x.y@zzz.freeddns.org
-> Mot de passe -> y42
-> Bouton Connexion

12.5 - Ajout des filtres de tri Sieve

Référence : § 2.2 du mémento 11.11

Installez le paquet contenant les plugins de Roundcube :

[srvdmz@srvdmz:~$] sudo apt install roundcube-plugins

Ceux-ci ont été installés dans /etc/roundcube/plugins.

Activez le plugin managesieve en éditant ce fichier :

[srvdmz@srvdmz:~$] cd /etc/roundcube
[srvdmz@srvdmz:~$] sudo nano config.inc.php

et en modifiant la ligne suivante comme ci-dessous :

$config['plugins'] = array('managesieve');

Quittez si besoin la session roundcube en cours et reconnectez-vous pour exploiter les filtres.

12.6 - Filtre de réponse auto en cas d'absence

Créez sur l'hôte debian11-vm2 un filtre permettant de générer une réponse automatique en cas d'absence, ceci pour tous les courriers reçus.

Depuis le navigateur Web, entrez l'URL :
https://loupvirtuel.fr/roundcube

Une fenêtre de connexion Rouncube s'affiche :
-> Nom d'utilisateur -> clientmail-vm2@loupvirtuel.fr
-> Mot de passe -> Votre MDP
-> Bouton Connexion

Menu de gauche -> Icône Paramètres
-> Volet Paramètres -> Icône Filtres
-> Volet le plus à droite -> Icône Créer

Remplissez la définition du filtre comme le montre la capture ci-dessous et enregistrez celle-ci :

Le chiffre 3 de l'étiquette 8 représente le nombre de jours pendant lesquels le message d'absence ne sera pas renvoyé à l'expéditeur, peu importe le nombre de courriers qu'il vous envoie.

Testez le filtre depuis le Thunderbird de l'hôte srvlan en envoyant un e-mail de postmaster vers clientmail-vm2.

Ensuite, désactivez celui-ci depuis le switch de nom Le filtre est activé visible sur la capture d'écran ci-dessus.

Par curiosité, contrôlez sur le Thunderbird de srvlan qu'un module de nom Sieve peut être installé depuis son menu Modules complémentaires et thèmes.

12.7 - Filtre de transfert automatique

Créez, toujours depuis l'hôte debian11-vm2, un second filtre permettant le transfert automatique de tous les courriers provenant de postmaster vers srvlan :

Envoyez ensuite depuis le Thunderbird de srvlan un courrier de postmaster vers clientmail-vm2 et vérifiez le transfert de celui-ci sur le compte srvlan@loupvirtuel.fr.

Pensez à désactiver le filtre une fois le test terminé.

Image - Rédacteur satisfait


Voilà, c'est fini. Si administrer à
distance le réseau virtuel vous tente,
alors le mémento 12.1 vous attend
pour découvrir l'outil Cockpit.

Laisser un commentaire