Serveur Parfait · 5 min read · Dec 02, 2025
Étendre le Serveur Parfait - Debian Squeeze [ISPConfig 3] - Page 2
3. ROUNDCUBE
Suivant les instructions ci-dessus, vous pouvez installer roundcube via apt-get. Cependant, en suivant une autre logique (si vous avez le temps et le courage), vous pouvez installer roundcube dans son propre sous-domaine, manuellement.
Dans “Serveur Parfait ….” vous installez généralement Squirrelmai. Cependant, si vous ne le voulez pas, vous pouvez le supprimer :
apt-get remove squirrelmailet supprimer le fichier /etc/apache2/conf.d/squirrelmail.conf :
rm /etc/apache2/conf.d/squirrelmail.confOU si vous le voulez, éditez le fichier /etc/apache2/conf.d/squirrelmail.conf et changez l’alias en quelque chose comme ‘webmail1’.
Installez roundcube. (Vous DEVEZ avoir le mot de passe de l’administrateur mysql avant de continuer – Laissez dbconfig-common configurer la base de données. On vous posera quelques questions sur le mot de passe de l’administrateur de la base de données et le mot de passe du nouvel utilisateur qui sera créé pour roundcube. Répondez à ces questions et continuez :
apt-get install roundcube roundcube-mysqlExemples de réponses :
“Configurer la base de données pour roundcube avec dbconfig-common ?” …. Répondez Oui
“Type de base de données à utiliser par roundcube : …Répondez mysql
“Mot de passe de l’utilisateur administratif de la base de données :” … Répondez votre-mot-de-passe-admin-DB
“Mot de passe de l’application MySQL pour roundcube :” … Répondez le-mot-de-passe-que-vous-voulez-donner-à-l’utilisateur-roundcube
“Confirmation du mot de passe :”… Répondez le-mot-de-passe-que-vous-voulez-donner-à-l’utilisateur-roundcube
Si quelque chose ne va pas, vous pouvez toujours exécuter :
dpkg-reconfigure roundcube-corePour plus d’informations, veuillez consulter ce post.
Pour que tout le monde puisse accéder à son webmail (sous son nom de domaine), vous devez créer ou éditer le fichier /etc/apache2/conf.d/roundcube afin de définir l’alias sur ‘webmail’. Si vous voulez SSL, vous devez inclure les deux dernières directives (IfModule mod_rewrite.c) pour que apache redirige TOUJOURS vers votre installation SSL d’ISPConfig.
nano /etc/apache2/conf.d/roundcube# Ces alias ne fonctionnent pas correctement avec plusieurs hôtes sur votre serveur apache
# Décommentez-les pour les utiliser ou adaptez-les à votre configuration
# Alias /roundcube/program/js/tiny_mce/ /usr/share/tinymce/www/
Alias /roundcube /var/lib/roundcube
Alias /webmail /var/lib/roundcube
# Accès aux fichiers tinymce
Options Indexes MultiViews FollowSymLinks
AllowOverride None
Order allow,deny
allow from all
Options +FollowSymLinks
# Ceci est nécessaire pour analyser /var/lib/roundcube/.htaccess. Voir son
# contenu avant de définir AllowOverride sur None.
AllowOverride All
order allow,deny
allow from all
# Protection des répertoires de base :
Options -FollowSymLinks
AllowOverride None
Options -FollowSymLinks
AllowOverride None
Order allow,deny
Deny from all
Options -FollowSymLinks
AllowOverride None
Order allow,deny
Deny from all
RewriteEngine on
RewriteCond %{HTTPS} !^on$ [NC]
RewriteRule . https://%{HTTP_HOST}:50443%{REQUEST_URI} [L]
RewriteEngine on
RewriteCond %{HTTPS} !^on$ [NC]
RewriteRule . https://%{HTTP_HOST}:50443%{REQUEST_URI} [L]
# Pour ISPConfig 3.0.5.1 et supérieur, ajoutez également ce qui suit
AddType application/x-httpd-php .php
php_flag magic_quotes_gpc Off
php_flag track_vars On
php_admin_flag allow_url_fopen Off
php_value include_path .:/usr/share/php:/usr/share/pear
php_admin_value upload_tmp_dir /var/lib/roundcube/temp
php_admin_value open_basedir /usr/share/php:/usr/lib/roundcube:/etc/roundcube:/usr/share/roundcube:/var/lib/roundcube:/var/log/roundcube
php_flag register_globals off
Éditez /var/lib/roundcube/config/main.inc.php :
nano /var/lib/roundcube/config/main.inc.phpet RÉGLEZ certaines variables dans le fichier (si c’est la première fois que vous éditez le fichier, les lignes sont 60 et 66) :
auto_create_user = TRUE;
$rcmail_config['default_host'] = 'localhost';Si vous allez installer le plugin suivant (le logger qui aide fail2ban), vous devez étendre la liste des plugins dans le même fichier. Si le seul plugin est celui qui sera installé juste après, vous devez éditer la ligne (42) comme ci-dessous :
$rcmail_config['plugins'] = array('fail2ban'); Installez le plugin logger de roundcube depuis http://mattrude.com/projects/roundcube-fail2ban-plugin/.
Fondamentalement, vous devez télécharger le fichier (fail2ban.php) et le coller dans le dossier fail2ban dans le dossier des plugins de roundcube. Enfin, vous devez avoir ce fichier : /usr/share/roundcube/plugins/fail2ban/fail2ban.php. Exécutez :
cd /usr/share/roundcube/plugins/
wget –no-check-certificate http://github.com/downloads/mattrude/rc-plugin-fail2ban/roundcube-fail2ban-plugin.1.0.tgz
tar -xvzf roundcube-fail2ban-plugin.1.0.tgz
touch /var/log/roundcube/userlogins
chown www-data:www-data /var/log/roundcube/userlogins
Ce plugin mettra à jour le fichier journal à chaque tentative de connexion échouée : /var/log/roundcube/userlogins
N’oubliez pas d’éditer le lien pour le webmail dans ISPConfig (Système -> Configuration de l’interface -> (onglet) Mail) et de le définir sur /webmail. Enfin, redémarrez apache.
/etc/init.d/apache2 restartVous pouvez maintenant accéder au webmail à http://www.example.com/webmail
4. FAIL2BAN
Étendez le fichier jail.local que falko suggère dans Le Serveur Parfait - Debian Squeeze (Debian 6.0) Avec BIND & Courier [ISPConfig 3] : /etc/fail2ban/jail.local
nano /etc/fail2ban/jail.localVous devez ajouter ou éditer ce qui suit :
[roundcube]
enabled = true
port = http,50443
filter = roundcube
logpath = /var/log/roundcube/userlogins
maxretry = 5
[webmin-auth]
enabled = true
port = 50000
filter = webmin-auth
logpath = /var/log/auth.log
maxretry = 3
[ssh]
enabled = true
port = 50022
filter = sshd
logpath = /var/log/auth.log
maxretry = 6Le port 50443 dans roundcube n’est nécessaire que si vous avez activé la redirection vers https (voir au début de ce tutoriel).
Le port 50000 dans webmin-auth est le port modifié (voir au début de ce tutoriel).
Le port 50022 dans ssh est le port modifié (voir les sections suivantes de ce tutoriel).
Enfin (et très important), n’oubliez pas de créer le fichier roundcube.conf /etc/fail2ban/filter.d/roundcube.conf.
nano /etc/fail2ban/filter.d/roundcube.confavec le contenu suivant :
[Definition]
failregex = FAILED login for .*. from
ignoreregex = Heureusement, les filtres webmin-auth et ssh sont déjà faits pour nous par le fail2ban lui-même. Redémarrez fail2ban :
/etc/init.d/fail2ban restartSi quelqu’un ajoute beaucoup de prisons dans fail2ban, alors certaines d’entre elles peuvent ne pas démarrer (erreurs dans /var/log/fail2ban.log mais pas dans la sortie !!!). Vérifiez par vous-même en exécutant :
iptables -L -n Malheureusement, la solution est un peu un hack… mais au moins c’est une solution :
Dans le fichier /usr/bin/fail2ban-client à la ligne 145, vous devez insérer time.sleep(0.1) ou time.sleep(0.05) :
nano /usr/bin/fail2ban-clientAvant le changement, le fichier ressemble à ceci :
[...]
def __processCmd(self, cmd, showRet = True):
beautifier = Beautifier()
for c in cmd:
beautifier.setInputCmd(c)
try:
[...] Et après, le fichier ressemble à ceci :
[...]
def __processCmd(self, cmd, showRet = True):
beautifier = Beautifier()
for c in cmd:
time.sleep(0.05)
beautifier.setInputCmd(c)
try:
[...] Redémarrez à nouveau fail2ban :
/etc/init.d/fail2ban restartVous pouvez vérifier que toutes les prisons sont actives avec la commande :
iptables -L -n Recevez de nouveaux articles dans votre boîte de réception.
Aucun spam. Désabonnez-vous à tout moment.