Server Setup · 4 min read · Dec 02, 2025
Estensione del Server Perfetto - Debian Squeeze [ISPConfig 3] - Pagina 2
3. ROUNDCUBE
Seguendo le istruzioni sopra puoi installare roundcube tramite apt-get. Tuttavia seguendo un’altra logica (se hai tempo e coraggio) puoi installare roundcube nel suo sottodominio, manualmente.
In “Perfect Server ….” di solito installi Squirrelmai. Tuttavia, se non lo vuoi, puoi rimuoverlo:
apt-get remove squirrelmaile cancellare il file /etc/apache2/conf.d/squirrelmail.conf:
rm /etc/apache2/conf.d/squirrelmail.confOPPURE, se lo vuoi, modifica il file /etc/apache2/conf.d/squirrelmail.conf e cambia l’alias in qualcosa come ‘webmail1’.
Installa roundcube. (Devi avere la password dell’amministratore mysql prima di procedere – Lascia che dbconfig-common configuri il database. Ti verranno poste alcune domande sulla password dell’amministratore db e sulla password del nuovo utente che verrà creato per roundcube. Rispondi a queste domande e continua:
apt-get install roundcube roundcube-mysqlEsempi di risposte: “Configurare il database per roundcube con dbconfig-common?” …. Rispondi Sì “Tipo di database da utilizzare per roundcube: …Rispondi mysql “Password dell’utente amministrativo del database:” … Rispondi la-tua-password-DB “Password dell’applicazione MySQL per roundcube:” … Rispondi la-password-che-vuoi-dare-all’utente-roundcube “Conferma password:”… Rispondi la-password-che-vuoi-dare-all’utente-roundcube
Se qualcosa va storto puoi sempre eseguire:
dpkg-reconfigure roundcube-corePer ulteriori informazioni, si prega di consultare questo post.
Affinché tutti possano accedere alla propria webmail (sotto il proprio nome di dominio) devi creare o modificare il file /etc/apache2/conf.d/roundcube in modo da impostare l’alias su ‘webmail’. Se desideri SSL, dovresti includere le ultime due direttive (IfModule mod_rewrite.c) per far sì che apache reindirizzi SEMPRE alla tua installazione SSL di ISPConfig.
nano /etc/apache2/conf.d/roundcube# Questi alias non funzionano correttamente con più host sul tuo server apache
# Decommentali per usarli o adattali alla tua configurazione
# Alias /roundcube/program/js/tiny_mce/ /usr/share/tinymce/www/
Alias /roundcube /var/lib/roundcube
Alias /webmail /var/lib/roundcube
# Accesso ai file tinymce
Options Indexes MultiViews FollowSymLinks
AllowOverride None
Order allow,deny
allow from all
Options +FollowSymLinks
# Questo è necessario per analizzare /var/lib/roundcube/.htaccess. Vedi il suo
# contenuto prima di impostare AllowOverride su None.
AllowOverride All
order allow,deny
allow from all
# Proteggere le directory di 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]
# Per ISPConfig 3.0.5.1 e versioni superiori, aggiungi anche quanto segue
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
Modifica /var/lib/roundcube/config/main.inc.php:
nano /var/lib/roundcube/config/main.inc.phpe IMPOSTA alcune variabili nel file (se questa è la prima volta che modifichi il file, le righe sono 60 e 66):
auto_create_user = TRUE;
$rcmail_config['default_host'] = 'localhost';Se installerai il seguente plugin (il logger che aiuta fail2ban) devi estendere l’elenco dei plugin nello stesso file. Se l’unico plugin è quello che verrà installato subito dopo, devi modificare la riga (42) come segue:
$rcmail_config['plugins'] = array('fail2ban'); Installa il plugin logger di roundcube da http://mattrude.com/projects/roundcube-fail2ban-plugin/.
Fondamentalmente devi scaricare il file (fail2ban.php) e incollarlo nella cartella fail2ban nella cartella dei plugin di roundcube. Infine, devi avere questo file: /usr/share/roundcube/plugins/fail2ban/fail2ban.php. Esegui:
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
Questo plugin aggiornerà il file di log ad ogni tentativo di accesso fallito: /var/log/roundcube/userlogins
Non dimenticare di modificare il link per la webmail in ISPConfig (Sistema -> Configurazione Interfaccia -> (tab) Mail) e impostarlo su /webmail. Infine, riavvia apache.
/etc/init.d/apache2 restartOra puoi accedere alla webmail su http://www.example.com/webmail
4. FAIL2BAN
Estendi il file jail.local che falko suggerisce in Il Server Perfetto - Debian Squeeze (Debian 6.0) Con BIND & Courier [ISPConfig 3]: /etc/fail2ban/jail.local
nano /etc/fail2ban/jail.localDevi aggiungere o modificare quanto segue:
[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 = 6La porta 50443 in roundcube è necessaria solo se hai abilitato il reindirizzamento a https (guarda all’inizio di questo tutorial).
La porta 50000 in webmin-auth è la porta cambiata (guarda all’inizio di questo tutorial).
La porta 50022 in ssh è la porta cambiata (guarda nelle sezioni seguenti di questo tutorial).
Ultimo (e molto importante) non dimenticare di creare il file roundcube.conf /etc/fail2ban/filter.d/roundcube.conf.
nano /etc/fail2ban/filter.d/roundcube.confcon il seguente contenuto:
[Definition]
failregex = FAILED login for .*. from
ignoreregex = Per fortuna i filtri webmin-auth e ssh sono già stati fatti per noi da fail2ban stesso. Riavvia fail2ban:
/etc/init.d/fail2ban restartSe qualcuno aggiunge molte prigioni in fail2ban, alcune di esse potrebbero non avviarsi (errori in /var/log/fail2ban.log ma non nell’output !!!). Vedi tu stesso eseguendo:
iptables -L -n Sfortunatamente, la soluzione è un po’ un hack… ma almeno è una soluzione:
Nel file /usr/bin/fail2ban-client alla riga 145 devi inserire time.sleep(0.1) o time.sleep(0.05):
nano /usr/bin/fail2ban-clientQuindi prima della modifica il file appare così:
[...]
def __processCmd(self, cmd, showRet = True):
beautifier = Beautifier()
for c in cmd:
beautifier.setInputCmd(c)
try:
[...] E dopo la modifica il file appare così:
[...]
def __processCmd(self, cmd, showRet = True):
beautifier = Beautifier()
for c in cmd:
time.sleep(0.05)
beautifier.setInputCmd(c)
try:
[...] Riavvia di nuovo fail2ban:
/etc/init.d/fail2ban restartPuoi controllare che tutte le prigioni siano attive con il comando:
iptables -L -n Ricevi i nuovi post nella tua casella di posta.
Nessuno spam. Disiscriviti in qualsiasi momento.