Server Erweiterung · 4 min read · Dec 02, 2025

Erweiterung des perfekten Servers - Debian Squeeze [ISPConfig 3] - Seite 2

3. ROUNDCUBE

Folgen Sie den obigen Anweisungen, um Roundcube über apt-get zu installieren. Wenn Sie jedoch eine andere Logik verfolgen möchten (wenn Sie die Zeit und den Mut haben), können Sie Roundcube manuell in einer eigenen Subdomain installieren.

In “Perfect Server ….” installieren Sie normalerweise Squirrelmail. Wenn Sie es jedoch nicht möchten, können Sie es entfernen:

apt-get remove squirrelmail

und die Datei /etc/apache2/conf.d/squirrelmail.conf löschen:

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

ODER, wenn Sie es möchten, bearbeiten Sie die /etc/apache2/conf.d/squirrelmail.conf und ändern Sie das Alias in etwas wie ‘webmail1’.

Installieren Sie Roundcube. (Sie MÜSSEN das Passwort des MySQL-Administrators haben, bevor Sie fortfahren – Lassen Sie dbconfig-common die Datenbank konfigurieren. Sie werden einige Fragen zum Passwort des DB-Administrators und zum Passwort des neuen Benutzers, der für Roundcube erstellt wird, gestellt bekommen. Beantworten Sie diese Fragen und fahren Sie fort:

apt-get install roundcube roundcube-mysql

Beispielantworten: “Datenbank für Roundcube mit dbconfig-common konfigurieren?” …. Antwort Ja
“Datenbanktyp, der von Roundcube verwendet werden soll: …Antwort mysql
“Passwort des administrativen Benutzers der Datenbank:” … Antwort Ihr-Admin-DB-Passwort
“MySQL-Anwendungspasswort für Roundcube:” … Antwort das-Passwort-das-Sie-dem-Roundcube-Benutzer-geben-wollen
“Passwortbestätigung:”… Antwort das-Passwort-das-Sie-dem-Roundcube-Benutzer-geben-wollen

Wenn etwas schiefgeht, können Sie immer ausführen:

dpkg-reconfigure roundcube-core

Für weitere Informationen lesen Sie bitte diesen Beitrag.

Damit jeder auf sein Webmail (unter seinem Domainnamen) zugreifen kann, müssen Sie die Datei /etc/apache2/conf.d/roundcube erstellen oder bearbeiten, um das Alias auf ‘webmail’ zu setzen. Wenn Sie SSL möchten, sollten Sie die letzten beiden Direktiven (IfModule mod_rewrite.c) einfügen, um sicherzustellen, dass Apache IMMER auf Ihre SSL-Installation von ISPConfig umleitet.

nano /etc/apache2/conf.d/roundcube
# Diese Aliase funktionieren nicht richtig mit mehreren Hosts auf Ihrem Apache-Server  
# Kommentieren Sie sie aus, um sie zu verwenden oder passen Sie sie an Ihre Konfiguration an  
#    Alias /roundcube/program/js/tiny_mce/ /usr/share/tinymce/www/  
    Alias /roundcube /var/lib/roundcube  
    Alias /webmail /var/lib/roundcube  
  
# Zugriff auf tinymce-Dateien  
  
      Options Indexes MultiViews FollowSymLinks  
      AllowOverride None  
      Order allow,deny  
      allow from all  
  
  
  
  Options +FollowSymLinks  
  # Dies ist erforderlich, um /var/lib/roundcube/.htaccess zu parsen. Sehen Sie sich seinen  
  # Inhalt an, bevor Sie AllowOverride auf None setzen.  
  AllowOverride All  
  order allow,deny  
  allow from all  
  
  
# Schutz grundlegender Verzeichnisse:  
  
        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]  
      
    
  
  
  
# Für ISPConfig 3.0.5.1 und höher fügen Sie auch Folgendes hinzu  
  
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  
   

Bearbeiten Sie /var/lib/roundcube/config/main.inc.php:

nano /var/lib/roundcube/config/main.inc.php

und SETZEN Sie einige Variablen in der Datei (wenn dies das erste Mal ist, dass Sie die Datei bearbeiten, sind die Zeilen 60 und 66):

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

Wenn Sie das folgende Plugin (den Logger, der fail2ban hilft) installieren möchten, müssen Sie die Liste der Plugins in derselben Datei erweitern. Wenn das einzige Plugin das ist, das gleich danach installiert wird, müssen Sie die Zeile (42) wie folgt bearbeiten:

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

Installieren Sie das Roundcube-Logger-Plugin von http://mattrude.com/projects/roundcube-fail2ban-plugin/.

Im Grunde müssen Sie die Datei (fail2ban.php) herunterladen und in den fail2ban-Ordner im Plugin-Ordner von Roundcube einfügen. Schließlich müssen Sie diese Datei haben: /usr/share/roundcube/plugins/fail2ban/fail2ban.php. Führen Sie aus:

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

Dieses Plugin aktualisiert die Protokolldatei bei jedem fehlgeschlagenen Anmeldeversuch: /var/log/roundcube/userlogins

Vergessen Sie nicht, den Link für das Webmail in ISPConfig zu bearbeiten (System -> Schnittstellenkonfiguration -> (Tab) Mail) und ihn auf /webmail zu setzen. Schließlich starten Sie Apache neu.

/etc/init.d/apache2 restart

Sie können jetzt auf Webmail unter http://www.example.com/webmail zugreifen

4. FAIL2BAN

Erweitern Sie die Datei jail.local, die Falko in The Perfect Server - Debian Squeeze (Debian 6.0) mit BIND & Courier [ISPConfig 3] vorschlägt: /etc/fail2ban/jail.local

nano /etc/fail2ban/jail.local

Sie müssen Folgendes anhängen oder bearbeiten:

[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 = 6

Der Port 50443 in Roundcube wird nur benötigt, wenn Sie die Umleitung zu https aktiviert haben (siehe zu Beginn dieses Tutorials).
Der Port 50000 in webmin-auth ist der geänderte Port (siehe zu Beginn dieses Tutorials).
Der Port 50022 in ssh ist der geänderte Port (siehe in den folgenden Abschnitten dieses Tutorials).

Zuletzt (und sehr wichtig) vergessen Sie nicht, die Datei roundcube.conf /etc/fail2ban/filter.d/roundcube.conf zu erstellen.

nano /etc/fail2ban/filter.d/roundcube.conf

mit folgendem Inhalt:

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

Glücklicherweise sind die Filter für webmin-auth und ssh bereits von fail2ban selbst erledigt. Starten Sie fail2ban neu:

/etc/init.d/fail2ban restart

Wenn jemand viele Jails in fail2ban hinzufügt, können einige von ihnen möglicherweise nicht starten (Fehler in /var/log/fail2ban.log, aber nicht in der Ausgabe !!!). Sehen Sie es sich selbst an, indem Sie ausführen:

iptables -L -n 

Leider ist die Lösung ein bisschen ein Hack… aber zumindest ist es eine Lösung:

In der Datei /usr/bin/fail2ban-client müssen Sie in Zeile 145 time.sleep(0.1) oder time.sleep(0.05) einfügen:

nano /usr/bin/fail2ban-client

Vor der Änderung sieht die Datei so aus:

[...]  
 def __processCmd(self, cmd, showRet = True):  
                beautifier = Beautifier()  
                for c in cmd:  
                        beautifier.setInputCmd(c)  
                        try:  
[...]  

Und danach sieht die Datei so aus:

[...]  
 def __processCmd(self, cmd, showRet = True):  
                beautifier = Beautifier()  
                for c in cmd:  
                        time.sleep(0.05)  
                        beautifier.setInputCmd(c)  
                        try:  
[...]  

Starten Sie fail2ban erneut:

/etc/init.d/fail2ban restart

Sie können überprüfen, ob alle Jails aktiv sind, mit dem Befehl:

iptables -L -n 
Share: X/Twitter LinkedIn

Erhalte neue Beiträge in deinem Posteingang.

Kein Spam. Jederzeit abmelden.