« LINUX:RoundCubeMail » : différence entre les versions

De WIKI sur Linux (ADB)
Aller à la navigation Aller à la recherche
Aucun résumé des modifications
Aucun résumé des modifications
Ligne 10 : Ligne 10 :




<div style="overflow:scroll; width:90%; height:500px">
<div style="overflow:scroll; width:100%; height:500px">
[[FILE:LINUX:Roundcubemail.config.reduit2.png|1000px]]
[[FILE:LINUX:Roundcubemail.config.reduit2.png|1200px]]
</div>  
</div>  






<div style="overflow:scroll; width:80%; height:500px">
<div style="overflow:scroll; width:100%; height:500px">
[[FILE:LINUX:Roundcubemail.config.reduit1.png]]
[[FILE:LINUX:Roundcubemail.config.reduit1.png|1200px]]
</div>  
</div>  



Version du 10 décembre 2022 à 18:43


retour au menu de concernant la messagerie


But

C'est un interface Web (WUI) permettant de consulter, d'envoyer et de gérer nos messages électroniques.

Nous nous placerons dans le contexte restreint de notre service de messagerie privée.



LINUX:Roundcubemail.config.reduit2.png


LINUX:Roundcubemail.config.reduit1.png


LINUX:Roundcubemail.config.png



Architecture

Pour pouvoir utiliser cette application, il faut disposer de diverses pièces. Dans notre approche simple, tous ces composants seront concentrés dans la même machine mais il est parfaitement possible de les disperser sur diverses machines y compris celles se trouvant sur internet.

Voici le schéma adopté:


LINUX:Roundcubemail.pdf


On y observe divers postes:

  • Au centre l'application RoundCubeMail
  • qui est une application gérée par le service Web Apache via les ports TCP 80 (HTTP) ou 443 (HTTPS).
  • Cette application a besoin d'un service de base de données MariaDB, compatible Mysql pour y stocker ses propres informations via le port TCP 3306.
  • Comme cette application a pour but de consulter les messages électroniques, elle doit avoir accès au PostOffice en utilisant le service Dovecot via les ports TCP 143 (IMAP) ou 993 (IMAPS).
  • Elle doit pouvoir envoyer des messages électroniques en utilisant le service Postfix via les ports TCP 25 (SMTP), 587 (submission) ou 465 (SMTPS).
  • L'application est accessible en utilisant tout explorateur Internet tel Firefox à partir de votre PC par exemple.

Notons que nous avons utilisé des services courants mais d'autres peuvent être utilisés.


Installation

Il faut installer le logiciel par la commande suivante:

dnf install roundcubemail


Configuration d'Apache

L'installation procure un fichier de configuration Tout fait "/etc/httpd/conf.d/roundcubemail.conf".

Il est nécessaire de modifier ce fichier sinon l'application ne sera accessible qu'à partir de la machine hébergeant le service Apache.

Le bloc suivant s'y retrouve à deux endroits pour notre version d'Apache de version 2.4:


   <IfModule mod_authz_core.c>
       # Apache 2.4
       Require local
   </IfModule>

La première occurrence concerne directement l'utilisation de l'application RoundCubeMail dans le bloc:


<Directory /usr/share/roundcubemail/>
 ...
</Directory>

La seconde est nécessaire lors de la phase d'installation. Ce bloc pourra être remis dans son état d'origine dès la configuration terminée pour une question évidente de sécurité. A l'extrême, ce répertoire pourra être éliminé.


<Directory /usr/share/roundcubemail/installer/>
 ...
</Directory>


On remplace ces directives par:


   <IfModule mod_authz_core.c>
       # Apache 2.4
       Require all denied
       Require local
       Require ip 192.168.1
   </IfModule>

qui ajoute une ligne pour donner accès aux machines de notre réseau local "192.168.1.0/24".


Pour rendre actif cette configuration, il faut redémarrer le service Apache:

systemctl restart httpd.service


Configuration de MariaDB

Avant d'aborder la configuration de l'application RoundCubeMail, il faut créer l'utilisateur et le schéma dans la base de données MariaDB.


Création du schéma

Pour créer le schéma dans la base de données Mysql, nous nous basons sur les informations suivantes:

  • Nom du schéma: dbroundcube
  • Mot de passe de l'utilisateur root (à adapter): ZZZZZZZZ

Ces paramètres peuvent être adaptés à votre guise.


Ensuite il nous faut 2 fichiers.

Le premier fichier que l'on nomme "schema.sql", sert à créer le schéma vide:


DROP SCHEMA IF EXISTS dbroundcube ;
CREATE SCHEMA dbroundcube ;


Le second fichier que l'on nomme "import.bat", va créer ce schéma:


#!/bin/bash
dbuser=root
dbpw=ZZZZZZZZ
mysql --user=$dbuser --password=$dbpw < schema.sql

Donnez les droits d'exécution au script Bash:

chmod 700 import.bat

et exécutez le:

./import.bat


Création de l'utilisateur

Pour créer de l'utilisateur MySql qui permettra à l'application RoundCubeMail, nous nous basons sur les informations suivantes:

  • Nom du schéma: dbroundcube
  • Nom d'utilisateur: userroundcube
  • Mot de passe de l'utilisateur userroundcube (à adapter): TTTTTTTT
  • Mot de passe de l'utilisateur root (à adapter): ZZZZZZZZ

Ces paramètres peuvent être adaptés à votre guise.

On ne donne accès à cet utilisateur à la base de données qu'à ce schéma dbroundcube à partir seulement de la machine hôte, locale.


Pour y arriver, on crée 4 fichiers.

Le premier fichier que l'on nomme "dropuser.sql", sert à effacer un utilisateur préexistant:


drop user 'userroundcube'@'localhost' ;
drop user 'userroundcube'@'127.0.0.1' ;
drop user 'userroundcube'@'::1' ;


Le second que l'on nomme "createuser.sql", permet de créer l'utilisateur:


create user 'userroundcube'@'localhost'      identified by 'TTTTTTTT' ;
create user 'userroundcube'@'127.0.0.1'      identified by 'TTTTTTTT' ;
create user 'userroundcube'@'::1'            identified by 'TTTTTTTT' ;


Le troisième que l'on nomme "grant.sql", va donner tous les droits sur ce schéma:


grant all privileges on dbroundcube.* to 'userroundcube'@'localhost';
grant all privileges on dbroundcube.* to 'userroundcube'@'127.0.0.1';
grant all privileges on dbroundcube.* to 'userroundcube'@'::1';


Enfin le dernier que l'on nomme "user.bat", va mettre en oeuvre cet ensemble:


#!/bin/bash 
dbuser=root
dbpw=ZZZZZZZZ
mysql --user=$dbuser --password=$dbpw  < dropuser.sql
mysql --user=$dbuser --password=$dbpw  < createuser.sql
mysql --user=$dbuser --password=$dbpw  < grant.sql

Donnez les droits d'exécution au script Bash:

chmod 700 user.bat

et exécutez le:

./user.bat



retour au menu de concernant la messagerie