Mémento 11.3 - 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
Comme avec PostfixAdmin l'installateur Roundcube lira le fichier debian.cnf pour se connecter sur MySQL, voir § 7.1 du mémento 11.1.
Installez Roundcube maintenant :
[srvdmz@srvdmz:~$] sudo apt install roundcube
Les dépendances sont ajoutées automatiquement.
Une fenêtre de configuration s'ouvre :
- Faut-il configurer ... roundcube ... -common ? > Oui
- MDP de connexion MySQL ... > roundcubemysql > OK
- Confirmation du MDP > roundcubemysql > OK
L'installation continue.
Une éventuelle autre fenêtre de configuration s'ouvre :
- MDP administrateur MySQL > Votre MDP root > OK
L'installation continue jusqu'à son terme.
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.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.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
Pour traiter l'alias, redémarrez Apache :
[srvdmz@srvdmz:~$] sudo systemctl restart apache2
L'accès à la Bdd roundcube peut être testé avec l'outil Adminer, voir § 3 du mémento 8.1 :
- Utilisateur > roundcube
- Mot de passe > roundcubemysql
12.2 - Utilisation depuis la VM srvlan
Au préalable, créez sur srvdmz ce lien symbolique vers le dossier Web de roundcube :
[srvdmz@srvdmz:~$] sudo ln -s /var/lib/roundcube /var/www/roundcube
et attribuez aux 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 /usr/share/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.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 :
# 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 :
> Utilisateur > postmaster@loupvirtuel.fr
> Mot de passe > postmaster31
> 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 debian10-vm1, utilisez roundcube pour envoyer un courrier vers srvlan@loupvirtuel.fr.
Paramètres de connexion sur l'hôte debian10-vm1 :
> Utilisateur > clientmail-vm1@loupvirtuel.fr
> Mot de passe > Votre MDP
> Connexion
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 debian10-vm1.
12.4 - Envoi/réception au travers d'Internet
Référence : § 9 du mémento 11.1
Effectuez un envoi depuis le MUA de votre smartphone vers l'adresse x.y@xxx.no-ip.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@xxx.no-ip.org
> Mot de passe > y42
> Connexion
12.5 - Ajout des filtres de tri Sieve
Référence : § 2.2 du mémento 11.1
Installez le paquet contenant le plugin managesieve :
[srvdmz@srvdmz:~$] sudo apt install roundcube-plugins
Activez le plugin en éditant le fichier config.inc.php :
[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');
Les plugins sont installé dans /etc/roundcube/plugins.
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 debian10-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 :
> Utilisateur > clientmail-vm2@loupvirtuel.fr
> Mot de passe > Votre MDP
> Connexion
Cliquez sur la roue dentée pour afficher les paramètres :
> Volet Paramètres > Filtres
> Volet Filtres > Cliquez sur l'icône +
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 en cochant la case Filtre désactivé 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.
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é.
Bravo, c'est fini pour les mémentos
de ce réseau. Merci de les avoir suivis.
Un nouveau réseau virtuel verra le jour
avec l'arrivée prochaine de Debian 11.