GNU/Linux >> Tutoriels Linux >  >> Debian

Installation du webmail RoundCube sur Debian 8 (Jessie)

Ce tutoriel montre l'installation de la dernière messagerie Web RoundCube sur Debian 8. Roundcube est un client de messagerie Web facile à utiliser avec prise en charge IMAP et SMTP qui peut être étendu avec des plugins. Sur Debian 7, RoundCube était disponible sous forme de package .deb, ce n'était pas la dernière version mais au moins c'était facile à installer avec apt. Pour la version actuelle de Debian, il n'y a plus de paquet RoundCube disponible, je vais donc décrire l'installation à partir des sources ici. Ce didacticiel contient un chapitre facultatif qui décrit les étapes pour connecter RoundCube au panneau de contrôle d'hébergement ISPConfig 3.

Prérequis

  • Système d'exploitation Debian 8.
  • Serveur Web Apache avec mod_php installé. Si aucun apache n'est encore installé, consultez notre guide LAMP ou la configuration de Perfect Server pour installer un environnement approprié.
  • Un serveur de messagerie (SMTP + IMAP) auquel Roundcube doit se connecter. Il peut s'agir du serveur local (par exemple, lorsque vous utilisez l'une des configurations de serveur parfaites) ou d'un serveur distant.
  • Le nom d'hôte du serveur que j'utiliserai dans ce tutoriel est server1.example.com avec l'adresse IP 192.168.1.100. Veuillez le remplacer par l'adresse IP et le nom d'hôte de votre serveur.

Installation de RoundCube

J'installerai RoundCube dans le répertoire /opt/roundcube pour m'assurer que cette installation n'entrera pas en collision avec les packages du système Debian. La première étape consiste à installer wget, à créer le répertoire /opt/roundcube et à télécharger la dernière version de RoundCube avec wget dans ce répertoire. La version actuelle de RoundCube est 1.1.3 au moment où j'écris ce didacticiel, consultez le site Web de RoundCube pour vérifier s'il existe une version ultérieure que vous pouvez utiliser.

Connectez-vous en tant qu'utilisateur root sur le shell de votre serveur, puis installez wget et l'éditeur nano :

apt-get install wget nano

Créez le répertoire et entrez-le avec la commande "cd":

mkdir /opt/roundcube
cd /opt/roundcube

Téléchargez le fichier RoundCube tar.gz et décompressez-le :

wget https://downloads.sourceforge.net/project/roundcubemail/roundcubemail/1.1.3/roundcubemail-1.1.3-complete.tar.gz
tar xfz roundcubemail-1.1.3-complete.tar.gz

Les fichiers RoundCube sont maintenant dans le dossier /opt/roundcube/roundcubemail-1.1.3. L'étape suivante consiste à les déplacer d'un répertoire vers /opt/roundcube.

mv roundcubemail-1.1.3/* .
mv roundcubemail-1.1.3/.htaccess .

Le point à la fin des deux commandes est obligatoire et fait partie de la commande, ne le manquez pas ! Supprimez le répertoire vide et le fichier tar.gz.

rmdir roundcubemail-1.1.3
rm roundcubemail-1.1.3-complete.tar.gz

Et remplacez le propriétaire de tous les fichiers par l'utilisateur sous lequel le serveur Apache s'exécute.

chown -R www-data:www-data /opt/roundcube

Installer la base de données RoundCube

Roundcube nécessite une base de données pour stocker les paramètres de boîte aux lettres, les contacts, etc. J'utiliserai MySQL (ou MariaDB) ici comme backend de base de données. Nous allons maintenant créer une base de données avec le nom "roundcubemail" et un utilisateur avec le nom "roundcube" dans MySQL.

Connectez-vous au serveur MySQL avec la commande suivante :

mysql --defaults-file=/etc/mysql/debian.cnf

Exécutez ensuite les commandes suivantes sur le shell de la base de données MySQL pour créer la base de données et l'utilisateur de la base de données. Remplacez le mot "secretpassword" dans les commandes ci-dessous par un mot de passe de votre choix.

CREATE DATABASE roundcubemail;
GRANT ALL PRIVILEGES ON roundcubemail.* TO [email protected] IDENTIFIED BY 'secretpassword';
flush privileges;
quit

Nous allons maintenant importer les tables RoundCube du fichier mysql.initial.sql dans notre nouvelle base de données.

Exécutez la commande suivante sur le shell Linux :

mysql --defaults-file=/etc/mysql/debian.cnf roundcubemail < /opt/roundcube/SQL/mysql.initial.sql

Configurer RoundCube et Apache

Dans cette étape, nous allons configurer les détails de la base de données dans RoundCube et ajouter un fichier de configuration RoundCube dans Apache.

Je vais commencer par la configuration de la base de données dans RoundCube. Exécutez les commandes suivantes pour créer un nouveau fichier config.inc.php basé sur l'exemple de fichier de configuration et ouvrez-le dans l'éditeur nano.

cd /opt/roundcube/config
cp -pf config.inc.php.sample config.inc.php
nano config.inc.php

Recherchez la ligne de configuration de la base de données qui commence par $config['db_dsnw'] et remplacez-la par la ligne suivante :

$config['db_dsnw'] = 'mysql://roundcube:[email protected]/roundcubemail';

Le mot "secretpassword" doit être remplacé par le mot de passe que vous avez choisi pour la base de données.

Recherchez ensuite la ligne "smtp_server" et définissez ici le nom d'hôte de votre serveur SMTP. Dans mon cas, le serveur de messagerie est le serveur local, je vais donc définir le serveur sur "localhost".

$config['smtp_server'] = 'localhost';

Il est maintenant temps de configurer Apache. Je vais créer un nouveau fichier de configuration roundcube.conf dans le dossier /etc/apache2/conf-available/.

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

Ajoutez les lignes suivantes à ce fichier et enregistrez-le.

Alias /roundcube /opt/roundcube
Alias /webmail /opt/roundcube

<Directory /opt/roundcube>
Options +FollowSymLinks
# AddDefaultCharset UTF-8
AddType text/x-component .htc

<IfModule mod_php5.c>
AddType application/x-httpd-php .php
php_flag display_errors Off
php_flag log_errors On
# php_value error_log logs/errors
php_value upload_max_filesize 10M
php_value post_max_size 12M
php_value memory_limit 64M
php_flag zlib.output_compression Off
php_flag magic_quotes_gpc Off
php_flag magic_quotes_runtime Off
php_flag zend.ze1_compatibility_mode Off
php_flag suhosin.session.encrypt Off
#php_value session.cookie_path /
php_flag session.auto_start Off
php_value session.gc_maxlifetime 21600
php_value session.gc_divisor 500
php_value session.gc_probability 1
</IfModule>

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule ^favicon\.ico$ skins/larry/images/favicon.ico
# security rules:
# - deny access to files not containing a dot or starting with a dot
# in all locations except installer directory
RewriteRule ^(?!installer)(\.?[^\.]+)$ - [F]
# - deny access to some locations
RewriteRule ^/?(\.git|\.tx|SQL|bin|config|logs|temp|tests|program\/(include|lib|localization|steps)) - [F]
# - deny access to some documentation files
RewriteRule /?(README\.md|composer\.json-dist|composer\.json|package\.xml)$ - [F]
</IfModule>

<IfModule mod_deflate.c>
SetOutputFilter DEFLATE
</IfModule>

<IfModule mod_expires.c>
ExpiresActive On
ExpiresDefault "access plus 1 month"
</IfModule>

FileETag MTime Size

<IfModule mod_autoindex.c>
Options -Indexes
</ifModule>

AllowOverride None
Require all granted
</Directory>

<Directory /opt/roundcube/plugins/enigma/home>
Options -FollowSymLinks
AllowOverride None
Require all denied
</Directory>

<Directory /opt/roundcube/config>
Options -FollowSymLinks
AllowOverride None
Require all denied
</Directory>

<Directory /opt/roundcube/temp>
Options -FollowSymLinks
AllowOverride None
Require all denied
</Directory>

<Directory /opt/roundcube/logs>
Options -FollowSymLinks
AllowOverride None
Require all denied
</Directory>

Les 2 lignes Alias ​​dans les deux premières lignes rendent RoundCube disponible en tant que /roundcube et /webmail sur votre serveur.

Activez la configuration et rechargez apache :

a2enconf roundcube
service apache2 reload

Voilà, RoundCube est maintenant complètement installé sur votre serveur, et vous pouvez y accéder sur l'IP et le nom d'hôte du serveur via les alias /roundcube et /webmail. L'IP de mon serveur est 192.168.1.100; pour cela je peux ouvrir RoundCube avec http://192.168.1.100/webmail

Installation du plugin ISPConfig RoundCube (facultatif)

Lorsque votre serveur a installé iSPConfig 3, il est fortement recommandé d'installer le plug-in ISPConfig RoundCube. Cela permet à vos utilisateurs de messagerie de gérer leurs répondeurs automatiques, filtres de messagerie et autres paramètres de boîte aux lettres depuis RoundCube.

Le plug-in ISPConfig 3 RoundCube est connecté à ISPConfig 3 avec l'API distante ISPConfig. Pour utiliser cette API, nous avons besoin d'un utilisateur distant.

Connectez-vous à ISPConfig en tant qu'utilisateur "admin".

Pour créer un tel utilisateur, accédez à Système > Gestion des utilisateurs > Utilisateurs distants et cliquez sur le bouton Ajouter un nouvel utilisateur :

Entrez un nom d'utilisateur et un mot de passe pour le nouvel utilisateur distant. Je vais choisir le nom d'utilisateur "roundcube" et le mot de passe "!fdWEacBOG1d".

La configuration de l'utilisateur à distance permet un contrôle d'accès précis; les fonctions suivantes doivent être activées :

  • Fonctions serveur
  • Fonctions client
  • Fonctions utilisateur de messagerie
  • Fonctions d'alias de messagerie
  • Fonctions utilisateur du filtre anti-spam
  • Fonctions de la politique de filtrage des courriers indésirables
  • Fonctions de récupération de courrier
  • Fonctions de liste blanche du filtre anti-spam
  • Fonctions de liste noire du filtre anti-spam
  • Fonctions de filtrage des utilisateurs de messagerie

Cliquez enfin sur Enregistrer.

Les étapes suivantes ont été effectuées sur le shell de votre serveur. Connectez-vous en tant qu'utilisateur root.

Nous allons maintenant installer le certificat SSL ISPConfig dans le magasin de certificats SSL de Debian.

cp /usr/local/ispconfig/interface/ssl/ispserver.crt /usr/local/share/ca-certificates/
update-ca-certificates

Ouvrez le fichier /etc/php5/cgi/php.ini

nano /etc/php5/apache2/php.ini

Faites défiler vers le bas jusqu'à ce que vous voyiez la section [openssl] du fichier et là vous ajoutez la ligne suivante :

openssl.cafile=/etc/ssl/certs/ca-certificates.crt

Redémarrez ensuite apache.

service apache2 restart

Pour télécharger l'addon, installez d'abord le client Git.

apt-get install git

Obtenez la dernière version du plug-in RoundCube ISPConfig :

cd /tmp
git clone https://github.com/w2c/ispconfig3_roundcube.git
cd /tmp/ispconfig3_roundcube/

Et déplacez le plugin dans le répertoire du plugin roundcube.

mv ispconfig3_* /opt/roundcube/plugins
cd /opt/roundcube/plugins

Créez un nouveau fichier config.inc.php pour le plugin basé sur l'exemple de configuration et ouvrez le fichier dans l'éditeur nano.

mv ispconfig3_account/config/config.inc.php.dist ispconfig3_account/config/config.inc.php
nano ispconfig3_account/config/config.inc.php

Remplissez les détails de l'utilisateur distant et enregistrez le fichier.

<?php
$rcmail_config['identity_limit'] = false;
$rcmail_config['remote_soap_user'] = 'roundcube';
$rcmail_config['remote_soap_pass'] = '!fdWEacBOG1d';
$rcmail_config['soap_url'] = 'https://server1.example.com:8080/remote/';
?>

Remplacez server1.example.com avec le nom d'hôte du serveur. Lorsque SSL (HTTPS) est utilisé pour la connexion à l'API distante, il est important que le nom d'hôte dans la configuration RoundCube corresponde au nom d'hôte du certificat SSL de l'interface ISPConfig. Vous pouvez vérifier le nom d'hôte du certificat SSL ISPConfig avec la commande :

openssl x509 -in /usr/local/share/ca-certificates/ispserver.crt -text -noout | grep Subject:

Le résultat est dans mon cas :

Subject: C=DE, ST=Niedersachsen, L=Lueneburg, O=ISPConfig UG, OU=IT, CN=server1.example.com/[email protected]

Ainsi, le nom d'hôte "server1.example.com" dans le fichier de configuration du plugin correspond au nom d'hôte dans le certificat SSL.

Nous allons maintenant activer les nouveaux plugins dans RoundCube. Ouvrez le fichier de configuration dans un éditeur :

nano /opt/roundcube/config/config.inc.php

et ajoutez la ligne suivante à la fin du fichier :

$rcmail_config['plugins'] = array("jqueryui", "ispconfig3_account", "ispconfig3_autoreply", "ispconfig3_pass", "ispconfig3_spam", "ispconfig3_fetchmail", "ispconfig3_filter");

Vous pouvez maintenant vous connecter à RoundCube, les nouvelles options se trouvent sous Paramètres > Compte .

Compte général.

Configuration du filtre de messagerie.

Configuration de Fetchmail.

  • Debian
  • Cube rond
  • Plug-in Roundcube ISPConfig

Debian
  1. Comment mettre à niveau Debian 8 Jessie vers Debian 9 Stretch

  2. Installez Horde 5 Webmail pour ISPConfig sur Debian Jessie via PEAR

  3. Sortie de Debian 8 Jessie – Quoi de neuf ?

  4. Debian – Impossible de démarrer l'installation de Devuan/debian ?

  5. Comment installer RoundCube Webmail sur Debian 9

Comment installer Anaconda sur Debian 10

Installation et configuration de PSAD sur Debian 8 (Jessie)

Utilisation de la messagerie Web RoundCube avec ISPConfig 3 sur Debian Wheezy (Apache2)

Installation du serveur Samba sur Debian 8 (Jessie)

Comment installer Drupal sur Debian 10

Comment installer XAMPP sur Debian 10