« Rainloop » : différence entre les versions

De Wiki doc

(Ajout d'une astuce pour empêcher l'accès au répertoire "data" de l'extérieur (fait disparaître le bandeau rouge d’avertissement dans le panneau administrateur))
(Changement du nom de la catégorie "Service email" par "Service courriels" + remplacement des balises "source" obsolètes + ajout de la coloration syntaxique pour la section de configuration apache de la bannière "astuce")
Ligne 1 : Ligne 1 :
[[Category:Service email]]
[[Category:service_courriels]]
[[Category:clients_de_messagerie]]
 
[https://www.rainloop.net/ Rainloop] est un client de messagerie ''WEB'' libre écrit en [https://github.com/RainLoop/rainloop-webmail PHP]. Il supporte le ''POP'', l{{'}}''IMAP'', les filtres ''Sieve'', les identités alternatives ainsi que ''GPG'' et [[Baikal|CardDav]]. Son interface est adaptative (compatible mobile) et épurée.
[https://www.rainloop.net/ Rainloop] est un client de messagerie ''WEB'' libre écrit en [https://github.com/RainLoop/rainloop-webmail PHP]. Il supporte le ''POP'', l{{'}}''IMAP'', les filtres ''Sieve'', les identités alternatives ainsi que ''GPG'' et [[Baikal|CardDav]]. Son interface est adaptative (compatible mobile) et épurée.


Ligne 17 : Ligne 19 :
  cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/rainloop.conf
  cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/rainloop.conf


La ligne <source lang="bash" inline>DocumentRoot /var/www/html</source> doit être remplacée par <source lang="bash" inline>DocumentRoot /var/www/rainloop</source>
La ligne <syntaxhighlight lang="bash" inline>DocumentRoot /var/www/html</syntaxhighlight> doit être remplacée par <syntaxhighlight lang="bash" inline>DocumentRoot /var/www/rainloop</syntaxhighlight>
  sed -i '12 s/html/rainloop/' /etc/apache2/sites-available/rainloop.conf
  sed -i '12 s/html/rainloop/' /etc/apache2/sites-available/rainloop.conf


{{astuce|Il est également recommandé d'interdire l'accès ''WEB'' au répertoire ''data''. Pour ce faire, il faut ajouter la directive suivante à l'hôte virtuel [[Apache]] ''rainloop.conf'' :
{{astuce|Il est également recommandé d'interdire l'accès ''WEB'' au répertoire ''data''. Pour ce faire, il faut ajouter la directive suivante à l'hôte virtuel [[Apache]] ''rainloop.conf'' :
<Directory /var/www/rainloop/data>
<syntaxhighlight lang="apache">
      Require all denied
<Directory /var/www/rainloop/data>
</Directory>
    Require all denied
</Directory>
</syntaxhighlight>
}}
}}


Ligne 47 : Ligne 51 :


==Configuration de Rainloop==
==Configuration de Rainloop==
Il faut ouvrir un navigateur et aller à l'adresse de votre serveur sur la page d'administration en ajoutant <source lang="bash" inline>/?admin</source> à la fin de l{{'}}''URL'' :
Il faut ouvrir un navigateur et aller à l'adresse de votre serveur sur la page d'administration en ajoutant <syntaxhighlight lang="bash" inline>/?admin</syntaxhighlight> à la fin de l{{'}}''URL'' :
  http:/mail.exemple.fr/?admin
  http:/mail.exemple.fr/?admin


Ligne 72 : Ligne 76 :
La mise à jour de l'outil s'effectue en suivant les quelques étapes suivantes
La mise à jour de l'outil s'effectue en suivant les quelques étapes suivantes
# Télécharger la dernière version de ''Rainloop''
# Télécharger la dernière version de ''Rainloop''
# Là décompresser dans le <source lang="bash" inline>/tmp</source>
# Là décompresser dans le <syntaxhighlight lang="bash" inline>/tmp</syntaxhighlight>
# Copier le dossier "rainloop/v/''N°VERSION''" dans le même répertoire que la version de production (à coté de la version actuelle)
# Copier le dossier "rainloop/v/''N°VERSION''" dans le même répertoire que la version de production (à coté de la version actuelle)
# Remplacer le numéro de version dans <source lang="bash" inline>/var/www/rainloop/index.php</source>
# Remplacer le numéro de version dans <syntaxhighlight lang="bash" inline>/var/www/rainloop/index.php</syntaxhighlight>
# Remplacer le numéro de version dans <source lang="bash" inline>/var/www/rainloop/data/VERSION</source>
# Remplacer le numéro de version dans <syntaxhighlight lang="bash" inline>/var/www/rainloop/data/VERSION</syntaxhighlight>
# Donner la propriété à ''Apache2'' sur la nouvelle version
# Donner la propriété à ''Apache2'' sur la nouvelle version



Version du 6 novembre 2022 à 23:58


Rainloop est un client de messagerie WEB libre écrit en PHP. Il supporte le POP, l'IMAP, les filtres Sieve, les identités alternatives ainsi que GPG et CardDav. Son interface est adaptative (compatible mobile) et épurée.

De part ses qualités, c'est un client tout choisi pour aller de pair avec une installation auto-hébergée.

Installation d'Apache2

INFORMATION

Dans la mesure où un service WEB est généralement placé en amont d'un mandataire inversé gérant le chiffrement à son niveau, la mise en place d'HTTPS ne sera pas abordée.

Installation du serveur WEB et des dépendances du site

apt install --no-install-recommends apache2 php php-curl php-xml unzip

Création du répertoire destiné au site

mkdir /var/www/rainloop

Copie du fichier d'hôte virtuel par défaut pour Rainloop

cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/rainloop.conf

La ligne DocumentRoot /var/www/html doit être remplacée par DocumentRoot /var/www/rainloop

sed -i '12 s/html/rainloop/' /etc/apache2/sites-available/rainloop.conf

ASTUCE

Il est également recommandé d'interdire l'accès WEB au répertoire data. Pour ce faire, il faut ajouter la directive suivante à l'hôte virtuel Apache rainloop.conf :
<Directory /var/www/rainloop/data>
     Require all denied
</Directory>

Déactiver l'hôte virtuel par défaut

a2dissite 000-default.conf

Activer le nouvel hôte virtuel

a2ensite rainloop.conf

Application de la configuration

systemctl restart apache2.service

Mise en œuvre

Installation de Rainloop

Téléchargement de l'archive

wget http://repository.rainloop.net/v2/webmail/rainloop-community-latest.zip -P /tmp/

Extraction de l'archive dans le répertoire du site

unzip /tmp/rainloop-community-latest.zip -d /var/www/rainloop/

Attribution des droits Apache2 à ce dernier

chown -R www-data: /var/www/rainloop

Configuration de Rainloop

Il faut ouvrir un navigateur et aller à l'adresse de votre serveur sur la page d'administration en ajoutant /?admin à la fin de l'URL :

http:/mail.exemple.fr/?admin

Les identifiants sont admin/12345 (pensez changer le mot de passe).

Dans la section "General", changer la langue de l'interface client et administrateur en Français

rainloop_admin_fr.png

Aller dans la section "Domaines" > Supprimez tout les domaines présents par défaut si vous n'en avez pas l'utilité > "Ajouter un domaine" > "Nom" : Ce que vous voulez mais je trouve propre de mettre le domaine MX > "IMAP" > "Serveur" > "mail.exemple.fr" et "Port" 993 > "Sécurité" "SSL/TTLS" et cochez la case "Utiliser l'identifiant court" > Pour le "SMTP", un bogue empêche d'ouvrir une sessions au dessus de TLSv1 donc il faut mettre "STRATTLS", le port est mis automatiquement quand vous sélectionnez la case "STARTTLS" (587) et vous cochez la même case pour l'identifiant court > "Ajouter"

rainloop_admin_domaine.png

Si vous avez un service Sieve, vous pouvez le renseigner dans la section "Configuration sieve".

Dans la section "Identifiant" > "Domaine par défaut" > exemple.fr (ça permettra de ne pas avoir à se taper le "@exemple.fr" à chaque fois qu'on veut se connecter

rainloop_admin_domaine_d%c3%a9faut.png

Une fois terminé, déconnectez-vous à l'aide du bouton en haut à droite et revenez à la page de d'identification des clients pour vous connecter à votre compte

http:/mail.exemple.fr

Mise à jour de Rainloop

La mise à jour de l'outil s'effectue en suivant les quelques étapes suivantes

  1. Télécharger la dernière version de Rainloop
  2. Là décompresser dans le /tmp
  3. Copier le dossier "rainloop/v/N°VERSION" dans le même répertoire que la version de production (à coté de la version actuelle)
  4. Remplacer le numéro de version dans /var/www/rainloop/index.php
  5. Remplacer le numéro de version dans /var/www/rainloop/data/VERSION
  6. Donner la propriété à Apache2 sur la nouvelle version
chown -R www-data:www-data /var/www/rainloop/rainloop/v/N°VERSION

Configuration de CardDav

Une gestion centralisée par le réseau de vos contacts via CardDav est possible nativement. Il faut activer la fonctionnalité via l'interface d'adminstration afin de permettre aux utilisateurs d'y accéder dans leurs réglages.

ASTUCE

L'usage de Baïkal côté serveur est possible.

Je fais le choix de Sqlite car il est inutile de déployer plus lourd pour un usage personnel. Il faut prendre soin d'installer le module PHP correspondant :

apt install --no-install-recommends php-sqlite3

Activez ensuite la fonction dans l'interface d'administration comme suit :

rainloop_admin_contacts.png

Il est maintenant possible d'accéder au menu dédié depuis les réglages d'un compte utilisateur.