GNU/Linux >> Tutoriels Linux >  >> Ubuntu

Installez Roundcube Webmail sur Ubuntu 20.04 avec Apache/Nginx

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

  • --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 utiliser tls:// comme préfixe pour le port 587. Le ssl:// 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 avec systemctl 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.


Ubuntu
  1. Comment installer Jenkins Automation Server avec Apache sur Ubuntu 16.04

  2. Comment installer le serveur HTTP Git avec Nginx sur Ubuntu 16.04

  3. Comment installer Jenkins Automation Server avec Apache sur Ubuntu 18.04

  4. Comment installer le serveur HTTP Git avec Nginx sur Ubuntu 20.04

  5. Installez phpMyAdmin sur Ubuntu 20.04 avec Nginx

Installez Roundcube Webmail sur Ubuntu 20.04 avec Apache/Nginx

Comment installer Sonerezh Music Streaming Server sur Ubuntu 16.04 avec Apache ou Nginx

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

Installez Matomo Web Analytics (Piwik) sur Ubuntu 18.04 avec Apache/Nginx

Installez Matomo Web Analytics (Piwik) sur Ubuntu 20.04 avec Apache/Nginx

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