Cube rond est un client de messagerie Web open source complet et gratuit écrit en 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 à partir 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 le webmail Roundcube sur Ubuntu 20.04 avec un serveur web Apache ou Nginx.
Fonctionnalités du cube rond
La fonctionnalité Roundcube inclut :
- Carnet d'adresses
- Gestion des dossiers
- Recherche de messages
- Filtre de messages
- Vérification orthographique
- Compatibilité MIME
- Cryptage et signature PGP
- Les utilisateurs peuvent changer leur mot de passe dans Roundcube.
- Importer des e-mails au format MIME ou Mbox.
Version Roundcube 1.4
Roundcube 1.4 est sorti le 10 novembre 2019 après deux ans de développement. Cette version comprend :
- Une peau réactive appelée Elastic avec prise en charge complète des appareils mobiles
- Fonctionnalité de renvoi d'e-mail (rebond)
- Amélioration de l'intégration de Mailvelope
- Prise en charge du cache Redis et Memcached
- Compatibilité avec SMTPUTF8 et GSSAPI
- Plus de nombreuses améliorations et corrections de bugs
Prérequis
Pour suivre ce tutoriel, on suppose que
- Le serveur SMTP Postfix et le serveur Dovecot IMAP ont été installés sur votre serveur Ubuntu 20.04
- Vous avez déjà installé une pile LAMP ou 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 avez déjà configuré votre serveur de messagerie avec iRedMail, votre serveur répond à toutes les exigences et Roundcube est déjà installé sur votre serveur.
Passons maintenant à l'installation de Roundcube.
Étape 1 :Téléchargez la messagerie Web Roundcube 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 à partir du référentiel Roundcube Github.
wget https://github.com/roundcube/roundcubemail/releases/download/1.4.6/roundcubemail-1.4.6-complete.tar.gz
Remarque :Vous pouvez toujours utiliser le format d'URL ci-dessus pour télécharger Roundcube à partir de la ligne de commande. Si une nouvelle version sort, remplacez simplement 1.4.6 par le nouveau numéro de version. Vous pouvez vérifier s'il y a une nouvelle version sur la page de téléchargement de Roundcube.
Extrayez l'archive, déplacez le dossier nouvellement créé vers la racine Web (/var/www/
) et renommez-le en roundcube
en même temps.
tar xvf roundcubemail-1.4.6-complete.tar.gz sudo mv roundcubemail-1.4.6 /var/www/roundcube
Étape 2 :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, qui est un gestionnaire de dépendances pour PHP.
sudo apt install composer
Allez dans le répertoire 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
message, toutes les dépendances sont installées.
Rendre l'utilisateur du serveur Web (www-data
) en tant que propriétaire du temp
et logs
répertoire afin que le serveur Web puisse écrire dans ces deux répertoires.
sudo chown www-data:www-data temp/ logs/ -R
Étape 3 :Créer une base de données MariaDB et un utilisateur pour Roundcube
Connectez-vous au shell MariaDB en tant que root.
sudo mysql -u root
Créez ensuite une nouvelle base de données pour Roundcube à l'aide de la commande suivante. Ce tutoriel le nomme roundcube
, vous pouvez utiliser le nom de votre choix pour la base de données.
CREATE DATABASE roundcube DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
Ensuite, créez un nouvel utilisateur de base de données sur localhost à l'aide de la commande suivante. Encore une fois, ce tutoriel le nomme roundcubeuser
, vous pouvez utiliser le nom de votre choix. Remplacer password
avec votre mot de passe préféré.
CREATE USER roundcubeuser@localhost IDENTIFIED BY 'password';
Accordez ensuite toutes les autorisations de la nouvelle base de données au nouvel utilisateur afin que plus tard le webmail Roundcube puisse écrire dans la base de données.
GRANT ALL PRIVILEGES ON roundcube.* TO roundcubeuser@localhost;
Videz la table des privilèges pour que les modifications prennent effet.
flush privileges;
Quittez MariaDB Shell :
exit;
Importer les tables initiales dans roundcube
base de données.
sudo mysql roundcube < /var/www/roundcube/SQL/mysql.initial.sql
Étape 4 :Créer un hôte virtuel Apache ou un fichier de configuration Nginx 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 éditer le fichier suivant. (Supprimez le contenu existant.)
sudo nano /etc/apache2/sites-available/mail.example.com.conf
Mettez le texte suivant dans le fichier. Remplacez mail.example.com
avec votre vrai nom de domaine et n'oubliez pas de définir un enregistrement DNS A pour celui-ci.
<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. Activez ensuite cet hôte virtuel avec :
sudo a2ensite roundcube.conf
Rechargez Apache pour que les modifications prennent effet.
sudo systemctl reload apache2
Vous devriez maintenant pouvoir voir l'assistant d'installation Web de Roundcube sur http://mail.example.com/installer
.
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 éditer le fichier suivant. (Supprimez 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 de définir un enregistrement DNS A pour celui-ci.
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 réussit, rechargez Nginx pour que les modifications prennent effet.
sudo systemctl reload nginx
Vous devriez maintenant pouvoir voir l'assistant d'installation Web de Roundcube sur http://mail.example.com/installer
.
Étape 5 :Activer HTTPS
Il est fortement recommandé d'utiliser TLS pour chiffrer votre messagerie Web. Nous pouvons activer HTTPS en installant un certificat TLS gratuit émis par 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, 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 [email protected] -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 [email protected] -d mail.example.com
Où
--nginx
:Utilisez le plug-in nginx.--apache
:Utilisez le plug-in Apache.--agree-tos
:acceptez les conditions d'utilisation.--redirect
:Forcer HTTPS par redirection 301.--hsts
:Ajoutez l'en-tête Strict-Transport-Security à chaque réponse HTTP. Forcer le navigateur à toujours utiliser TLS pour le domaine. Protège contre le SSL/TLS Stripping.--staple-ocsp
:active l'agrafage OCSP. Une réponse OCSP valide est agrafée au certificat que le serveur propose pendant TLS.
Le certificat devrait maintenant être obtenu et installé automatiquement.
Remarque :Si vous avez suivi mon tutoriel Postfix/Dovecot et que vous installez maintenant 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, vous pouvez donc choisir d'installer le TLS existant certificat dans le fichier de configuration de votre serveur Web.
Étape 6 :Ajouter une entrée DNS locale
Il est recommandé de modifier le /etc/hosts
fichier sur le serveur de messagerie et ajoutez l'entrée suivante, afin que Roundcube n'ait pas à interroger le DNS public, ce qui accélérera un peu le chargement de la page Web.
127.0.0.1 localhost mail.example.com
Étape 7 :terminer l'installation dans le navigateur Web
Dans votre navigateur Web, accédez à la page d'installation de Roundcube.
https://mail.example.com/installer
Le programme d'installation Web vérifiera d'abord si les extensions PHP, la base de données et les bibliothèques tierces sont installées. Si vous suivez ce didacticiel, toutes les conditions doivent être remplies.
Cliquez sur le bouton Suivant. Dans la 2ème page, allez dans le Database setup
section. Vous devez remplir les détails de la base de données MariaDB que vous avez créée à l'étape 3.
La section IMAP et SMTP vous permet de configurer la manière de recevoir et d'envoyer des e-mails. Entrez les valeurs suivantes pour IMAP.
- Hôte IMAP :
ssl://mail.example.com
port :993
Entrez les valeurs suivantes pour les paramètres SMTP.
- Port SMTP :
tls://mail.example.com
port :587
. Notez que vous devez utilisertls://
comme préfixe pour le port 587. Lessl://
le préfixe doit être utilisé pour le port 465.
Ensuite, vous pouvez faire défiler jusqu'aux Plugins
section pour activer certains plugins. Par exemple, le plugin de mot de passe, marquer comme plugin indésirable, etc. Je les ai tous activés. (Vous pouvez toujours désactiver un plugin après l'installation dans le /var/www/roundcube/config/config.inc.php
fichier.)
Une fois cela fait, cliquez sur create config
bouton qui créera une configuration basée sur les informations que vous avez saisies. Vous devez copier la configuration et l'enregistrer sous config.inc.php
sous le /var/www/roundcube/config/
répertoire.
Une fois le config.inc.php
le fichier est créé, cliquez sur continue
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 saisir votre adresse e-mail complète dans le champ Sender
lors du test de la configuration SMTP.
Si le test échoue, vous pouvez cliquer sur le 2. Create config
lien en haut de page pour revenir à l'étape 2 et recréer le config.inc.php
fichier.
Si le test est réussi, accédez à votre domaine Webmail sans /installer
et connectez-vous.
Interface de messagerie Web Roundcube
Vous devez maintenant supprimer l'ensemble du dossier d'installation à partir de la racine du document ou assurez-vous que enable_installer
option dans config.inc.php
le fichier est désactivé.
sudo rm /var/www/roundcube/installer/ -r
Ces fichiers peuvent exposer au public des données de configuration sensibles telles que 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.
Étape 8 :Configurer le filtre de messages Sieve
Vous pouvez créer des dossiers dans le webmail Roundcube, 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 (LDA) intégré pour déplacer les e-mails entrants vers le magasin de messages (boîte de réception, envoyés, corbeille, courrier indésirable, etc.). Nous pouvons le configurer pour utiliser Dovecot pour envoyer 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 souhaitez utiliser le plugin sieve pour filtrer les messages entrants vers différents dossiers.
Installez le serveur Dovecot LMTP.
sudo apt install dovecot-lmtpd
Modifiez le fichier de configuration principal de Dovecot.
sudo nano /etc/dovecot/dovecot.conf
Ajouter lmtp
et sieve
aux protocoles pris en charge.
protocols = imap lmtp sieve
Enregistrez et fermez le fichier. Puis éditez le Dovecot 10-master.conf fichier.
sudo nano /etc/dovecot/conf.d/10-master.conf
Remplacez la définition du service lmtp par ce qui suit.
service lmtp { unix_listener /var/spool/postfix/private/dovecot-lmtp { group = postfix mode = 0600 user = postfix } }
Ensuite, éditez le fichier de configuration principal de Postfix.
sudo nano /etc/postfix/main.cf
Ajoutez les lignes suivantes à la fin du fichier. La première ligne indique à Postfix de livrer les e-mails au magasin de messages local via le serveur LMTP dovecot. La deuxième ligne désactive SMTPUTF8 dans Postfix, car Dovecot-LMTP ne prend pas en charge cette extension de messagerie.
mailbox_transport = lmtp:unix:private/dovecot-lmtp smtputf8_enable = no
Enregistrez et fermez le fichier. Ouvrez le /etc/dovecot/conf.d/15-lda.conf
fichier.
sudo nano /etc/dovecot/conf.d/15-lda.conf
Faites défiler jusqu'à la fin du fichier, décommentez le mail_plugins
et ajoutez le plug-in sieve à l'agent de livraison local (LDA).
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 20-lmtp.conf
fichier sous /etc/dovecot/conf.d/
répertoire, alors vous devez également activer le plugin sieve dans ce fichier comme ci-dessous.
protocol lmtp { mail_plugins = quota sieve }
Modifiez le /etc/dovecot/conf.d/10-mail.conf
fichier.
sudo nano /etc/dovecot/conf.d/10-mail.conf
Les scripts Sieve sont stockés dans le répertoire personnel de chaque utilisateur. Si vous avez suivi mon tutoriel PostfixAdmin et que vous utilisez des domaines de boîtes aux lettres virtuelles, vous devez activer mail_home
pour les utilisateurs virtuels en ajoutant la ligne suivante dans le fichier, car les utilisateurs virtuels n'ont pas de répertoires personnels par défaut.
mail_home = /var/vmail/%d/%n
Enregistrez et fermez le fichier.
Enfin, redémarrez Postfix et Dovecot.
sudo systemctl restart postfix dovecot
Vous pouvez maintenant accéder au webmail Roundcube, ouvrir un e-mail et cliquer sur more
et sélectionnez create filters
pour créer des filtres de messages. Par exemple, je crée un filtre qui déplace chaque e-mail envoyé depuis redhat.com vers le dossier Red Hat.
Si vous n'avez pas le create filter
option, c'est probablement parce que vous n'avez pas activé le managesieve
brancher. Modifiez le config.inc.php
fichier.
sudo nano /var/www/roundcube/config/config.inc.php
Ajouter le managesieve
plugin dans le tableau à la fin de ce fichier. L'ordre des plugins n'a pas d'importance.
$config['plugins'] = array('acl', 'additional_message_headers', 'managesieve', .....);
Enregistrez et fermez le fichier.
Notez que si vous déplacez un ensemble de filtres tamis d'un ancien serveur de messagerie vers votre nouveau serveur de messagerie, vous devez accéder aux Paramètres -> Filtres , puis cliquez sur Actions et activez le jeu de filtres, sinon le serveur Dovecot LMTP n'exécutera pas le filtre tamis.
Étape 9 :Supprimer les informations sensibles des en-têtes d'e-mail
Par défaut, Roundcube ajoutera un User-Agent
en-tête de l'e-mail, indiquant que vous utilisez le webmail Roundcube 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.
/^User-Agent.*Roundcube Webmail/ 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 User-Agent: Roundcube Webmail
dans les en-têtes lors de l'envoi d'e-mails sortants.
Étape 10 :Configurer le plug-in de mot de passe dans Roundcube
Roundcube inclut un plug-in de mot de passe qui permet aux utilisateurs de modifier leurs mots de passe à partir de l'interface de messagerie Web. Modifiez le config.inc.php
fichier.
sudo nano /var/www/roundcube/config/config.inc.php
Assurez-vous que le password
plugin dans la liste des plugins à la fin de ce fichier. L'ordre des plugins n'a pas d'importance.
$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 de configuration du plug-in de mot de passe distribué dans un nouveau fichier.
sudo cp /var/www/roundcube/plugins/password/config.inc.php.dist /var/www/roundcube/plugins/password/config.inc.php
Modifiez le fichier de configuration du plug-in de mot de passe.
sudo nano /var/www/roundcube/plugins/password/config.inc.php
Recherchez la ligne suivante :
$config['password_db_dsn'] = '';
Ce paramètre est utilisé pour indiquer au plugin de mot de passe où les mots de passe des utilisateurs sont stockés. Par défaut, la valeur est vide et elle interrogera le roundcube
base de données, qui ne stocke pas les mots de passe des utilisateurs. Si vous avez suivi mon tutoriel PostfixAdmin, alors les mots de passe des utilisateurs sont stockés dans la postfixadmin.mailbox
table, nous devons donc changer la valeur en :
$config['password_db_dsn'] = 'mysql://postfixadmin:[email protected]/postfixadmin';
Le dit au plugin de mot de passe de se connecter à postfixadmin
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 /etc/dovecot/dovecot-sql.conf.ext
dossier. Si votre mot de passe PostfixAdmin contient un guillemet simple, vous pouvez utiliser une barre oblique inverse (\'
) pour y échapper.
Trouvez ensuite la ligne suivante.
$config['password_query'] = 'SELECT update_passwd(%c, %u)';
Remplacez-le par ce qui suit.
$config['password_query'] = 'UPDATE mailbox SET password=%D,modified=NOW() WHERE username=%u';
Je recommande d'activer un vérificateur 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 zxcvbn
pilote de force de mot de passe, alors changez-le en :
$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 $config['password_minimum_score']
le paramètre ne fonctionne pas avec le zxcvbn
conducteur, alors laissez-le tranquille.
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 devons donc également configurer le plugin de 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é en texte clair, modifiez la valeur comme suit pour utiliser l'algorithme de mot de passe intégré de Dovecot.
$config['password_algorithm'] = 'dovecot';
Trouvez ensuite la ligne suivante, qui indique où se trouve le générateur de hachage du mot de passe de Dovecot.
$config['password_dovecotpw'] = '/usr/local/sbin/dovecotpw'; // for dovecot-1.x
Remplacez-le par ce qui suit.
$config['password_dovecotpw'] = '/usr/bin/doveadm pw -r 5';
Recherchez ensuite la ligne suivante, qui indique le schéma de mot de passe qui 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;
Changer false
à true.
Cela ajoutera un préfixe {ARGON2I} au mot de passe haché, de sorte que vous reconnaîtrez le schéma de mot de passe utilisé.
$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 autoriser que le www-data
utilisateur pour lire et écrire dans ce fichier.
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 pouvoir modifier leurs mots de passe dans l'interface de messagerie Web Roundcube.
Comment configurer les messages de vacances/d'absence du bureau
Nous pouvons utiliser le filtre de tamis pour créer des messages de vacances/d'absence du bureau. Allez dans Roundcube Paramètres -> Filtres . Cliquez ensuite sur create
bouton pour créer un filtre.
- Donnez à ce fichier un nom tel que "absent du bureau".
- Les nouveaux filtres ne sont pas désactivés, vous pouvez donc laisser le bouton tel quel.
- Dans le champ d'application champ, sélectionnez tous les messages.
- Sélectionnez Répondre avec un message dans les paramètres d'Actions, et entrez le message qui sera automatiquement envoyé.
- Entrez 1 dans la fréquence d'envoi des messages , de sorte que la réponse automatique ne sera envoyée qu'une seule fois par jour pour chaque expéditeur. Si vous définissez cette valeur sur 7 , la réponse automatique sera envoyée une fois tous les 7 jours pour chaque expéditeur.
- Laissez les autres champs de texte vides.
- Cliquez sur Enregistrer bouton et vous avez terminé.
Lorsque vous êtes de retour au bureau, vous pouvez activer le "Filtre désactivé ", puis cliquez sur le bouton Enregistrer bouton pour désactiver ce filtre.
Augmenter la taille limite du fichier de téléchargement
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 Roundcube 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
Il existe 3 plugins dans Roundcube pour le téléchargement de pièces jointes/fichiers :
- database_attachments
- filesystem_attachments
- attachements_redondants
Roundcube ne peut utiliser qu'un seul plugin pour les téléchargements de pièces jointes/fichiers. J'ai trouvé que le database_attachment
plugin peut être error_prone et vous causer des problèmes. Pour le désactiver, modifiez le fichier de configuration Roundcube.
sudo nano /var/www/roundcube/config/config.inc.php
Faites défiler jusqu'à la fin de ce fichier. Vous verrez une liste des plugins actifs. Supprimer 'database_attachments'
de la liste. Enregistrez et fermez le fichier.
Configuration de plusieurs domaines de messagerie
Pour héberger plusieurs domaines de messagerie, veuillez lire l'article suivant :
- Comment héberger plusieurs domaines de messagerie dans PostfixAdmin sur Ubuntu
Conseils de dépannage
Si vous rencontrez des erreurs, vous pouvez consulter les journaux d'erreurs du serveur Web sur /var/log/apache2/roundcube_error.log
(si vous utilisez Apache), ou /var/log/nginx/roundcube.error
(si vous utilisez Nginx.), également les journaux d'erreur Roundcube dans /var/www/roundcube/logs/
répertoire.
Échec de la connexion au serveur de stockage
Si vous voyez le message Échec de la connexion au serveur de stockage erreur lors de la tentative de connexion à RoundCube, c'est probablement parce que
- Le serveur Dovecot n'est pas en cours d'exécution. Vous pouvez redémarrer Dovecot avec
sudo systemctl restart dovecot
et vérifiez son statut avecsystemctl status dovecot
. - Vous utilisez un certificat TLS auto-signé. Roundcube nécessite un certificat TLS valide émis par une autorité de certification de confiance telle que Let's Encrypt.
- Votre certificat TLS a expiré. Vous pouvez renouveler le certificat Let's Encrypt TLS avec
sudo certbot renew
, puis redémarrez Postfix et Dovecot (sudo systemctl restart postfix dovecot
).
Vous pouvez également essayer d'ajouter une entrée DNS personnalisée dans /etc/hosts
fichier comme 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.
Impossible de charger le message depuis le serveur
Si vous voyez le message "Erreur interne :impossible de charger le message à partir du serveur ", c'est probablement parce que vous essayez d'ouvrir un e-mail supprimé (URL invalide). Essayez d'accéder au domaine racine de la messagerie (mail.example.com) pour voir si cela fonctionne.
Le filtre de messages Sieve ne fonctionne pas ?
Si vous avez suivi l'étape 8 pour configurer le filtre tamis à la lettre, mais que vous n'arrivez toujours pas à le faire fonctionner, vous pouvez activer le débogage dans Dovecot pour découvrir ce qui ne va pas.
sudo nano /etc/dovecot/dovecot.conf
Ajoutez la ligne suivante à la fin de ce fichier pour activer le débogage dans Dovecot.
mail_debug=yes
Enregistrez et fermez le fichier. Redémarrez ensuite Dovecot.
sudo systemctl restart dovecot
Ensuite, envoyez un e-mail de test à l'adresse e-mail de votre domaine et ouvrez le fichier journal des e-mails.
sudo nano /var/log/mail.log
Vous pouvez trouver des informations de débogage pour le filtre de messages Sieve. Par exemple, j'ai constaté que Dovecot était incapable d'exécuter mon script Sieve.
Jan 10 11:35:24 mail dovecot: lmtp([email protected]) Debug: sieve: Aborted running script `/var/vmail/linuxbabe.com/xiao/.dovecot.svbin'
Il s'avère que mon filtre Sieve a trop de règles et certaines d'entre elles sont en conflit les unes avec les autres. Je supprime ces règles en conflit et cela fonctionne à nouveau.
Comment mettre à niveau Roundcube
C'est très simple. Par exemple, voici comment passer à Roundcube 1.5.0.
Téléchargez la dernière version de Roundcube dans votre répertoire personnel.
cd ~ wget https://github.com/roundcube/roundcubemail/releases/download/1.5.0/roundcubemail-1.5.0-complete.tar.gz
Extraire l'archive.
tar xvf roundcubemail-1.5.0-complete.tar.gz
Remplacez le propriétaire par www-data
.
chown www-data:www-data roundcubemail-1.5.0/ -R
Exécutez ensuite le script d'installation.
roundcubemail-1.5.0/bin/installto.sh /var/www/roundcube/
Une fois que c'est fait, connectez-vous au webmail Roundcube et cliquez sur À propos bouton pour vérifier quelle version de Rouncube vous utilisez.