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 celles-ci à la fin du fichier :
# Paramètres des connexions SSL/TLS $config['default_port'] = 993; # port IMAP # SSL IMAP # Voir note dans le fichier defaults.inc.php $config['imap_conn_options'] = array( 'ssl' => array( 'verify_peer' => true, 'verify_depth' => 3, 'cafile' => '/etc/ssl/loupvirtuel-ca.pem', ), ); # TLS SMTP # Voir note dans le fichier defaults.inc.php $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 à ces 2 dossiers les mêmes permissions que celles du dossier Web de postfixadmin :
[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
Cliquez sur la roue dentée pour afficher les paramètres :
> Volet Paramètres > Filtres
> Volet Filtres > Cliquez sur l'icône + Créer
Remplissez la définition du filtre comme le montre la capture ci-dessous et enregistrez celui-ci :
3 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.
Pensez ensuite à désactiver le filtre, voir la zone 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 clientmail-vm2 connecté, 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é.
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.