- Version du système d'exploitation :Debian 9.4 et 9.5 Stretch
- Version Roundcube : 1.2.3+dfsg.1-4+deb9u1 et u2
- Version ISPConfig 3 :3.1.11 et 3.1.13
Ce guide est basé sur les instructions d'installation ISPConfig3_roundcube du manuel.
Prérequis
Utilisez la version Roundcube fournie avec Debian 9, installez-la comme indiqué dans le guide Perfect Server pour Debian Stretch.
Utilisez ISPConfig actuel, la dernière version est maintenant la version 3.1.13.
Ajouter un utilisateur distant ISPConfig
Ajoutez un utilisateur distant ISPConfig pour l'utilisation de Roundcube. Choisissez un nom approprié, j'utilise rcmail-remote . Choisissez un bon mot de passe, je génère généralement des mots de passe avec apg , faites apt-get install apg d'abord.
apg -m 12 -l M NCL
Créez l'utilisateur distant dans ISPConfig Panel, onglet Système , sous Gestion des utilisateurs se trouve "Utilisateurs distants". Cliquez sur le bouton "Ajouter un nouvel utilisateur".
Je n'ai pas coché Accès à distance : , ma configuration a un serveur de messagerie séparé où les fichiers de messagerie et Roundcube et Dovecot sont installés. Ainsi, même s'il s'agit d'un "utilisateur distant", il n'a pas besoin d'un accès à distance dans mon cas.
Pour cet utilisateur, choisissez :
- Server functions - Client functions - Mail user functions - Mail alias functions - Mail spamfilter user functions - Mail spamfilter policy functions - Mail fetchmail functions - Mail spamfilter whitelist functions - Mail spamfilter blacklist functions - Mail user filter functions
Cette liste est dans l'ordre dans lequel les éléments apparaissent dans le panneau ISPConfig.
Installer le plug-in ISPConfig RoundCube
Récupérez les plugins ISPConfig3 depuis Github. J'ai utilisé la dernière version de RoundCube 1.2.3. L'auteur du plugin écrit dans le manuel pour extraire de Subversion directement vers le répertoire racine de RoundCube. Je préfère vérifier ailleurs, donc je ne gâche pas le répertoire système où apt-get installe les fichiers.
Le Readme.Debian dans /usr/share/doc/roundcube conseille de "Ajouter votre plugin dans /var/lib/roundcube/plugins.". Je vérifie de svn vers /root/ISPConfig3_plugins et copie de là vers /var/lib/roundcube/plugins. Les plugins des packages Debian sont installés dans /usr/share/roundcube et il y a un lien symbolique vers ceux de /var/lib/roundcube/plugins. Installez Subversion pour obtenir la commande svn . (apt-get install subversion).
cd /root
mkdir ISPConfig3_plugins
cd ISPConfig3_plugins
svn co https://github.com/w2c/ispconfig3_roundcube/trunk/ .
cd ispconfig3_account/config
cp config.inc.php.dist config.inc.php
Configurer le plugin
Modifiez le fichier copié à la dernière commande des lignes de commande précédentes. Remplissez les informations de l'utilisateur distant créées à l'étape 2.
cd /root/ISPConfig3_plugins
editor ispconfig3_account/config/config.inc.php
Le fichier d'origine ressemble à ceci :
<?php $rcmail_config['identity_limit'] = false; $rcmail_config['remote_soap_user'] = 'roundcube'; $rcmail_config['remote_soap_pass'] = 'roundcube'; $rcmail_config['soap_url'] = 'http://192.177.167.44:8080/remote/'; ?>
Modifiez remote_soap_user, remote_soap_pass (utilisateur et passe créés à l'étape 2) et soap_url. Si vous utilisez le panneau ISPConfig avec https://, utilisez le même ici pour soap_url. Vous pouvez utiliser l'adresse IP ou le nom d'hôte et le domaine dans soap_url. Le numéro de port est le même que pour le panneau ISPConfig.
Activer le plugin
Modifiez la configuration de Roundcube, dans le fichier /etc/roundcube/config.inc.php. Recherchez "Liste des plugins actifs". Debian Stretch n'active aucun plugin par défaut, donc la liste est vide à moins que vous n'ayez déjà activé certains plugins. Si la liste est vide, c'est-à-dire ressemble à ceci :
// List of active plugins (in plugins/ directory) // Debian: install roundcube-plugins first to have any $config['plugins'] = array( );
remplacez-le simplement par ceci :
$config['plugins'] = array( "jqueryui","ispconfig3_account", "ispconfig3_autoreply", "ispconfig3_autoselect", "ispconfig3_pass", "ispconfig3_spam", "ispconfig3_fetchmail", "ispconfig3_filter", "ispconfig3_forward", "ispconfig3_wblist" );
L'ordre des plugins est important ! Ne modifiez pas la commande à moins que vous ne sachiez ce que vous faites.
S'il n'était pas vide, ajoutez les plugins ISPConfig3 après les plugins existants. Si un plugin n'est pas nécessaire, supprimez-le de la liste et il ne sera plus activé.
Si vous n'utilisez qu'un seul hôte de messagerie, supprimez le plug-in ispconfig3_autoselect, car vous n'en avez pas besoin dans ce cas et cela ne crée que des problèmes si vous ne le configurez pas correctement.
J'ai supprimé ispconfig3_forward car j'ai remarqué des erreurs dans /var/log/roundcube/errors pour la ligne 135 dans le fichier ispconfig3_forward/ispconfig3_forward.php.
Copier le plugin à l'emplacement du système
Vous devez maintenant copier les plugins du répertoire de paiement vers /var/lib/roundcube. Faites-le par exemple comme ceci :
cd /root/ISPConfig3_plugins
for f in ispconfig3_* ; do echo $f ; cp --recursive $f /var/lib/roundcube/plugins/ ; done
Tests
Si les nouveaux plugins sont affichés dans les paramètres, mais que cliquer dessus fait apparaître le message d'erreur "Erreur de savon :introuvable" ou "Erreur de savon :mauvaise demande", vérifiez le paramètre soap_url. Il manque peut-être le caractère barre oblique "/" à la fin.
Testez et appréciez. Il y a un 5ème élément dans le menu Paramètres créé par ces plugins.
Si vous obtenez des erreurs, lisez la FAQ de dépannage par l'auteur des plugins ISPConfig3 sur https://github.com/w2c/ispconfig3_roundcube/wiki/Troubleshooting---FAQ. Si cela ne vous aide pas, lisez les journaux depuis /var/log/roundcube/errors. Si vous rencontrez toujours des problèmes, consultez les autres journaux dans les répertoires /var/log et /var/log/apache2. Si rien ne vous aide, vérifiez que vous avez installé le serveur conformément au Guide du serveur parfait. On m'a dit que php-soap n'était pas installé sur l'image VM et que l'ISPConfig installé par script ne disposait pas non plus de ce package PHP.