Vous êtes ici : » Accueil» Linux » Installez Roundcube Ubuntu 20.04 Apache/Nginx

Installez Roundcube Ubuntu 20.04 Apache/Nginx

(Dernière mise à jour le: 24 octobre 2021)

Roundcube est un client webmail open-source et complet gratuit écrit dans PHP. Un webmail est un client de messagerie dans votre navigateur, ce qui signifie qu’au lieu de lire et d’envoyer des e-mails d’un client de messagerie de bureau comme Mozilla Thunderbird, vous pouvez accéder à votre e-mail à partir d’un navigateur Web. Ce tutoriel va vous montrer comment installer Roundcube webmail sur Ubuntu 20.04 avec Apache ou Nginx serveur web.

Caractéristiques de roundcube

La fonctionnalité Roundcube comprend :

  • carnet d’adresses
  • Gestion des dossiers
  • Recherche de messages
  • Filtre de message
  • Vérification des sorts
  • Support MIME
  • Cryptage et signature PGP
  • Les utilisateurs peuvent modifier leur mot de passe dans Roundcube.

Roundcube 1.4

Roundcube 1.4 est sorti le 10 novembre 2019 après deux ans de développement. Cette version présente :

  • Une peau réactive appelée Elastic avec prise en charge complète de l’appareil mobile
  • Fonction Email Resent (Bounce)
  • Amélioration de l’intégration de Mailvelope
  • Prise en charge du cache Redis et Memcached
  • Soutien au SMTPUTF8 et au GSSAPI
  • Plus de nombreuses améliorations et corrections de bogues

Conditions préalables

Pour suivre ce tutoriel, il est supposé que :

  • Le serveur Postfix SMTP et le serveur Dovecot IMAP ont été installés sur votre serveur Ubuntu 20.04
  • Vous avez déjà installé une pile LAMP ou une pile LEMP sur le serveur Ubuntu 20.04.

Si ce n’est pas le cas, veuillez cliquer sur les liens ci-dessus et suivre les instructions pour remplir les conditions préalables. Notez que si vous configurez votre serveur de messagerie en utilisant iRedMail avant, alors votre serveur répond à toutes les exigences et Roundcube est déjà installé sur votre serveur.

Maintenant, nous allons procéder à l’installation Roundcube.

Étape 1: Télécharger Roundcube Webmail sur Ubuntu 20.04

Connectez-vous à votre serveur Ubuntu via SSH,puis exécutez la commande suivante pour télécharger la dernière version stable 1.4 du référentiel Roundcube Github.

wget https://github.com/roundcube/roundcubemail/releases/download/1.4.11/roundcubemail-1.4.11-complete.tar.gz

Remarque: Vous pouvez toujours utiliser le format URL ci-dessus pour télécharger Roundcube à partir de la ligne de commande. Si une nouvelle version sort, remplacez simplement 1.4.11 par le nouveau numéro de version. Vous pouvez vérifier s’il ya une nouvelle version à Roundcube downloade page.

Extraire la tarball, déplacer le dossier nouvellement créé à la racine web() et le renommer comme suit:

tar xvf roundcubemail-1.4.11-complete.tar.gz

sudo mv roundcubemail-1.4.11 /var/www/roundcube

Installer les dépendances

Exécutez la commande suivante pour installer les extensions PHP requises.

sudo apt install php-net-ldap2 php-net-ldap3 php-imagick php7.4-common php7.4-gd php7.4-imap php7.4-json php7.4-curl php7.4-zip php7.4-xml php7.4-mbstring php7.4-bz2 php7.4-intl php7.4-gmp

Installez Composer (facultatif), qui est un gestionnaire de dépendance pour PHP.

sudo apt install composer

aller dans le répertoire de roundcube.

cd /var/www/roundcube

Utilisez Composer pour installer toutes les dépendances nécessaires (bibliothèques tierces) pour Roundcube Webmail.

composer install --no-dev

Si vous voyez le message (nothing to install or update), ça veut dire que toutes les dépendances ont étaient installées.

Donner à l’utilisateur (www-data) du serveur Web les privilèges propriétaires de l’annuaire à afin que le serveur Web peut lire et écrire dans  ces deux répertoires.temp etlogs

sudo chown www-data:www-data temp/logs/ -R

 Créer une base de données et un utilisateur pour Roundcube

Connectez-vous à la mysql MariaDB en tant que root.

sudo mysql -u root

Créez ensuite une nouvelle base de données pour Roundcube en utilisant la commande suivante. Ce nom tutoriel, vous pouvez utiliser n’importe quel nom que vous aimez pour la base de données.roundcube

CREATE DATABASE roundcube DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;

Ensuite, créez un nouvel utilisateur de base de données sur localhost en utilisant la commande suivante. Encore une fois,  vous pouvez utiliser n’importe quel nom d’utilisateur  que vous aimez.

Remplacez password par votre mot de passe préféré.

CREATE USER roundcubeuser@localhost IDENTIFIED BY 'password';

Ensuite, accordez toutes autorisations de la nouvelle base de données au nouvel utilisateur afin que plus tard roundcube webmail peut gérer la base de données.

GRANT ALL PRIVILEGES ON roundcube.* TO roundcubeuser@localhost;

Valider les privilèges pour que les modifications prennent effet.

flush privileges;

Exit pour quitter Mysql:

exit;

Importer les tableaux initiaux dans la base de données.roundcube

sudo mysql roundcube < /var/www/roundcube/SQL/mysql.initial.sql

Créez apache Virtual Host ou Nginx Config File pour Roundcube

Apache

Si vous utilisez le serveur Web Apache, créez un hôte virtuel pour Roundcube.

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

Remarque: Si vous avez suivi mon tutoriel Postfix/Dovecot, un hôte virtuel existe déjà. vous devez modifier le fichier suivant. (Supprimer le contenu existant.)

sudo nano /etc/apache2/sites-available/mail.example.com.conf

Mettez le texte suivant dans le fichier. Remplacez-le par votre vrai nom de domaine et n’oubliez pas d’établir un record DNS A pour cela.mail.example.com

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

  ErrorLog ${APACHE_LOG_DIR}/roundcube_error.log
  CustomLog ${APACHE_LOG_DIR}/roundcube_access.log combined

  <Directory />
    Options FollowSymLinks
    AllowOverride All
  </Directory>

  <Directory /var/www/roundcube/>
    Options FollowSymLinks MultiViews
    AllowOverride All
    Order allow,deny
    allow from all
  </Directory>

</VirtualHost>

Enregistrez et fermez le fichier. Ensuite, activez cet hôte virtuel avec :

sudo a2ensite roundcube.conf

Rechargez Apache pour que les modifications prennent effet.

sudo systemctl reload apache2

Maintenant, vous devriez être en mesure de voir le Roundcube web-based installer assistant à .http://mail.example.com/installer

Nginx ( Nginx )

Si vous utilisez le serveur Web Nginx, créez un hôte virtuel pour Roundcube.

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

Remarque: Si vous avez suivi mon tutoriel Postfix/Dovecot, un hôte virtuel existe déjà. vous devez modifier le fichier suivant. (Supprimer le contenu existant.)

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

Mettez le texte suivant dans le fichier. Remplacez le nom de domaine et n’oubliez pas d’établir un record DNS A pour cela.

server {
  listen 80;
  listen [::]:80;
  server_name mail.example.com;
  root /var/www/roundcube/;
  index index.php index.html index.htm;

  error_log /var/log/nginx/roundcube.error;
  access_log /var/log/nginx/roundcube.access;

  location / {
    try_files $uri $uri/ /index.php;
  }

  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 fastcgi_params;
  }

  location ~ /.well-known/acme-challenge {
    allow all;
  }
 location ~ ^/(README|INSTALL|LICENSE|CHANGELOG|UPGRADING)$ {
    deny all;
  }
  location ~ ^/(bin|SQL)/ {
    deny all;
  }
 # A long browser cache lifetime can speed up repeat visits to your page
  location ~* \.(jpg|jpeg|gif|png|webp|svg|woff|woff2|ttf|css|js|ico|xml)$ {
       access_log        off;
       log_not_found     off;
       expires           360d;
  }
}

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

sudo nginx -t

Si le test est réussi, rechargez Nginx pour que les modifications prennent effet.

sudo systemctl reload nginx

Maintenant, vous devriez être en mesure de voir le Roundcube web-based installer assistant à .http://mail.example.com/installer

Step 5: Enabling HTTPSIt’s highly recommended that you use TLS to encrypt your webmail. We can enable HTTPS by installing a free TLS certificate issued from Let’s Encrypt. Run the following command to install Let’s Encrypt client (certbot) on Ubuntu 20.04 server.

sudo apt install certbot

If you use Nginx, then you also need to install the Certbot Nginx plugin.

sudo apt install python3-certbot-nginx

Next, run the following command to obtain and install TLS certificate.

sudo certbot --nginx --agree-tos --redirect --hsts --staple-ocsp --email you@example.com -d mail.example.com

If you use Apache, install the Certbot Apache plugin.

sudo apt install python3-certbot-apache

And run this command to obtain and install TLS certificate.

sudo certbot

Activation de HTTPS (Letsencrypt)

Il est fortement recommandé d’utiliser TLS pour chiffrer votre webmail. Nous pouvons activer HTTPS en installant un certificat TLS gratuit émis à partir de Let’s Encrypt. Exécutez la commande suivante pour installer le client Let’s Encrypt (certbot) sur le serveur Ubuntu 20.04.

sudo apt install certbot

Si vous utilisez Nginx, alors vous devez également installer le plugin Certbot Nginx.

sudo apt install python3-certbot-nginx

Ensuite, exécutez la commande suivante pour obtenir et installer le certificat TLS.

sudo certbot --nginx --agree-tos --redirect --hsts --staple-ocsp --email you@example.com -d mail.example.com

Si vous utilisez Apache, installez le plugin Certbot Apache.

sudo apt install python3-certbot-apache

Et exécutez cette commande pour obtenir et installer le certificat TLS.

sudo certbot --apache --agree-tos --redirect --hsts --staple-ocsp --email you@example.com -d mail.example.com
  • --nginx: Utilisez le plugin nginx.
  • --apache: Utilisez le plugin Apache.
  • --agree-tos: Acceptez les conditions de service.
  • --redirect: Force HTTPS par 301 rediriger.
  • --hsts: Ajoutez l’en-tête Strict-Transport-Security à chaque réponse HTTP. Forcer le navigateur à toujours utiliser TLS pour le domaine. Se défend contre le décapage SSL/TLS.
  • --staple-ocsp: Permet ocsp stapling. Une réponse OCSP valide est agrafée au certificat que le serveur offre pendant TLS.

Le certificat doit maintenant être obtenu et installé automatiquement.

roundcube-webmail-https-letsencrypt Installez Roundcube Ubuntu 20.04  Apache/Nginx

Note: Si vous avez suivi mon tutoriel Postfix/Dovecot, et maintenant vous installez Roundcube sur le même serveur, alors certbot vous dira probablement qu’un certificat pour mail.example.com existe déjà comme indiqué ci-dessous, de sorte que vous pouvez choisir d’installer le certificat TLS existant à votre fichier de configuration de serveur Web.

roundcube-postfix-dovecot-certbot-https-certificate Installez Roundcube Ubuntu 20.04  Apache/Nginx

Étape 6 : Terminer l’installation dans le navigateur Web

Dans votre navigateur Web, rendez-vous sur la page d’installateur Roundcube.

https://mail.example.com/installer

L’installateur web vérifiera d’abord si des extensions PHP, une base de données et des bibliothèques tierce partie sont installées. Si vous suivez ce tutoriel, alors toutes les exigences doivent être remplies.

roundcube-ubuntu-20.04 Installez Roundcube Ubuntu 20.04  Apache/Nginx

Cliquez sur le bouton Suivant. Dans la 2ème page, allez à la section. Vous devez remplir les données de la base de données MariaDB que vous avez créées à l’étape 3.Database setup

roundcube-mariadb-user Installez Roundcube Ubuntu 20.04  Apache/Nginx

La section IMAP et SMTP vous permet de configurer la façon de recevoir et de soumettre des e-mails. Entrez les valeurs suivantes pour IMAP.

  • Hôte IMAP: port: ssl://mail.example.com993

roundcube-imap-settings Installez Roundcube Ubuntu 20.04  Apache/Nginx

Entrez les valeurs suivantes pour les paramètres SMTP.

  • Port SMTP: port: . Notez que vous devez utiliser comme préfixe pour le port 587. Le préfixe doit être utilisé pour le port 465.tls://mail.example.com587tls://ssl://

roundcube-smtp-settings Installez Roundcube Ubuntu 20.04  Apache/Nginx

Ensuite, vous pouvez faire défiler vers le bas à la section pour activer certains plugins. Par exemple, le plugin mot de passe, marque comme plugin indésirable, et ainsi de suite. Je les ai tous activés. (Vous pouvez toujours désactiver un plugin après l’installation dans le fichier.)Plugins/var/www/roundcube/config/config.inc.php

roundcube-enable-plugins Installez Roundcube Ubuntu 20.04  Apache/Nginx

Une fois cela fait, cliquez sur le bouton qui créera la configuration en fonction des informations que vous avez saisies. Vous devez copier la configuration et l’enregistrer sous le répertoire.create configconfig.inc.php/var/www/roundcube/config/

roundcube-webmail-installer Installez Roundcube Ubuntu 20.04  Apache/Nginx

Une fois le fichier créé, cliquez sur le bouton. Dans la dernière étape, testez vos paramètres SMTP et IMAP en envoyant un e-mail de test et en vérifiant la connexion IMAP. Notez que vous devez entrer votre adresse e-mail complète sur le terrain lors de l’essai de config SMTP.config.inc.phpcontinueSender

roundcube-webmail-test-smtp-imap-config Installez Roundcube Ubuntu 20.04  Apache/Nginx

Si le test échoue, alors vous pouvez cliquer sur le lien en haut de la page pour revenir à l’étape 2 et recréer le fichier.2. Create configconfig.inc.php

Si le test est réussi, rendez-vous sur votre domaine Webmail sans connexion./installer

Capture-decran-2021-07-08-051947 Installez Roundcube Ubuntu 20.04  Apache/Nginx

Interface Roundcube Webmail

roundcube-ubuntu-server-apache-nginx Installez Roundcube Ubuntu 20.04  Apache/Nginx

Maintenant, vous devez supprimer l’ensemble du dossier d’installateur de la racine du document ou assurez-vous que l’option dans le fichier est désactivée.enable_installerconfig.inc.php

sudo rm /var/www/roundcube/installer/ -r

Ces fichiers peuvent exposer au public des données de configuration sensibles comme les mots de passe du serveur et les clés de chiffrement. Assurez-vous que vous ne pouvez pas accéder à la page d’installation à partir de votre navigateur.

Configurer le filtre dovecot-sieve

Vous pouvez créer des dossiers dans roundcube webmail, puis créer des règles pour filtrer les messages électroniques dans différents dossiers. Pour ce faire, vous devez installer le serveur ManageSieve avec la commande suivante.

sudo apt install dovecot-sieve dovecot-managesieved

Par défaut, Postfix utilise son agent de livraison local intégré (LDA) pour déplacer les e-mails entrants vers le magasin de messages (boîte de réception, envoyé, poubelle, Junk, etc.). Nous pouvons le configurer pour utiliser Dovecot pour livrer des e-mails, via le protocole LMTP, qui est une version simplifiée de SMTP. LMTP permet un système de messagerie hautement évolutif et fiable et il est nécessaire si vous voulez utiliser le plugin tamis pour filtrer les messages entrants à différents dossiers.

Installez le serveur Dovecot LMTP.

sudo apt install dovecot-lmtpd

Modifiez le fichier de configuration principal Dovecot.

sudo nano /etc/dovecot/dovecot.conf

Ajouter aux protocoles pris en charge.lmtpsieve

protocols = imap lmtp sieve

Enregistrez et fermez le fichier. Ensuite, modifiez le fichier Dovecot 10-master.conf.

sudo nano /etc/dovecot/conf.d/10-master.conf

Modifiez la définition du service lmtp en ce qui suit.

service lmtp {
 unix_listener /var/spool/postfix/private/dovecot-lmtp {
   group = postfix
   mode = 0600
   user = postfix
  }
}

Ensuite, modifiez le fichier de configuration principal Postfix.

sudo nano /etc/postfix/main.cf

Ajoutez les lignes suivantes à la fin du fichier. La première ligne indique à Postfix de livrer des e-mails au magasin de messages local via le serveur dovecot LMTP. La deuxième ligne désactive SMTPUTF8 dans Postfix, parce que Dovecot-LMTP ne prend pas en charge cette extension e-mail.

mailbox_transport = lmtp:unix:private/dovecot-lmtp
smtputf8_enable = no

Enregistrez et fermez le fichier. Ouvrez le fichier./etc/dovecot/conf.d/15-lda.conf

sudo nano /etc/dovecot/conf.d/15-lda.conf

Faites défiler jusqu’à la fin du fichier, décommentez la ligne et ajoutez le plugin sieve à l’agent de livraison local (LDA).mail_plugins

protocol lda {
    # Space separated list of plugins to load (default is global mail_plugins).
    mail_plugins = $mail_plugins sieve
}

Enregistrez et fermez le fichier. Si vous pouvez trouver le fichier sous répertoire, alors vous devez également activer le plugin tamis dans ce fichier comme ci-dessous.20-lmtp.conf/etc/dovecot/conf.d/

protocol lmtp {
      mail_plugins = quota sieve
}

Modifiez le fichier./etc/dovecot/conf.d/10-mail.conf

sudo nano /etc/dovecot/conf.d/10-mail.conf

Les scripts Tamis sont stockés sous l’annuaire de chaque utilisateur. Si vous avez suivi mon tutoriel PostfixAdmin et utilisez des domaines de boîte aux lettres virtuelles, alors vous devez activer pour les utilisateurs virtuels en ajoutant la ligne suivante dans le fichier, parce que les utilisateurs virtuels n’ont pas d’annuaires à domicile par défaut.mail_home

mail_home = /var/vmail/%d/%n

Enregistrez et fermez le fichier.

Enfin, redémarrez Postfix et Dovecot.

sudo systemctl restart postfix dovecot

Maintenant, vous pouvez aller à Roundcube webmail, ouvrir un message électronique et cliquez sur le bouton et sélectionnez pour créer des filtres de message. Par exemple, je crée un filtre qui déplace chaque e-mail envoyé redhat.com vers le dossier Red Hat.morecreate filters

roundcube-sieve-filter Installez Roundcube Ubuntu 20.04  Apache/Nginx

Si vous n’avez pas l’option, c’est probablement parce que vous n’avez pas activer le plugin. Modifiez le fichier.create filtermanagesieveconfig.inc.php

sudo nano /var/www/roundcube/config/config.inc.php

Ajoutez le plugin dans le tableau à la fin de ce fichier. L’ordre plugin n’a pas d’importance.managesieve

$config['plugins'] = array('acl', 'additional_message_headers', 'managesieve', .....);

Enregistrez et fermez le fichier.

Notez que si vous déplacez un filtre de tamis réglé à partir d’un ancien serveur de messagerie à votre nouveau serveur de messagerie, vous devez aller à Paramètres -> Filtres, puis cliquez sur Actions et activer l’ensemble de filtre, ou Dovecot LMTP serveur n’exécutera pas le filtre tamis.

Ajout de l’entrée DNS locale

Il est recommandé de modifier le fichier et d’ajouter l’entrée suivante, de sorte que Roundcube n’aura pas à interroger le public DNS, ce qui permettra d’accélérer le chargement de la page Web un peu./etc/hosts

127.0.0.1  localhost mail.example.com

Suppression des informations sensibles des en-têtes de courriel

Par défaut, Roundcube ajoutera un en-tête d’email, indiquant que vous utilisez roundcube webmail 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 de l’en-tête.User-Agent

sudo nano /etc/postfix/smtp_header_checks

Mettez les lignes suivantes dans le fichier.

/^User-Agent.*Roundcube Webmail/            IGNORE

Enregistrez et fermez le fichier. Modifiez ensuite le fichier de configuration principal 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 la modification prenne effet.

sudo systemctl reload postfix

Maintenant Postfix n’inclut pas dans les en-têtes lors de l’envoi des e-mails sortants.User-Agent: Roundcube Webmail

Configurer le plugin mot de passe dans Roundcube

Roundcube inclut un plugin de mot de passe qui permet aux utilisateurs de changer leurs mots de passe à partir de l’interface webmail. Modifiez le fichier.config.inc.php

sudo nano /var/www/roundcube/config/config.inc.php

Assurez-vous que le plugin dans la liste plugin à la fin de ce fichier. L’ordre plugin n’a pas d’importance.password

$config['plugins'] = array('acl', 'additional_message_headers', 'password', .....);

Enregistrez et fermez le fichier.

Cependant, nous devons configurer ce plugin avant qu’il ne fonctionne. Exécutez la commande suivante pour copier le fichier plugin config de mot de passe distribué à un nouveau fichier.

sudo cp /var/www/roundcube/plugins/password/config.inc.php.dist /var/www/roundcube/plugins/password/config.inc.php

Modifier le fichier de configuration plugin mot de passe.

sudo nano /var/www/roundcube/plugins/password/config.inc.php

Trouvez la ligne suivante :

$config['password_db_dsn'] = '';

Ce paramètre est utilisé pour dire au plugin de mot de passe où les mots de passe de l’utilisateur sont stockés. Par défaut, la valeur est vide et il interrogera la base de données, qui ne stocke pas les mots de passe des utilisateurs. Si vous avez suivi mon tutoriel PostfixAdmin, puis les mots de passe de l’utilisateur sont stockés dans la table, nous devons donc changer la valeur à:roundcubepostfixadmin.mailbox

$config['password_db_dsn'] = 'mysql://postfixadmin:postfixadmin_database_password@127.0.0.1/postfixadmin';

Le dit au plugin mot de passe de se connecter à la base de données. Si vous ne vous souvenez pas de votre mot de passe de base de données postfixadmin, vous pouvez le trouver dans le fichier. Si votre mot de passe PostfixAdmin contient un seul caractère de devis, alors vous pouvez utiliser la barre oblique inverse () pour y échapper.postfixadmin/etc/dovecot/dovecot-sql.conf.ext\'

Ensuite, trouvez la ligne suivante.

$config['password_query'] = 'SELECT update_passwd(%c, %u)';

Changez-le en ce qui suit.

$config['password_query'] = "UPDATE mailbox SET password=%D,modified=NOW() WHERE username=%u";

Je recommande d’activer un correcteur de force de mot de passe pour empêcher les utilisateurs de définir des mots de passe faibles. Allez au début de ce fichier, vous pouvez trouver la ligne suivante.

$config['password_strength_driver'] = null;

Nous pouvons utiliser le pilote de force de mot de passe, alors changez-le pour :zxcvbn

$config['password_strength_driver'] = 'zxcvbn';

Ajoutez la ligne suivante dans ce fichier pour autoriser uniquement les mots de passe forts.

$config['password_zxcvbn_min_score'] = 5;

Remarque: Le paramètre ne fonctionne pas avec le conducteur, alors laissez-le tranquille.$config['password_minimum_score']zxcvbn

Vous pouvez également définir une longueur minimale pour le mot de passe. Trouvez la ligne suivante.

$config['password_minimum_length'] = 0;

Changez-le en :

$config['password_minimum_length'] = 8;

Rappelez-vous que nous avons utilisé le schéma de mot de passe ARGON2I dans le tutoriel PostfixAdmin, nous avons donc également besoin de configurer le plugin mot de passe pour utiliser ARGON2I. Trouvez les lignes suivantes dans le fichier.

$config['password_algorithm'] = 'clear';

Par défaut, le mot de passe sera stocké sous forme de texte clair, changer la valeur à ce qui suit pour utiliser l’algorithme de mot de passe intégré de Dovecot.

$config['password_algorithm'] = 'dovecot';

Ensuite, trouvez la ligne suivante, qui indique où se trouve le générateur de hachage de mot de passe du Pigeonnier.

$config['password_dovecotpw'] = '/usr/local/sbin/dovecotpw'; // for dovecot-1.x

Changez-le en ce qui suit.

$config['password_dovecotpw'] = '/usr/bin/doveadm pw -r 5';

Ensuite, trouvez la ligne suivante, qui indique quel schéma de mot de passe sera utilisé.

$config['password_dovecotpw_method'] = 'CRAM-MD5';

Changez-le en :

$config['password_dovecotpw_method'] = 'ARGON2I';

Trouvez la ligne suivante.

$config['password_dovecotpw_with_method'] = false;

Changez à Ceci ajoutera un préfixe {ARGON2I} au mot de passe hachage, de sorte que vous reconnaîtrez quel schéma de mot de passe est utilisé.falsetrue.

$config['password_dovecotpw_with_method'] = true;

Enregistrez et fermez le fichier. Étant donné que ce fichier contient le mot de passe de la base de données, nous ne devrions permettre qu’à l’utilisateur de lire et d’écrire à ce fichier.www-data

sudo chown www-data:www-data /var/www/roundcube/plugins/password/config.inc.php
sudo chmod 600 /var/www/roundcube/plugins/password/config.inc.php

Désormais, les utilisateurs devraient être en mesure de modifier leurs mots de passe dans l’interface webmail Roundcube.

Capture-decran-2021-07-08-050940-1024x556 Installez Roundcube Ubuntu 20.04  Apache/Nginx

Comment configurer des messages de vacances/hors bureau

Nous pouvons utiliser le filtre de sieve pour créer des messages de vacances/hors-bureau. Aller à Roundcube Paramètres -> Filtres. Cliquez ensuite sur le bouton «créer» pour créer un filtre.

  • Donnez à ce déclarant un nom comme « hors du bureau ».
  • Les nouveaux filtres ne sont pas désactivés, de sorte que vous pouvez laisser le bouton seul.
  • Dans le champ «portée», sélectionnez «tous les courriels».
  • Sélectionnez «répondre avec le courriel» dans le champ «Actions», et entrez le message qui sera automatiquement envoyé.
  • Entrez 1 dans «Fréquence d’envoi des courriels :». Laissez les autres champs de texte vides.
  • Cliquez sur le bouton Enregistrer et vous avez terminé.

Capture-decran-2021-07-08-045509 Installez Roundcube Ubuntu 20.04  Apache/Nginx

Lorsque vous êtes de retour au bureau, vous pouvez basculer le bouton “Filtre désactivé” et cliquer sur le bouton Enregistrer pour désactiver ce filtre.

Augmenter la limite de taille du fichier de téléchargement

Si vous utilisez PHP-FPM pour exécuter des scripts PHP, alors les fichiers tels que les images, les fichiers PDF téléchargés sur Roundcube ne peuvent pas être plus grands que 2 Mo. Pour augmenter la limite de taille 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

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

upload_max_filesize = 50M

Ensuite, trouvez 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

Puis redémarrez PHP-FPM.

sudo systemctl restart php7.4-fpm

Nginx fixe également une limite de taille de fichier de téléchargement. La limite maximale de taille de fichier de téléchargement 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

Il y a 3 plugins dans Roundcube pour les pièces jointes/téléchargement de fichiers :

  • database_attachments
  • filesystem_attachments
  • redundant_attachments

Roundcube ne peut utiliser qu’un seul plugin pour les pièces jointes/téléchargements de fichiers. J’ai trouvé que le plugin peut être error_prone et vous causer des ennuis. Pour le désactiver, modifiez le fichier roundcube config.database_attachment

sudo nano /var/www/roundcube/config/config.inc.php

Faites défiler jusqu’à la fin de ce fichier. Vous verrez une liste de plugins actifs. Supprimer de la liste. Enregistrez et fermez le fichier.'database_attachments'

Mise en place de plusieurs domaines de messagerie

Pour héberger plusieurs domaines de messagerie, veuillez lire l’article suivant :

Conseils de dépannage

Si vous rencontrez des erreurs, vous pouvez vérifier les journaux d’erreur du serveur Web à (si vous utilisez Apache), ou (si vous utilisez Nginx.), également les journaux d’erreur Roundcube dans l’annuaire./var/log/apache2/roundcube_error.log/var/log/nginx/roundcube.error/var/www/roundcube/logs/

La connexion au serveur de stockage a échoué

Si vous voyez l’erreur de connexion au serveur de stockage échouée lorsque vous essayez de vous connecter à RoundCube, c’est probablement parce que

  • Le serveur Dovecot n’est pas en cours d’exécution. Vous pouvez redémarrer Dovecot avec et vérifier son statut avec .sudo systemctl restart dovecotsystemctl status dovecot
  • Vous utilisez un certificat TLS autosigné. Roundcube nécessite un certificat TLS valide délivré par une autorité de certificat de confiance comme Let’s Encrypt.
  • Votre certificat TLS a expiré. Vous pouvez renouveler le certificat Let’s Encrypt TLS avec , puis redémarrer Postfix et Dovecot ().sudo certbot renewsudo systemctl restart postfix dovecot

Vous pouvez également essayer d’ajouter une entrée DNS personnalisée dans le fichier tel que décrit à l’étape 8 sur le serveur Roundcube, afin que Roundcube puisse résoudre correctement le nom d’hôte du serveur de messagerie./etc/hosts

Ne pouvait pas charger le message du serveur

Si vous voyez l’erreurinterne : ne pouvait pas charger le message de l’erreurdu serveur, c’est probablement parce que vous essayez d’ouvrir un e-mail supprimé (URL non valide). Essayez d’aller au domaine racine de courrier (mail.example.com) pour voir si cela fonctionne.

J’espère que ce tutoriel vous a aidé à installer Roundcube Webmail sur Ubuntu 20.04. Comme toujours, si vous avez trouvé ce post utile, abonnez-vous à notre newsletter gratuite pour obtenir plus de trucs et astuces 🙂

SeeSoon

Technicien supérieur en Informatique, Amateur en électronique Administrateur du site milbako, + 30 ans d'expériences. Je ne suis pas un spécialiste, contrairement à ce qu'on essaie parfois de me faire croire. Je ne suis d'ailleurs spécialiste en rien, ce qui est en accord avec ce que j'essaye de me faire croire. Je suis simplement bricoleur et me suis fait quelques idées au fil des ans.

Voir tous les articles de SeeSoon →

Laisser un commentaire

Translate »