Installation · 4 min read · Jan 13, 2026

Installation facile de RoundCube (via SSL) et Webmin avec fail2ban pour ISPConfig 3 sur Debian Squeeze

Installation facile de RoundCube (via SSL) et Webmin avec fail2ban pour ISPConfig 3 sur Debian Squeeze

Auteur : Thomas ( http://iopen.gr)
Dernière modification : 2011-03-09

Je préfère la solution RoundCube à celle par défaut dans ISPConfig 3. Je trouve également utile d’avoir Webmin installé sur tous mes systèmes. Dans cet article, vous pouvez voir un moyen très rapide d’installer les deux, en compagnie du excellent support de fail2ban. Enfin, je veux y accéder tous via SSL (même phpMyAdmin – voir le conseil à la fin).

Je suppose que vous avez suivi le guide de Falko :

Le Serveur Parfait - Debian Squeeze (Debian 6.0) Avec BIND & Courier [ISPConfig 3]

Si vous souhaitez accéder au panneau ISPConfig et au webmail via SSL, je suppose également que vous avez suivi le chapitre 6.2 Activation de SSL pour l’interface Web ISPConfig du manuel ISPConfig 3 ou cet article (cela n’est nécessaire que si vous souhaitez accéder au panneau de contrôle ET à l’interface webmail via SSL sur le port 8080).

Si vous avez suivi ce qui précède (et le chapitre 6.3 – activation de SuExec), alors je suppose enfin que vous avez lu la solution de contournement dans cet article.

Webmin

Téléchargez la dernière version de Webmin depuis http://www.webmin.com/download.html

wget http://prdownloads.sourceforge.net/webadmin/webmin_1.530_all.deb

… et installez-le :

dpkg -i webmin_1.530_all.deb

RoundCube

Si vous ne voulez pas de Squirrelmail, supprimez-le…

apt-get remove squirrelmail

… et supprimez le fichier /etc/apache2/conf.d/squirrelmail.conf :

rm /etc/apache2/conf.d/squirrelmail.conf

OU si vous le souhaitez, é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) :

apt-get install roundcube roundcube-mysql

On vous posera quelques questions sur le mot de passe de l’administrateur de la base de données et le nouvel utilisateur pour RoundCube et sa base de données (et le mot de passe). Répondez à ces questions et continuez. Si quelque chose ne va pas, vous pouvez toujours exécuter :

dpkg-reconfigure roundcube-core

Pour plus d’informations, veuillez consulter cet article.

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.conf afin de définir l’alias sur ‘webmail’. Si vous voulez SSL, vous devez inclure les deux dernières directives pour que Apache redirige TOUJOURS vers votre installation SSL d’ISPConfig 3.

# 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 /webmail /var/lib/roundcube  
    Alias /roundcube /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}:8080%{REQUEST_URI}  [L]  
  
      
    
  
  
  
    
      
      RewriteEngine on  
      RewriteCond %{HTTPS} !^on$ [NC]  
      RewriteRule . https://%{HTTP_HOST}:8080%{REQUEST_URI}  [L]  
      
    

Éditez /var/lib/roundcube/config/main.inc.php et ÉDITEZ certaines variables dans le fichier :

auto_create_user = TRUE;
$rcmail_config['default_host'] = 'localhost';

Si vous souhaitez 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 comme ci-dessous :

$rcmail_config['plugins'] = array('fail2ban'); 

Installez le plugin logger de RoundCube depuis http://mattrude.com/projects/roundcube-fail2ban-plugin/.

En gros, vous devez télécharger le fichier ci-dessus (fail2ban.php) et le coller dans le dossier fail2ban dans le dossier plugins de RoundCube : /usr/share/roundcube/plugins/fail2ban/fail2ban.php

Ce plugin créera d’abord et mettra ensuite à jour le fichier journal avec chaque tentative de connexion : /var/log/roundcube/userlogins

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

Vous devez coller :

[roundcube]
enabled  = true
port     = http,8080
filter   = roundcube
logpath  = /var/log/roundcube/userlogins
maxretry = 5
[webmin-auth]
enabled = true
port    = 10000
filter  = webmin-auth
logpath  = /var/log/auth.log
maxretry = 3 

Le port 8080 dans RoundCube n’est nécessaire que si vous avez activé la redirection vers https.

Enfin (et très important), n’oubliez pas de créer le fichier roundcube.conf /etc/fail2ban/filter.d/roundcube.conf avec le contenu ci-dessous :

[Definition]
failregex = FAILED login for .*. from 
ignoreregex =

Heureusement, le filtre webmin-auth est déjà fait pour nous par les gars de fail2ban. Redémarrez fail2ban :

/etc/init.d/fail2ban restart

phpMyAdmin (Conseil SSL)

Si vous souhaitez accéder à phpMyAdmin via SSL, vous pouvez appliquer le même conseil qu’avec RoundCube. Éditez le fichier /etc/apache2/conf.d/phpmyadmin.conf et collez les lignes suivantes à la fin du fichier :

  
    
      
      RewriteEngine on  
      RewriteCond %{HTTPS} !^on$ [NC]  
      RewriteRule . https://%{HTTP_HOST}:8080%{REQUEST_URI}  [L]  
      
    

Après cela, redémarrez Apache :

/etc/init.d/apache2 restart
Share: X/Twitter LinkedIn

Recevez de nouveaux articles dans votre boîte de réception.

Aucun spam. Désabonnez-vous à tout moment.