Ce guide explique comment installer l'application de messagerie Web RoundCube sur un serveur Debian Wheezy exécutant ISPConfig et Apache2, et comment activer les plug-ins ISPConfig 3 pour RoundCube afin que les utilisateurs puissent effectuer des actions telles que la modification de leurs mots de passe de messagerie depuis RoundCube. Le webmail Roundcube est un client IMAP multilingue basé sur un navigateur avec une interface utilisateur de type application; il est livré avec des fonctions telles que la prise en charge MIME, le carnet d'adresses, la manipulation de dossiers, la recherche de messages et la vérification orthographique.
Je n'émets aucune garantie que cela fonctionnera pour vous !
1 Remarque préliminaire
Ce didacticiel suppose que vous utilisez Apache2 comme serveur Web sur votre serveur ISPConfig 3 ; ce tutoriel ne fonctionnera pas pour nginx. Je vais installer RoundCube à partir des dépôts Debian Wheezy - c'est une version relativement récente (0.7.2.9 vs 0.9.1 (version stable actuelle)).
RoundCube sera configuré de manière à être accessible depuis chaque vhost via l'alias /webmail (par exemple, http://www.example.com/webmail).
Si vous utilisez déjà une autre application de messagerie Web comme SquirrelMail, assurez-vous de la désactiver complètement ou au moins l'alias /webmail. Si vous avez installé SquirrelMail en tant que paquet Debian, vous pouvez trouver l'alias dans /etc/apache2/conf.d/squirrelmail.conf; commentez l'alias pour simplement désactiver l'alias /webmail ou commentez l'ensemble du fichier pour désactiver complètement SquirrelMail. N'oubliez pas de redémarrer Apache par la suite.
2 Création d'un utilisateur distant dans ISPConfig
Les plugins ISPConfig 3 pour RoundCube fonctionnent via l'API distante d'ISPConfig. Pour utiliser cette API, nous avons besoin d'un utilisateur distant. Pour créer un tel utilisateur, allez dans Système> Gestion des utilisateurs> Utilisateurs distants et cliquez sur le bouton Ajouter un nouvel utilisateur :
Indiquez un nom d'utilisateur et un mot de passe pour l'utilisateur...
... et activez les fonctions suivantes :
- 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 ensuite sur Enregistrer.
3 Installer RoundCube
Nous pouvons installer RoundCube comme suit :
apt-get install roundcube roundcube-plugins roundcube-plugins-extra
Vous verrez les questions suivantes :
Configurer la base de données pour roundcube avec dbconfig-common ? <-- Oui
Type de base de données à utiliser par roundcube :<-- mysql
Mot de passe de l'administrateur de la base de données :<-- yourrootsqlpassword (le mot de passe de l'utilisateur root MySQL)
Application MySQL mot de passe pour roundcube :<-- roundcubesqlpassword
Confirmation du mot de passe :<-- roundcubesqlpassword
Cela créera une base de données MySQL appelée roundcube avec l'utilisateur MySQL roundcube et le mot de passe roundcubesqlpassword.
Ouvrez ensuite /etc/apache2/conf.d/roundcube...
vi /etc/apache2/conf.d/roundcube
... et ajoutez la ligne Alias /webmail /var/lib/roundcube. En plus de cela, ajoutez la configuration PHP à la section
# Those aliases do not work properly with several hosts on your apache server # Uncomment them to use it or adapt them to your configuration Alias /roundcube/program/js/tiny_mce/ /usr/share/tinymce/www/ Alias /roundcube /var/lib/roundcube Alias /webmail /var/lib/roundcube # Access to tinymce files <Directory "/usr/share/tinymce/www/"> Options Indexes MultiViews FollowSymLinks AllowOverride None Order allow,deny allow from all </Directory> <Directory /var/lib/roundcube/> Options +FollowSymLinks DirectoryIndex index.php <IfModule mod_php5.c> AddType application/x-httpd-php .php php_flag magic_quotes_gpc Off php_flag track_vars On php_flag register_globals Off php_value include_path .:/usr/share/php </IfModule> # This is needed to parse /var/lib/roundcube/.htaccess. See its # content before setting AllowOverride to None. AllowOverride All order allow,deny allow from all </Directory> # Protecting basic directories: <Directory /var/lib/roundcube/config> Options -FollowSymLinks AllowOverride None </Directory> <Directory /var/lib/roundcube/temp> Options -FollowSymLinks AllowOverride None Order allow,deny Deny from all </Directory> <Directory /var/lib/roundcube/logs> Options -FollowSymLinks AllowOverride None Order allow,deny Deny from all </Directory> |
Redémarrez ensuite Apache :
/etc/init.d/apache2 restart
4 Configuration de RoundCube
Ouvrez /etc/roundcube/main.inc.php...
vi /etc/roundcube/main.inc.php
... et définissez $rcmail_config['default_host'] ='localhost' ; (ou le nom d'hôte ou l'adresse IP de votre serveur de messagerie s'il se trouve sur une machine distante) :
[...] $rcmail_config['default_host'] = 'localhost'; [...] |
Sinon, RoundCube demandera un nom d'hôte avant chaque connexion, ce qui pourrait surcharger vos utilisateurs - nous voulons rendre l'utilisation aussi simple que possible.
Installez ensuite les plugins ISPConfig 3 pour RoundCube :
cd /tmp
git clone https://github.com/w2c/ispconfig3_roundcube.git
cd /tmp/ispconfig3_roundcube/
mv ispconfig3_* /var/lib/roundcube/plugins
cd /var/lib/roundcube/plugins
mv ispconfig3_account/config/config.inc.php.dist ispconfig3_account/config/config.inc.php
Ouvrez ispconfig3_account/config/config.inc.php...
vi ispconfig3_account/config/config.inc.php
... et remplissez les informations de connexion de votre utilisateur distant ISPConfig et l'URL de l'API distante - mon installation ISPConfig s'exécute sur https://192.168.0.100:8080, donc l'URL de l'API distante est https://192.168 .0.100:8080/distant/ :
<?php $rcmail_config['identity_limit'] = false; $rcmail_config['remote_soap_user'] = 'roundcube'; $rcmail_config['remote_soap_pass'] = 'Sw0wlytlRt3MY'; $rcmail_config['soap_url'] = 'https://192.168.0.100:8080/remote/'; ?> |
Enfin ouvrez à nouveau /etc/roundcube/main.inc.php...
vi /etc/roundcube/main.inc.php
... et activez le plugin jquerui plus les plugins ISPConfig 3...
[...] // ---------------------------------- // PLUGINS // ---------------------------------- // List of active plugins (in plugins/ directory) //$rcmail_config['plugins'] = array(); $rcmail_config['plugins'] = array("jqueryui", "ispconfig3_account", "ispconfig3_autoreply", "ispconfig3_pass", "ispconfig3_spam", "ispconfig3_fetchmail", "ispconfig3_filter"); [...] |
... et changez le skin par défaut en classique (sinon les plugins ISPConfig 3 ne fonctionneront pas) :
[...] // skin name: folder from skins/ $rcmail_config['skin'] = 'classic'; [...] |
C'est ça; vous pouvez maintenant accéder à RoundCube sous l'alias /webmail (par exemple, www.example.com/webmail). Connectez-vous avec l'adresse e-mail et le mot de passe d'un compte e-mail créé via ISPConfig :
Voici à quoi ressemble RoundCube :
Sous Paramètres> Compte, vous pouvez utiliser les plugins ISPconfig 3 pour RoundCube pour modifier vos paramètres, par exemple...
... vous pouvez définir un nouveau mot de passe pour votre compte de messagerie sans utiliser ISPConfig :
5 liens
- RoundCube :http://roundcube.net/
- Plug-ins ISPConfig 3 pour RoundCube :https://github.com/w2c/ispconfig3_roundcube
- ISPConfig :http://www.ispconfig.org/
- Debian :http://www.debian.org/