GNU/Linux >> Tutoriels Linux >  >> Ubuntu

Comment installer RainLoop Webmail sur Ubuntu 20.04 avec Apache/Nginx

Dans les articles précédents, nous avons expliqué comment configurer votre propre serveur de messagerie sur Ubuntu à partir de zéro. Ce tutoriel va vous montrer comment installer RainLoop Webmail sur Ubuntu 20.04 avec un serveur Web Apache ou Nginx. RainLoop est un client de messagerie Web simple, moderne, rapide et open source écrit en PHP.

Fonctionnalités de messagerie Web RainLoop

  • Une interface Web moderne et vous permet de télécharger un thème personnalisé.
  • Rapide et léger
  • Compatible avec SMTP et IMAP.
  • Prend en charge plusieurs comptes, ce qui signifie que vous pouvez accéder à toutes vos adresses e-mail à partir d'un seul endroit.
  • Prend en charge l'authentification à deux facteurs.
  • Intégration avec Facebook, Twitter, Google et Dropbox.
  • Accès direct au serveur de messagerie, aucune base de données nécessaire.
  • Facile à installer et à mettre à niveau (mise à niveau en un clic dans le panneau d'administration)

. Il existe deux éditions de RainLoop :

  • édition communautaire publié sous la licence AGPL v3
  • édition standard publié sous la licence logicielle RainLoop.

Nous utiliserons l'édition communautaire gratuite et open source dans ce didacticiel.

Étape 1 :Installez Apache, PHP7 ou Nginx, PHP7

Si vous utilisez Apache et PHP7, installez-les sur Ubuntu 20.04 avec :

sudo apt update

sudo apt install apache2 php7.4 libapache2-mod-php7.4

Si vous utilisez Nginx et PHP7, installez-les avec :

sudo apt update

sudo apt install nginx php7.4 php7.4-fpm

Et installez les extensions PHP suivantes requises par RainLoop.

sudo apt install php7.4-curl php7.4-xml

Étape 2 :Téléchargez et installez RainLoop Webmail sur Ubuntu 20.04

Tout d'abord, créez un répertoire pour rainloop dans le répertoire de travail actuel.

mkdir rainloop

Cd dans le répertoire et téléchargez la dernière édition de la communauté RainLoop avec les commandes suivantes :

cd rainloop

curl -s http://repository.rainloop.net/installer.php | php

Une fois cela fait, déplacez ce répertoire vers /var/www/ .

cd ..

sudo mv rainloop /var/www/

Définissez maintenant l'utilisateur du serveur Web (www-data ) en tant que propriétaire.

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

Étape 3 :Configurer un hôte virtuel pour RainLoop

Nous pouvons utiliser le serveur Web Apache ou Nginx.

Apache

Si vous souhaitez utiliser le serveur Web Apache, créez le fichier d'hôte virtuel avec la commande suivante :

sudo nano /etc/apache2/sites-available/rainloop.conf

Mettez le texte suivant dans le fichier. Remplacez le texte rouge par vos informations réelles.

<VirtualHost *:80>
  ServerName mail.example.com
  DocumentRoot "/var/www/rainloop/"

  ErrorLog "/var/log/apache2/rainloop_error_log"
  TransferLog "/var/log/apache2/rainloop_access_log"

  <Directory />
    Options +Indexes +FollowSymLinks +ExecCGI
    AllowOverride All
    Order deny,allow
    Allow from all
    Require all granted
  </Directory>

  <Directory /var/www/rainloop/data>
     Require all denied
  </Directory>

</VirtualHost>

Enregistrez et fermez le fichier. Activez ensuite cet hôte virtuel.

sudo a2ensite rainloop.conf

Et rechargez Apache.

sudo systemctl reload apache2

Nginx

Si vous souhaitez utiliser le serveur Web Nginx, créez le fichier d'hôte virtuel avec la commande suivante :

sudo nano /etc/nginx/conf.d/rainloop.conf

Mettez le texte suivant dans le fichier. Remplacez mail.example.com par votre propre nom de domaine.

server {
   listen 80;
   listen [::]:80;
   server_name mail.example.com;

   root /var/www/rainloop;
   index index.php index.html;
	
   access_log /var/log/nginx/rainloop_access.log;
   error_log /var/log/nginx/rainloop_error.log;
   
   location / {
       try_files $uri $uri/ /index.php?$query_string;
   }

   location ~ ^/(.+\.php)$ {
        try_files $uri =404;
        fastcgi_pass unix:/run/php/php7.4-fpm.sock;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include /etc/nginx/fastcgi_params;
   }
 
   location ^~ /data {
       deny all;
   }
}

Enregistrez et fermez le fichier. Testez ensuite les configurations Nginx.

sudo nginx -t

Si le test réussit, rechargez les configurations Nginx.

sudo systemctl reload nginx

Étape 4 :Installer le certificat TLS/SSL

Si vous souhaitez ajouter HTTPS à la messagerie Web, vous pouvez obtenir un certificat TLS/SSL gratuit auprès de Let's Encrypt CA. Commençons par installer le certbot client.

sudo apt install certbot

Si vous utilisez Apache serveur Web, vous devez également installer le plug-in Certbot Apache.

sudo apt install python3-certbot-apache

Exécutez ensuite la commande suivante pour obtenir un certificat TLS/SSL gratuit. Remplacez le texte en rouge par votre adresse e-mail et votre nom de domaine réels.

sudo certbot --apache --agree-tos --redirect --hsts --staple-ocsp --email [email protected] -d mail.example.com

Si vous utilisez Nginx serveur Web, vous devez installer le plug-in Certbot Nginx.

sudo apt install python3-certbot-nginx

Utilisez ensuite le plugin Nginx pour obtenir et installer le certificat en exécutant la commande suivante. Remplacez le texte en rouge par votre adresse e-mail et votre nom de domaine réels.

sudo certbot --nginx --agree-tos --redirect --hsts --staple-ocsp --email [email protected] -d mail.example.com

Vous verrez le texte suivant indiquant que vous avez réussi à obtenir un certificat TLS. Votre certificat et votre chaîne ont été enregistrés dans /etc/letsencrypt/live/mail.example.com/ répertoire.

Maintenant, si vous visitez http://mail.example.com , vous serez redirigé vers https://mail.example.com .

Étape 5 :Configurer la messagerie Web RainLoop

Connectez-vous au panneau d'administration RainLoop via l'URL suivante.

mail.example.com/?admin

Le nom d'utilisateur par défaut est admin et le mot de passe par défaut est 12345 .

Une fois connecté, il est recommandé de changer à la fois votre nom d'utilisateur et votre mot de passe depuis admin est une cible facile. Cliquez sur le security onglet dans le volet de gauche. Commencez par mettre à jour votre mot de passe, puis reconnectez-vous et mettez à jour votre nom d'utilisateur.

Pour accéder à vos e-mails via RainLoop, vous devez configurer les paramètres du serveur de messagerie dans les Domains languette. Par défaut, 4 domaines de messagerie sont ajoutés :gmail.com , outlook.com , qq.com , yahoo.com .

Les paramètres du serveur SMTP et les paramètres du serveur IMAP pour ces domaines de messagerie sont configurés par RainLoop, mais seul Gmail est activé par défaut. Pour activer les 3 autres domaines de messagerie, cochez simplement les cases.

Pour pouvoir accéder à votre propre serveur de messagerie, cliquez sur Add Domain et entrez les paramètres de serveur IMAP et SMTP de votre propre serveur de messagerie.

  • IMAP :serveur mail.example.com , port 143 , Sécurisez STARTTLS .
  • SMTP :serveur mail.example.com , port 587 , Sécurisez STARTTLS . Cochez Utiliser l'authentification.

Si Rainloop et Postfix/Dovecot s'exécutent sur le même serveur, vous pouvez utiliser les configurations suivantes, afin que votre serveur n'ait pas à rechercher le domaine dans DNS et à établir une connexion TLS.

  • IMAP :serveur 127.0.0.1 , port 143 , Sécurisé Aucun .
  • SMTP :serveur 127.0.0.1 , port 25 , Sécurisé Aucun . N'utilisez pas l'authentification sur le port 25.

Vous devez également activer votre propre domaine de messagerie en cochant la case à droite, sinon l'erreur domain is not allowed apparaîtra lors de la connexion à votre adresse e-mail.

Une fois la configuration terminée, entrez votre nom de domaine de messagerie Web RainLoop dans la barre d'adresse du navigateur sans /?admin suffixe.

mail.example.com

Et connectez-vous à votre compte de messagerie.

Webmail RainLoop

Si l'authentification échoue, vous devrez peut-être activer la connexion courte dans la page des paramètres du serveur IMAP.

C'est tout ce que vous devez faire pour accéder à vos e-mails sur Gmail, Outlook ou votre propre domaine de messagerie. Si vous ajoutez plusieurs comptes de messagerie, vous pouvez facilement basculer entre eux à partir du menu déroulant de l'utilisateur. Très cool en effet ! Vous pouvez également configurer d'autres paramètres et personnaliser votre interface de messagerie Web.

Suppression des informations sensibles des en-têtes d'e-mail

Par défaut, Rainloop ajoutera un X-Mailer l'en-tête de l'e-mail, indiquant que vous utilisez le webmail Rainloop et le numéro de version. Vous pouvez dire à Postfix de l'ignorer afin que le destinataire ne puisse pas le voir. Exécutez la commande suivante pour créer un fichier de vérification d'en-tête.

sudo nano /etc/postfix/smtp_header_checks

Mettez les lignes suivantes dans le fichier.

/^X-Mailer.*RainLoop/           IGNORE

Enregistrez et fermez le fichier. Modifiez ensuite le fichier de configuration principal de Postfix.

sudo nano /etc/postfix/main.cf

Ajoutez la ligne suivante à la fin du fichier.

smtp_header_checks = regexp:/etc/postfix/smtp_header_checks

Enregistrez et fermez le fichier. Exécutez ensuite la commande suivante pour reconstruire la table de hachage.

sudo postmap /etc/postfix/smtp_header_checks

Rechargez Postfix pour que le changement prenne effet.

sudo systemctl reload postfix

Désormais, Postfix n'inclura plus X-Mailer: Rainloop dans les en-têtes des e-mails.

Augmenter la limite de taille des pièces jointes

Si vous utilisez PHP-FPM pour exécuter des scripts PHP, les fichiers tels que les images, les fichiers PDF téléchargés sur Rainloop ne peuvent pas dépasser 2 Mo. Pour augmenter la taille limite de téléchargement, modifiez le fichier de configuration PHP.

sudo nano /etc/php/7.4/fpm/php.ini

Trouvez la ligne suivante (ligne 846).

upload_max_filesize = 2M

Modifiez la valeur comme ci-dessous. Notez que cette valeur ne doit pas être supérieure à la limite de taille de pièce jointe définie par le serveur SMTP de Postfix.

upload_max_filesize = 50M

Trouvez ensuite la ligne suivante (ligne 694).

post_max_size = 8M

Modifiez la taille maximale des données POST que PHP acceptera.

post_max_size = 50M

Enregistrez et fermez le fichier. Vous pouvez également exécuter les deux commandes suivantes pour modifier la valeur sans ouvrir manuellement le fichier.

sudo sed -i 's/upload_max_filesize = 2M/upload_max_filesize = 50M/g' /etc/php/7.4/fpm/php.ini

sudo sed -i 's/post_max_size = 8M/post_max_size = 50M/g' /etc/php/7.4/fpm/php.ini

Redémarrez ensuite PHP-FPM.

sudo systemctl restart php7.4-fpm

Nginx définit également une limite de taille de fichier de téléchargement. La limite de taille de fichier de téléchargement maximale par défaut définie par Nginx est de 1 Mo. Si vous utilisez Nginx, modifiez le fichier de configuration Nginx.

sudo nano /etc/nginx/conf.d/mail.example.com.conf

Ajoutez la ligne suivante dans l'hôte virtuel SSL.

client_max_body_size 50M;

Enregistrez et fermez le fichier. Rechargez ensuite Nginx pour que les modifications prennent effet.

sudo systemctl reload nginx

Ensuite, connectez-vous au panneau d'administration Rainloop (https://mail.example.com/?admin ) et modifier la limite de taille des pièces jointes.

Enregistrez la modification. Vous devez vous déconnecter de votre messagerie Web et vous reconnecter pour que la modification prenne effet.

Télécharger une image en tant que thème personnalisé

Un utilisateur peut changer les thèmes Rainloop en cliquant sur l'icône de rouage dans le coin inférieur gauche et en sélectionnant les themes onglet sur la barre de gauche. Vous pouvez également télécharger une image en tant que thème personnalisé.

Mon thème personnalisé.


Ubuntu
  1. Comment installer MediaWiki avec Nginx sur Ubuntu 16.04

  2. Comment installer Magento avec Nginx sur Ubuntu 15.10

  3. Comment installer Mailpile avec Nginx sur Ubuntu 15.10

  4. Comment installer Redmine 3 avec Nginx sur Ubuntu 15.10

  5. Comment installer Piwik avec Nginx sur Ubuntu 15.10

Installez Roundcube Webmail sur Ubuntu 20.04 avec Apache/Nginx

Comment installer Nextcloud 13 sur Ubuntu 16.04 avec Nginx

Comment installer MediaWiki sur Ubuntu 16.04/17.04 avec Apache ou Nginx

Comment installer InvoiceNinja sur le serveur Ubuntu 18.04 avec Apache/Nginx

Comment installer InvoiceNinja sur le serveur Ubuntu 20.04 avec Apache/Nginx

Comment installer Apache Tomcat 10 sur Ubuntu 20.04 avec Nginx