Recherche de site Web

Comment installer et configurer le client de messagerie Web RoundCube avec des utilisateurs virtuels dans Postfix - Partie 4


Dans les Parties 1 à 3 de cette série Postfix, nous avons expliqué, étape par étape, comment installer et configurer un serveur de messagerie avec des utilisateurs virtuels. Nous vous avons également montré comment accéder à l'un de ces comptes en utilisant Thunderbird comme client de messagerie.

  1. Configuration du serveur de messagerie Postfix et Dovecot avec MariaDB – Partie 1
  2. Configurer les utilisateurs du domaine virtuel Postfix et Dovecot – Partie 2
  3. Installer et intégrer ClamAV et SpamAssassin au serveur de messagerie Postfix – Partie 3

À l'ère de la connectivité, où vous aurez probablement besoin d'accéder à votre boîte de réception de n'importe où (et pas seulement depuis votre ordinateur personnel), les logiciels côté serveur appelés clients de messagerie Web vous permettent de lire et d'envoyer des e-mails via une interface Web.

Roundcube est l'un de ces programmes, et compte tenu de ses nombreuses fonctionnalités (que vous pouvez en savoir plus sur le site Web du projet), c'est celui que nous avons choisi d'utiliser dans ce tutoriel.

Installer le Webmail Roundcube pour Postfix

Dans CentOS 7 et les distributions basées telles que RHEL et Fedora, installer Roundcube est aussi simple que de :

yum update && yum install roundcubemail

Remarque : Veuillez garder à l'esprit que Roundcube est inclus dans le référentiel EPEL, que nous devons avoir déjà activé comme indiqué dans la Partie 1.

Dans Debian 8 et ses dérivés tels que Ubuntu et Mint, vous devrez d'abord activer les rétroportages Jessie (web) :

echo "deb http://http.debian.net/debian jessie-backports main" >> /etc/apt/sources.list

Installez ensuite Roundcube comme suit :

aptitude update && aptitude install roundcube

Quelle que soit la distribution que nous utilisons, nous devons maintenant créer une base de données pour stocker la structure interne de Roundcube.

Dans Debian 8, le processus d'installation s'occupera de ceci :

Choisissez Oui lorsque vous êtes invité à configurer la base de données Roundcube à l'aide de dbconfig-common :

Choisissez mysql comme type de base de données :

Fournissez le mot de passe de l'utilisateur root MariaDB :

Et choisissez un mot de passe pour que roundcube s'inscrive sur le serveur de base de données, puis cliquez sur Ok :

Confirmez le mot de passe que vous avez saisi lors de l'étape précédente :

Et d'ici peu, vous aurez une base de données nommée roundcube et ses tables correspondantes créées automatiquement pour vous :

MariaDB [(none)]> USE roundcube;
MariaDB [(none)]> SHOW TABLES;

Dans CentOS 7, vous devrez créer la base de données manuellement en vous connectant à phpMyAdmin ou via la ligne de commande. Par souci de concision, nous utiliserons ici la deuxième méthode proposée :

mysql -u root -p
MariaDB [(none)]> CREATE DATABASE RoundCube_db;

Quittez ensuite l'invite MariaDB et exécutez le script SQL suivant :

mysql -u root -p RoundCube_db < /usr/share/roundcubemail/SQL/mysql.initial.sql

Veuillez noter que dans Debian, vous pouvez également effectuer ces étapes manuellement. Ainsi, vous pouvez renommer votre base de données si vous le souhaitez au lieu de la nommer automatiquement « roundcube » comme vu précédemment.

Configurer Roundcube pour Postfix

Pour commencer, vous devez noter qu'à partir de RoundCube v1.0, les paramètres de configuration sont inclus dans un seul fichier, contrairement aux versions précédentes où ils étaient répartis entre deux fichiers.

Tout d'abord, localisez le fichier suivant et faites-en une copie nommée config.inc.php dans le même répertoire. Utilisez l'option -p pour conserver le mode, la propriété et l'horodatage d'origine :

cp -p /etc/roundcubemail/defaults.inc.php /etc/roundcubemail/config.inc.php

Ensuite, assurez-vous que Roundcube peut accéder à la base de données que nous avons créée précédemment. Dans db_dsnw, remplacez l'utilisateur et le mot de passe par un nom d'utilisateur et un mot de passe disposant des autorisations nécessaires pour accéder au RoundCube_db.

Par exemple, vous pouvez utiliser le même compte administratif que celui que vous avez utilisé pour vous connecter à phpMyAdmin dans la Partie 1, ou vous pouvez simplement utiliser root si vous le souhaitez.

$config['db_dsnw'] = 'mysql://user:password@localhost/RoundCube_db';

Les paramètres suivants font référence au nom d'hôte, aux ports, au type d'authentification, etc. (ils sont explicites, mais vous pouvez trouver plus de détails en lisant les commentaires dans le fichier de configuration) :

$config['default_host'] = 'ssl://mail.linuxnewz.com';
$config['default_port'] = 143;
$config['smtp_server'] = 'tls://mail.linuxnewz.com';
$config['smtp_port'] = 587;
$config['smtp_user'] = '%u';
$config['smtp_pass'] = '%p';
$config['smtp_auth_type'] = 'LOGIN';

Ces deux derniers paramètres (product_name et useragent) font référence à l'en-tête de l'interface Web et aux en-têtes des emails envoyés avec les messages.

$config['product_name'] = 'Linuxnewz Webmail - Powered by Roundcube';
$config['useragent'] = 'Linuxnewz Webmail';

Pour que Roundcube utilise l'authentification de l'utilisateur virtuel pour le courrier sortant, nous devons activer le plugin virtuser_query (qui se trouve dans /usr/share/roundcubemail/plugins) :

$config['plugins'] = array('virtuser_query');
$config['virtuser_query'] = "SELECT Email FROM EmailServer_db.Users_tbl WHERE Email = '%u'";

Notez comment la requête SQL ci-dessus pointe vers la base de données EmailServer_db que nous avons initialement configurée dans la première partie, où sont stockées les informations sur les utilisateurs virtuels.

Enfin, de la même manière que nous l'avons fait dans la Partie 1 pour pouvoir accéder à l'interface Web de phpMyAdmin à l'aide d'un navigateur Web, plongeons-nous dans le fichier de configuration Roundcube/Apache à l'adresse :

vi /etc/httpd/conf.d/roundcubemail.conf # CentOS 7
nano /etc/roundcube/apache.conf # Debian 8

Et placez les lignes suivantes à l’intérieur des balises indiquées :

Debian 8 :

<IfVersion >= 2.3> 
    Require ip AAA.BBB.CCC.DDD 
    Require all granted 
</IfVersion>

CentOS7 :

<IfModule mod_authz_core.c> 
    # Apache 2.4 
    Require ip AAA.BBB.CCC.DDD 
    Require all granted 
</IfModule>

Bien que cela ne soit pas strictement obligatoire, c'est une bonne idée de changer l'alias du répertoire Roundcube afin de vous protéger contre les robots qui ciblent /roundcube comme une porte bien connue pour pénétrer dans votre système. N'hésitez pas à choisir un alias qui correspond à vos besoins (nous utiliserons ici le webmail) :

Alias /webmail /usr/share/roundcubemail # CentOS 7
Alias /webmail /var/lib/roundcube # Debian 8

Enregistrez les modifications, quittez le fichier de configuration et redémarrez Apache :

systemctl restart httpd # CentOS 7
systemctl restart apache2 # Debian 8

Vous pouvez maintenant ouvrir un navigateur Web et le pointer vers https://mail.yourdomain.com/webmail et vous devriez voir quelque chose de similaire à :

Vous pouvez désormais vous connecter avec l'un des comptes que nous avons configurés dans les articles précédents et commencer à envoyer et recevoir des e-mails en utilisant Roundcube depuis n'importe où !

Personnalisation du Webmail Roundcube

Heureusement, l’interface de Roundcube est assez intuitive et facile à configurer. À ce stade, vous pourriez consacrer 15 à 30 minutes à configurer l'environnement et à vous familiariser avec celui-ci. Accédez à Paramètres pour plus de détails :

Veuillez noter que l'image ci-dessus montre les e-mails que nous avons reçus dans ce compte ([email ).

Vous pouvez cliquer sur Rédiger et commencer à rédiger un e-mail à une adresse e-mail externe :

Cliquez ensuite sur Envoyer et vérifiez la destination pour voir si elle est arrivée correctement :

Toutes nos félicitations! Vous avez configuré avec succès Roundcube pour envoyer et recevoir des e-mails !

Résumé

Dans cet article, nous avons expliqué comment installer et configurer Roundcube en tant que client Web. En explorant l’interface de Roundcube, vous verrez à quel point elle est simple à utiliser, comme décrit dans l’aide du Webmail.

Cependant, n’hésitez pas à nous faire savoir si vous avez des questions ou des préoccupations – envoyez-nous simplement un message en utilisant le formulaire de commentaires ci-dessous. Nous avons hâte d'avoir de tes nouvelles!