Server Setup · 22 min read · Sep 11, 2025
Il Server Perfetto - Ubuntu 20.04 con Apache, PHP, MariaDB, PureFTPD, BIND, Postfix, Dovecot e ISPConfig 3.2

Questo tutorial mostra l’installazione di un server di hosting web Ubuntu 20.04 (Focal Fossa) con Apache 2.4, Postfix, Dovecot, Bind e PureFTPD per prepararlo all’installazione di ISPConfig 3.2. Il sistema risultante fornirà un server Web, Mail, Mailinglist, DNS e FTP.
ISPConfig è un pannello di controllo per l’hosting web che consente di configurare i seguenti servizi tramite un browser web: server web Apache o Nginx, server di posta Postfix, server IMAP/POP3 Courier o Dovecot, MariaDB come sostituto di MySQL, nameserver BIND o MyDNS, PureFTPd, SpamAssassin, ClamAV e molti altri. Questa configurazione copre l’installazione di Apache (invece di Nginx), BIND (invece di MyDNS) e Dovecot (invece di Courier).
Ci sono due modi per installare ISPConfig. Puoi utilizzare le istruzioni di installazione manuale qui sotto, oppure puoi utilizzare il programma di installazione automatica ISPConfig, che installa ISPConfig automaticamente in pochi minuti. Ti consigliamo di utilizzare il programma di installazione automatica, che supporta anche Ubuntu 22.04. Vedi l’installazione automatica di ISPConfig per istruzioni su come installare ISPConfig automaticamente.
1. Nota Preliminare
In questo tutorial, utilizzo il nome host server1.example.com con l’indirizzo IP 192.168.0.100 e il gateway 192.168.0.1. Queste impostazioni potrebbero differire per te, quindi dovrai sostituirle dove appropriato. Prima di procedere, devi avere un’installazione minima di base di Ubuntu 20.04 come spiegato nel tutorial.
I comandi in questo tutorial devono essere eseguiti con permessi di root. Per evitare di aggiungere sudo davanti a ogni comando, dovrai diventare utente root eseguendo:
sudo -sprima di procedere.
2. Modifica /etc/apt/sources.list e Aggiorna la tua Installazione di Linux
Modifica /etc/apt/sources.list. Commenta o rimuovi il CD di installazione dal file e assicurati che i repository universe e multiverse siano abilitati. Dovrebbe apparire così dopo:
nano /etc/apt/sources.list# Vedi http://help.ubuntu.com/community/UpgradeNotes per come aggiornare a
# versioni più recenti della distribuzione.
deb http://de.archive.ubuntu.com/ubuntu focal main restricted
# deb-src http://de.archive.ubuntu.com/ubuntu focal main restricted
## Aggiornamenti di correzione bug importanti prodotti dopo il rilascio finale della
## distribuzione.
deb http://de.archive.ubuntu.com/ubuntu focal-updates main restricted
# deb-src http://de.archive.ubuntu.com/ubuntu focal-updates main restricted
## N.B. il software di questo repository è COMPLETAMENTE NON SUPPORTATO dal team di Ubuntu.
## Inoltre, si prega di notare che il software in universe NON riceverà alcuna
## revisione o aggiornamenti dal team di sicurezza di Ubuntu.
deb http://de.archive.ubuntu.com/ubuntu focal universe
# deb-src http://de.archive.ubuntu.com/ubuntu focal universe
deb http://de.archive.ubuntu.com/ubuntu focal-updates universe
# deb-src http://de.archive.ubuntu.com/ubuntu focal-updates universe
## N.B. il software di questo repository è COMPLETAMENTE NON SUPPORTATO dal team di Ubuntu,
## e potrebbe non essere sotto una licenza libera. Si prega di soddisfare se stessi riguardo ai
## propri diritti di utilizzo del software. Inoltre, si prega di notare che il software in
## multiverse NON riceverà alcuna revisione o aggiornamenti dal team di sicurezza di Ubuntu.
deb http://de.archive.ubuntu.com/ubuntu focal multiverse
# deb-src http://de.archive.ubuntu.com/ubuntu focal multiverse
deb http://de.archive.ubuntu.com/ubuntu focal-updates multiverse
# deb-src http://de.archive.ubuntu.com/ubuntu focal-updates multiverse
## N.B. il software di questo repository potrebbe non essere stato testato come
## ampiamente come quello contenuto nella versione principale, anche se include
## versioni più recenti di alcune applicazioni che potrebbero fornire funzionalità utili.
## Inoltre, si prega di notare che il software in backports NON riceverà alcuna revisione
## o aggiornamenti dal team di sicurezza di Ubuntu.
deb http://de.archive.ubuntu.com/ubuntu focal-backports main restricted universe multiverse
# deb-src http://de.archive.ubuntu.com/ubuntu focal-backports main restricted universe multiverse
## Decommenta le seguenti due righe per aggiungere software dal repository
## 'partner' di Canonical.
## Questo software non fa parte di Ubuntu, ma è offerto da Canonical e dai
## rispettivi fornitori come servizio agli utenti di Ubuntu.
# deb http://archive.canonical.com/ubuntu focal partner
# deb-src http://archive.canonical.com/ubuntu focal partner
deb http://de.archive.ubuntu.com/ubuntu focal-security main restricted
# deb-src http://de.archive.ubuntu.com/ubuntu focal-security main restricted
deb http://de.archive.ubuntu.com/ubuntu focal-security universe
# deb-src http://de.archive.ubuntu.com/ubuntu focal-security universe
deb http://de.archive.ubuntu.com/ubuntu focal-security multiverse
# deb-src http://de.archive.ubuntu.com/ubuntu focal-security multiversePoi esegui
apt-get updateper aggiornare il database dei pacchetti apt e
apt-get upgradeper installare gli aggiornamenti più recenti (se ce ne sono). Se vedi che un nuovo kernel viene installato come parte degli aggiornamenti, dovresti riavviare il sistema dopo:
reboot3. Cambia la Shell Predefinita
/bin/sh è un collegamento simbolico a /bin/dash, tuttavia abbiamo bisogno di /bin/bash, non di /bin/dash. Pertanto, facciamo così:
dpkg-reconfigure dashUsare dash come shell di sistema predefinita (/bin/sh)? <– No
Se non fai questo, l’installazione di ISPConfig fallirà.
4. Disabilita AppArmor
AppArmor è un’estensione di sicurezza (simile a SELinux) che dovrebbe fornire sicurezza estesa. A mio avviso, non ne hai bisogno per configurare un sistema sicuro, e di solito causa più problemi che vantaggi (pensa a questo dopo aver fatto una settimana di risoluzione dei problemi perché qualche servizio non funzionava come previsto, e poi scopri che tutto era ok, solo AppArmor stava causando il problema). Pertanto, lo disabilito (questo è un must se vuoi installare ISPConfig più tardi).
Possiamo disabilitarlo in questo modo:
service apparmor stop
update-rc.d -f apparmor remove
apt-get remove apparmor apparmor-utils5. Sincronizza l’Orologio di Sistema
È una buona idea sincronizzare l’orologio di sistema con un server NTP ( network time protocol) su Internet quando esegui un server fisico. Nel caso tu stia eseguendo un server virtuale, puoi saltare questo passaggio. Esegui semplicemente
apt-get -y install ntpe il tuo orario di sistema sarà sempre sincronizzato.
6. Installa Postfix, Dovecot, MariaDB, rkhunter e binutils
Per installare postfix, dobbiamo assicurarci che sendmail non sia installato e in esecuzione. Per fermare e rimuovere sendmail esegui questo comando:
service sendmail stop; update-rc.d -f sendmail removeIl messaggio di errore:
Failed to stop sendmail.service: Unit sendmail.service not loaded.Va bene, significa solo che sendmail non era installato, quindi non c’era nulla da rimuovere.
Ora possiamo installare Postfix, Dovecot, MariaDB (come sostituto di MySQL), rkhunter e binutils con un singolo comando:
apt-get -y install postfix postfix-mysql postfix-doc mariadb-client mariadb-server openssl getmail4 rkhunter binutils dovecot-imapd dovecot-pop3d dovecot-mysql dovecot-sieve sudo patchTi verranno poste le seguenti domande:
Tipo generale di configurazione della posta: <-- Internet Site
Nome di sistema della posta: <-- server1.example.comÈ importante che tu usi un sottodominio come “nome di sistema della posta” come server1.example.com o server1.tuodominio.com e non un dominio che desideri utilizzare come dominio email (ad es. tuodominio.tld) in seguito.
Successivamente, apri le porte TLS/SSL e di invio in Postfix:
nano /etc/postfix/master.cfDecommenta le sezioni di invio e smtps come segue - aggiungi la riga -o smtpd_client_restrictions=permit_sasl_authenticated,reject a entrambe le sezioni e lascia tutto il resto commentato:
[...]
submission inet n - y - - smtpd
-o syslog_name=postfix/submission
-o smtpd_tls_security_level=encrypt
-o smtpd_sasl_auth_enable=yes
-o smtpd_tls_auth_only=yes
-o smtpd_client_restrictions=permit_sasl_authenticated,reject
# -o smtpd_reject_unlisted_recipient=no
# -o smtpd_client_restrictions=$mua_client_restrictions
# -o smtpd_helo_restrictions=$mua_helo_restrictions
# -o smtpd_sender_restrictions=$mua_sender_restrictions
# -o smtpd_recipient_restrictions=permit_sasl_authenticated,reject
# -o milter_macro_daemon_name=ORIGINATING
smtps inet n - y - - smtpd
-o syslog_name=postfix/smtps
-o smtpd_tls_wrappermode=yes
-o smtpd_sasl_auth_enable=yes
-o smtpd_client_restrictions=permit_sasl_authenticated,reject
# -o smtpd_reject_unlisted_recipient=no
# -o smtpd_client_restrictions=$mua_client_restrictions
# -o smtpd_helo_restrictions=$mua_helo_restrictions
# -o smtpd_sender_restrictions=$mua_sender_restrictions
# -o smtpd_recipient_restrictions=permit_sasl_authenticated,reject
# -o milter_macro_daemon_name=ORIGINATING
[...]NOTA: Gli spazi bianchi davanti alle righe “-o …. “ sono importanti!
Riavvia Postfix dopo:
service postfix restartVogliamo che MySQL ascolti su tutte le interfacce, non solo su localhost. Pertanto, modifichiamo /etc/mysql/mariadb.conf.d/50-server.cnf e commentiamo la riga bind-address = 127.0.0.1:
nano /etc/mysql/mariadb.conf.d/50-server.cnf[...]
# Invece di skip-networking, il valore predefinito ora è ascoltare solo su
# localhost, che è più compatibile e non è meno sicuro.
#bind-address = 127.0.0.1
[...]Ora impostiamo una password di root in MariaDB. Esegui:
mysql_secure_installationTi verranno poste queste domande:
Inserisci la password attuale per root (premi invio per nessuna): <-- premi invio
Impostare la password di root? [Y/n] <-- y
Nuova password: <-- Inserisci qui la nuova password di root di MariaDB
Reinserisci la nuova password: <-- Ripeti la password
Rimuovere gli utenti anonimi? [Y/n] <-- y
Negare l'accesso remoto a root? [Y/n] <-- y
Ricaricare le tabelle dei privilegi ora? [Y/n] <-- yImposta il metodo di autenticazione della password in MariaDB su nativo in modo da poter utilizzare PHPMyAdmin in seguito per connetterti come utente root:
echo "update mysql.user set plugin = 'mysql_native_password' where user='root';" | mysql -u rootModifica il file /etc/mysql/debian.cnf e imposta la password di root MYSQL / MariaDB lì due volte nelle righe che iniziano con password.
nano /etc/mysql/debian.cnfLa password di root di MySQL che deve essere aggiunta è mostrata in rosso. In questo esempio, la password è “howtoforge”. Sostituisci la parola “howtoforge” con la password che hai impostato per l’utente root di MySQL con il comando mysql_secure_installation.
# Generato automaticamente per gli script Debian. NON TOCCARE!
[client]
host = localhost
user = root
password = howtoforge
socket = /var/run/mysqld/mysqld.sock
[mysql_upgrade]
host = localhost
user = root
password = howtoforge
socket = /var/run/mysqld/mysqld.sock
basedir = /usrApri il file /etc/security/limits.conf con un editor:
nano /etc/security/limits.confe aggiungi queste righe alla fine del file.
mysql soft nofile 65535
mysql hard nofile 65535Successivamente, crea una nuova directory /etc/systemd/system/mysql.service.d/ con il comando mkdir.
mkdir /etc/systemd/system/mysql.service.d/e aggiungi un nuovo file all’interno:
nano /etc/systemd/system/mysql.service.d/limits.confincolla le seguenti righe in quel file:
[Service]
LimitNOFILE=infinitySalva il file e chiudi l’editor nano.
Poi ricarichiamo systemd e riavviamo MariaDB:
systemctl daemon-reload
service mariadb restartOra controlla che il networking sia abilitato. Esegui
netstat -tap | grep mysqlL’output dovrebbe apparire così:
root@server1:~# netstat -tap | grep mysql
tcp6 0 0 [::]:mysql [::]:* LISTEN 51836/mysqld
root@server1:~#7. Installa Amavisd-new, SpamAssassin e Clamav
Per installare amavisd-new, SpamAssassin e ClamAV, eseguiamo
apt-get -y install amavisd-new spamassassin clamav clamav-daemon unzip bzip2 arj nomarch lzop cabextract apt-listchanges libnet-ldap-perl libauthen-sasl-perl clamav-docs daemon libio-string-perl libio-socket-ssl-perl libnet-ident-perl zip libnet-dns-perl postgreyLa configurazione di ISPConfig 3 utilizza amavisd che carica internamente la libreria del filtro SpamAssassin, quindi possiamo fermare SpamAssassin per liberare un po’ di RAM:
service spamassassin stop
update-rc.d -f spamassassin removePer avviare ClamAV usa:
freshclam
service clamav-daemon startIl seguente errore può essere ignorato al primo avvio di freshclam.
ERROR: /var/log/clamav/freshclam.log is locked by another process
ERROR: Problem with internal logger (UpdateLogFile = /var/log/clamav/freshclam.log).8. Installa Apache, PHP, phpMyAdmin, FCGI, SuExec, Pear
Apache 2.4, PHP 7.4, phpMyAdmin, FCGI, suExec e Pear possono essere installati come segue:
apt-get -y install apache2 apache2-doc apache2-utils libapache2-mod-php php7.4 php7.4-common php7.4-gd php7.4-mysql php7.4-imap phpmyadmin php7.4-cli php7.4-cgi libapache2-mod-fcgid apache2-suexec-pristine php-pear libruby libapache2-mod-python php7.4-curl php7.4-intl php7.4-pspell php7.4-sqlite3 php7.4-tidy php7.4-xmlrpc php7.4-xsl memcached php-memcache php-imagick php7.4-zip php7.4-mbstring php-soap php7.4-soap php7.4-opcache php-apcu php7.4-fpm libapache2-reload-perlVedrai la seguente domanda:
Web server da riconfigurare automaticamente: <-- apache2
Configura il database per phpmyadmin con dbconfig-common? <-- Sì
MySQL application password for phpmyadmin: <-- Premi invio

Poi esegui il seguente comando per abilitare i moduli Apache suexec, rewrite, ssl, actions e include (più dav, dav_fs e auth_digest se vuoi usare WebDAV):
a2enmod suexec rewrite ssl actions include cgi alias proxy_fcgi
a2enmod dav_fs dav auth_digest headers
Per garantire che il server non possa essere attaccato attraverso la vulnerabilità HTTPOXY, disabiliterò l'intestazione HTTP_PROXY in Apache globalmente. Crea un nuovo file httpoxy.conf con nano:
nano /etc/apache2/conf-available/httpoxy.conf
Incolla questo contenuto nel file:
Abilita il file di configurazione eseguendo:
a2enconf httpoxy
Riavvia Apache dopo:
service apache2 restart
Se desideri ospitare file Ruby con l'estensione .rb sui tuoi siti web creati tramite ISPConfig, devi commentare la riga application/x-ruby rb in /etc/mime.types:
nano /etc/mime.types
[…] #application/x-ruby rb […]
(Questo è necessario solo per i file .rb; i file Ruby con l'estensione .rbx funzionano out of the box.)
Riavvia Apache dopo:
service apache2 restart
## 9. Installa Let's Encrypt
ISPConfig 3.2 ha supporto integrato per l'Autorità di Certificazione SSL gratuita Let's Encrypt. La funzione Let's Encrypt ti consente di creare certificati SSL gratuiti per il tuo sito web in ISPConfig.
Ora aggiungeremo supporto per Let's Encrypt.
apt-get install certbot
## 10. Installa Mailman
ISPConfig ti consente di gestire (creare/modificare/eliminare) le liste di distribuzione Mailman. Se desideri utilizzare questa funzionalità, installa Mailman come segue:
apt-get -y install mailman
Seleziona almeno una lingua, ad esempio:
Lingue da supportare: <-- en (Inglese)
Lista di siti mancanti <-- Ok
L'errore ' *Job for mailman.service failed because the control process exited with* error *code.* ' può essere ignorato per ora.
Prima di poter avviare Mailman, deve essere creata una prima lista di distribuzione chiamata mailman:
newlist mailman
root@server1:~# newlist mailman
Inserisci l'email della persona che gestisce la lista: <-- indirizzo email dell'amministratore, ad esempio [email protected]
Password iniziale di mailman: <-- password dell'amministratore per la lista mailman
Per completare la creazione della tua lista di distribuzione, devi modificare il tuo /etc/aliases (o file equivalente) aggiungendo le seguenti righe, e possibilmente eseguendo il programma `newaliases`:
## lista di distribuzione mailman
mailman: "|/var/lib/mailman/mail/mailman post mailman"
mailman-admin: "|/var/lib/mailman/mail/mailman admin mailman"
mailman-bounces: "|/var/lib/mailman/mail/mailman bounces mailman"
mailman-confirm: "|/var/lib/mailman/mail/mailman confirm mailman"
mailman-join: "|/var/lib/mailman/mail/mailman join mailman"
mailman-leave: "|/var/lib/mailman/mail/mailman leave mailman"
mailman-owner: "|/var/lib/mailman/mail/mailman owner mailman"
mailman-request: "|/var/lib/mailman/mail/mailman request mailman"
mailman-subscribe: "|/var/lib/mailman/mail/mailman subscribe mailman"
mailman-unsubscribe: "|/var/lib/mailman/mail/mailman unsubscribe mailman"
Premi invio per notificare il proprietario di mailman... <-- INVIO
root@server1:~#
Apri /etc/aliases dopo...
nano /etc/aliases
... e aggiungi le seguenti righe:
[…] ## lista di distribuzione mailman mailman: “|/var/lib/mailman/mail/mailman post mailman” mailman-admin: “|/var/lib/mailman/mail/mailman admin mailman” mailman-bounces: “|/var/lib/mailman/mail/mailman bounces mailman” mailman-confirm: “|/var/lib/mailman/mail/mailman confirm mailman” mailman-join: “|/var/lib/mailman/mail/mailman join mailman” mailman-leave: “|/var/lib/mailman/mail/mailman leave mailman” mailman-owner: “|/var/lib/mailman/mail/mailman owner mailman” mailman-request: “|/var/lib/mailman/mail/mailman request mailman” mailman-subscribe: “|/var/lib/mailman/mail/mailman subscribe mailman” mailman-unsubscribe: “|/var/lib/mailman/mail/mailman unsubscribe mailman”
Esegui
newaliases
dopo e riavvia Postfix:
service postfix restart
Infine, dobbiamo abilitare la configurazione di Mailman in Apache:
ln -s /etc/mailman/apache.conf /etc/apache2/conf-available/mailman.conf
Questo definisce l'alias /cgi-bin/mailman/ per tutti i vhost Apache, il che significa che puoi accedere all'interfaccia di amministrazione di Mailman per una lista su http:///cgi-bin/mailman/admin/, e la pagina web per gli utenti di una lista di distribuzione può essere trovata su http:///cgi-bin/mailman/listinfo/.
Sotto http:///pipermail puoi trovare gli archivi delle liste di distribuzione.
Attiva la configurazione con:
a2enconf mailman
Riavvia Apache dopo:
service apache2 restart
Poi avvia il demone Mailman:
service mailman start
## 11. Installa PureFTPd e Quota
PureFTPd e quota possono essere installati con il seguente comando:
apt-get -y install pure-ftpd-common pure-ftpd-mysql quota quotatool
Modifica il file /etc/default/pure-ftpd-common...
nano /etc/default/pure-ftpd-common
... e assicurati che la modalità di avvio sia impostata su standalone e imposta VIRTUALCHROOT=true:
[…] STANDALONE_OR_INETD=standalone […] VIRTUALCHROOT=true […]
Ora configuriamo PureFTPd per consentire sessioni FTP e TLS. FTP è un protocollo molto insicuro perché tutte le password e tutti i dati vengono trasferiti in chiaro. Utilizzando TLS, l'intera comunicazione può essere crittografata, rendendo così FTP molto più sicuro.
Se desideri consentire sessioni FTP e TLS, esegui
echo 1 > /etc/pure-ftpd/conf/TLS
Per utilizzare TLS, dobbiamo creare un certificato SSL. Lo creo in /etc/ssl/private/, quindi creo prima quella directory:
mkdir -p /etc/ssl/private/
Dopo, possiamo generare il certificato SSL come segue:
openssl req -x509 -nodes -days 7300 -newkey rsa:2048 -keyout /etc/ssl/private/pure-ftpd.pem -out /etc/ssl/private/pure-ftpd.pem
Nome del Paese (codice di 2 lettere) [AU]: <-- Inserisci il tuo Nome del Paese (ad es., "DE").
Nome dello Stato o della Provincia (nome completo) [Some-State]: <-- Inserisci il nome del tuo Stato o Provincia.
Nome della Località (ad es., città) []: <-- Inserisci la tua Città.
Nome dell'Organizzazione (ad es., azienda) [Internet Widgits Pty Ltd]: <-- Inserisci il nome della tua Organizzazione (ad es., il nome della tua azienda).
Nome dell'Unità Organizzativa (ad es., sezione) []: <-- Inserisci il nome della tua Unità Organizzativa (ad es. "Reparto IT").
Nome Comune (ad es., IL tuo nome) []: <-- Inserisci il Nome di Dominio Completo del sistema (ad es. "server1.example.com").
Indirizzo Email []: <-- Inserisci il tuo Indirizzo Email.
Cambia i permessi del certificato SSL:
chmod 600 /etc/ssl/private/pure-ftpd.pem
Poi riavvia PureFTPd:
service pure-ftpd-mysql restart
Modifica /etc/fstab. Il mio appare così (ho aggiunto,usrjquota=quota.user,grpjquota=quota.group,jqfmt=vfsv0 alla partizione con il punto di montaggio /):
nano /etc/fstab
/dev/mapper/server1–vg-root / ext4 errors=remount-ro,usrjquota=quota.user,grpjquota=quota.group,jqfmt=vfsv0 0 1
/dev/mapper/server1–vg-swap_1 none swap sw 0 0
/dev/fd0 /media/floppy0 auto rw,user,noauto,exec,utf8 0 0
Per abilitare la quota, esegui questi comandi:
mount -o remount /
quotacheck -avugm
quotaon -avug
Che mostrerà il seguente output:
root@server1:/tmp# quotacheck -avugm
quotacheck: Scanning /dev/mapper/server1–vg-root [/] done
quotacheck: Cannot stat old user quota file //quota.user: No such file or directory. Usage will not be subtracted.
quotacheck: Cannot stat old group quota file //quota.group: No such file or directory. Usage will not be subtracted.
quotacheck: Cannot stat old user quota file //quota.user: No such file or directory. Usage will not be subtracted.
quotacheck: Cannot stat old group quota file //quota.group: No such file or directory. Usage will not be subtracted.
quotacheck: Checked 13602 directories and 96597 files
quotacheck: Old file not found.
quotacheck: Old file not found.
root@server1:/tmp# quotaon -avug
/dev/mapper/server1–vg-root [/]: group quotas turned on
/dev/mapper/server1–vg-root [/]: user quotas turned on
## 12. Installa il Server DNS BIND
BIND può essere installato come segue:
apt-get -y install bind9 dnsutils haveged
Abilita e avvia il Demone haveged:
systemctl enable haveged
systemctl start haveged
## 13. Installa Vlogger, Webalizer, AWStats e GoAccess
Vlogger, Webalizer e AWStats possono essere installati come segue:
apt-get -y install vlogger webalizer awstats geoip-database libclass-dbi-mysql-perl
Installando l'ultima versione di GoAccess direttamente dal repository di GoAccess:
echo “deb https://deb.goaccess.io/ $(lsb_release -cs) main” | sudo tee -a /etc/apt/sources.list.d/goaccess.list
wget -O - https://deb.goaccess.io/gnugpg.key | sudo apt-key –keyring /etc/apt/trusted.gpg.d/goaccess.gpg add -
sudo apt-get update
sudo apt-get install goaccess
Apri /etc/cron.d/awstats dopo...
nano /etc/cron.d/awstats
... e commenta tutto in quel file:
#MAILTO=root
#*/10 www-data [ -x /usr/share/awstats/tools/update.sh ] && /usr/share/awstats/tools/update.sh
#10 03 * www-data [ -x /usr/share/awstats/tools/buildstatic.sh ] && /usr/share/awstats/tools/buildstatic.sh
## 14. Installa Jailkit
Jailkit è utilizzato per gli utenti della shell e i cronjob in ISPConfig. Installa jailkit con apt:
apt-get -y install jailkit
## 15. Installa fail2ban e UFW
Questo è facoltativo ma raccomandato perché il monitor di ISPConfig cerca di mostrare il log:
apt-get -y install fail2ban
Per far sì che fail2ban monitori PureFTPd e Dovecot, crea il file /etc/fail2ban/jail.local:
nano /etc/fail2ban/jail.local
[pure-ftpd] enabled = true port = ftp filter = pure-ftpd logpath = /var/log/syslog maxretry = 3
[dovecot] enabled = true filter = dovecot action = iptables-multiport[name=dovecot-pop3imap, port=”pop3,pop3s,imap,imaps”, protocol=tcp] logpath = /var/log/mail.log maxretry = 5
[postfix] enabled = true port = smtp filter = postfix logpath = /var/log/mail.log maxretry = 3
Riavvia fail2ban dopo:
service fail2ban restart
Per installare il firewall UFW, esegui questo comando apt:
apt-get install ufw
## 16. Installa Roundcube Webmail
Per installare Roundcube Webmail, esegui:
apt-get -y install roundcube roundcube-core roundcube-mysql roundcube-plugins roundcube-plugins-extra javascript-common libjs-jquery-mousewheel php-net-sieve tinymce
L'installer potrebbe chiedere le seguenti domande:
Configura il database per roundcube con dbconfig-common? <– Sì
Password dell’applicazione MySQL per roundcube: <– Premi invio
Non preoccuparti se non ricevi queste domande e un avviso riguardo allo script ucf, va bene.
L'avviso ucf che riceverai sulla shell può essere ignorato, non ha impatto negativo sull'installazione.
Poi modifica il file di configurazione apache di RoundCube.
nano /etc/apache2/conf-enabled/roundcube.conf
e rimuovi il # davanti alla riga Alias, poi aggiungi la seconda riga Alias per /webmail e aggiungi la riga "AddType application/x-httpd-php .php" subito dopo la riga "":
Alias /roundcube /var/lib/roundcube
Alias /webmail /var/lib/roundcube […]
Ricevi i nuovi post nella tua casella di posta.
Nessuno spam. Disiscriviti in qualsiasi momento.