Server Setup · 10 min read · Oct 23, 2025
Il Server Perfetto - Ubuntu 16.04 (Nginx, MySQL, PHP, Postfix, BIND, Dovecot, Pure-FTPD e ISPConfig 3.1) - Pagina 3
15. 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 tinymceL’installatore chiederà le seguenti domande:
Configura il database per roundcube con dbconfig-common? <-- Sì
Password dell'applicazione MySQL per roundcube: <-- Premi invio
Quindi modifica il file di configurazione RoundCube config.inc.php:
nano /etc/roundcube/config.inc.phpe cambia l’host predefinito in localhost:
$config['default_host'] = 'localhost';Questo impedisce che Roundcube mostri il campo di input del nome del server nel modulo di accesso.
Ora crea un symlink in modo da poter utilizzare la configurazione di SquirrelMail in ISPConfig per Roundcube:
ln -s /usr/share/roundcube /usr/share/squirrelmailDopo aver installato ISPConfig 3, puoi accedere a Roundcube come segue:
L’app vhost di ISPConfig sulla porta 8081 per nginx viene fornita con una configurazione di Roundcube, quindi puoi utilizzare http://server1.example.com:8081/webmail per accedere a Roundcube.
Se desideri utilizzare un alias /webmail che puoi utilizzare dai tuoi siti web, questo è un po’ più complicato rispetto ad Apache perché nginx non ha alias globali (cioè, alias che possono essere definiti per tutti i vhost). Pertanto, devi definire questi alias per ogni vhost da cui desideri accedere a Roundcube.
Per fare ciò, incolla il seguente codice nel campo Direttive nginx nella scheda Opzioni del sito web in ISPConfig:
location /roundcube {
root /usr/share/;
index index.php index.html index.htm;
location ~ ^/roundcube/(.+\.php)$ {
try_files $uri =404;
root /usr/share/;
fastcgi_pass unix:/var/run/php/php7.0-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $request_filename;
include /etc/nginx/fastcgi_params;
fastcgi_param PATH_INFO $fastcgi_script_name;
fastcgi_buffer_size 128k;
fastcgi_buffers 256 4k;
fastcgi_busy_buffers_size 256k;
fastcgi_temp_file_write_size 256k;
fastcgi_intercept_errors on;
}
location ~* ^/roundcube/(.+\.(jpg|jpeg|gif|css|png|js|ico|html|xml|txt))$ {
root /usr/share/;
}
}
location /webmail {
rewrite ^/* /roundcube last;
}Se utilizzi http s invece di http per il tuo vhost, dovresti aggiungere la riga fastcgi_param HTTPS on; alla tua configurazione di SquirrelMail in questo modo:
location /roundcube {
root /usr/share/;
index index.php index.html index.htm;
location ~ ^/roundcube/(.+\.php)$ {
try_files $uri =404;
root /usr/share/;
fastcgi_pass unix:/var/run/php/php7.0-fpm.sock;
fastcgi_param HTTPS on; # <-- aggiungi questa riga
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $request_filename;
include /etc/nginx/fastcgi_params;
fastcgi_param PATH_INFO $fastcgi_script_name;
fastcgi_buffer_size 128k;
fastcgi_buffers 256 4k;
fastcgi_busy_buffers_size 256k;
fastcgi_temp_file_write_size 256k;
fastcgi_intercept_errors on;
}
location ~* ^/roundcube/(.+\.(jpg|jpeg|gif|css|png|js|ico|html|xml|txt))$ {
root /usr/share/;
}
}
location /webmail {
rewrite ^/* /roundcube last;
}Se utilizzi sia http che https per il tuo vhost, devi aggiungere la seguente sezione alla sezione http {} in /etc/nginx/nginx.conf (prima di qualsiasi riga include) che determina se il visitatore utilizza http o https e imposta la variabile $fastcgi_https (che utilizzeremo nella nostra configurazione di Roundcube) di conseguenza:
nano /etc/nginx/nginx.conf[...]
http {
[...]
## Rileva quando viene utilizzato HTTPS
map $scheme $fastcgi_https {
default off;
https on;
}
[...]
}
[...]Non dimenticare di ricaricare nginx dopo:
service nginx reloadQuindi torna di nuovo al campo Direttive nginx, e invece di fastcgi_param HTTPS on; aggiungi la riga fastcgi_param HTTPS $fastcgi_https; in modo da poter utilizzare Roundcube per entrambe le richieste http e https:
location /roundcube {
root /usr/share/;
index index.php index.html index.htm;
location ~ ^/roundcube/(.+\.php)$ {
try_files $uri =404;
root /usr/share/;
fastcgi_pass unix:/var/run/php/php7.0-fpm.sock;
fastcgi_param HTTPS $fastcgi_https; # <-- aggiungi questa riga
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $request_filename;
include /etc/nginx/fastcgi_params;
fastcgi_param PATH_INFO $fastcgi_script_name;
fastcgi_buffer_size 128k;
fastcgi_buffers 256 4k;
fastcgi_busy_buffers_size 256k;
fastcgi_temp_file_write_size 256k;
fastcgi_intercept_errors on;
}
location ~* ^/roundcube/(.+\.(jpg|jpeg|gif|css|png|js|ico|html|xml|txt))$ {
root /usr/share/;
}
}
location /webmail {
rewrite ^/* /roundcube last;
}16. Installa ISPConfig 3.1
Prima di iniziare l’installazione di ISPConfig, assicurati che Apache sia fermo (se è installato - è possibile che alcuni dei tuoi pacchetti installati abbiano installato Apache come dipendenza senza che tu lo sapessi). Se Apache2 è già installato sul sistema, fermalo ora…
service apache2 stop… e rimuovi i collegamenti di avvio del sistema di Apache:
update-rc.d -f apache2 removeAssicurati che nginx sia in esecuzione:
service nginx restart(Se hai sia Apache che nginx installati, l’installatore ti chiederà quale vuoi utilizzare: Apache e nginx rilevati. Seleziona il server da utilizzare per ISPConfig: (apache,nginx) [apache]:
Digita nginx. Se solo Apache o Nginx sono installati, questo viene rilevato automaticamente dall’installatore e non viene posta alcuna domanda.)
Per installare ISPConfig 3.1 dal ramo stabile di GIT, fai così:
cd /tmp
wget -O ispconfig.tar.gz https://git.ispconfig.org/ispconfig/ispconfig3/repository/archive.tar.gz?ref=stable-3.1
tar xfz ispconfig.tar.gz
cd ispconfig3*/install/Il passo successivo è eseguire
php -q install.phpQuesto avvierà l’installatore di ISPConfig 3.1. L’installatore configurerà tutti i servizi come Postfix, Dovecot, ecc. per te.
root@server1:/tmp/ispconfig3-stable-3.1-3f1331062193a94fbd64a7e39c00cb8d77eb7484/install# php install.php
--------------------------------------------------------------------------------
_____ ___________ _____ __ _ ____
|_ _/ ___| ___ \ / __ \ / _(_) /__ \
| | \ `--.| |_/ / | / \/ ___ _ __ | |_ _ __ _ _/ /
| | `--. \ __/ | | / _ \| '_ \| _| |/ _` | |_ |
_| |_\/__/ / | | \__/\ (_) | | | | | | | (_| | ___\ \
\___/\____/\_| \____/\___/|_| |_|_| |_\__, | \____/
__/ |
|___/
-------------------------------------------------------------------------------->> Configurazione inizialeSistema Operativo: Ubuntu 16.04.1 LTS (Xenial Xerus)Seguono alcune domande per la configurazione primaria, quindi fai attenzione.
I valori predefiniti sono tra [parentesi] e possono essere accettati con .
Digita "quit" (senza virgolette) per fermare l'installatore.
Seleziona lingua (en,de) [en]: <-- INVIOModalità di installazione (standard,esperto) [standard]: <-- INVIONome host completamente qualificato (FQDN) del server, ad es. server1.domain.tld [server1.example.com]: <-- INVIONome host del server MySQL [localhost]: <-- INVIOPorta del server MySQL [3306]: <-- INVIONome utente root MySQL [root]: <-- INVIOPassword root MySQL []: <-- inserisci qui la password root di MySQLDatabase MySQL da creare [dbispconfig]: <-- INVIOCharset MySQL [utf8]: <-- INVIOConfigurazione di Postgrey
Configurazione di Postfix
Generazione di una chiave privata RSA a 4096 bit
.................................................................................................................................................................................................................................................................................................................................................................................................................++
...++
scrittura della nuova chiave privata in 'smtpd.key'
-----
Stai per essere chiesto di inserire informazioni che saranno incorporate
nel tuo certificato di richiesta.
Ci sono diversi campi ma puoi lasciare alcuni vuoti
Per alcuni campi ci sarà un valore predefinito,
Se inserisci '.', il campo sarà lasciato vuoto.
-----
Nome del paese (codice a 2 lettere) [AU]: <-- inserisci il tuo codice paese a 2 lettere, ad es. DE nel mio caso
Nome dello stato o della provincia (nome completo) [Some-State]: <-- Inserisci il tuo stato di residenza
Nome della località (ad es. città) []: <-- Inserisci la tua città, nel mio caso Lueneburg
Nome dell'organizzazione (ad es. azienda) [Internet Widgits Pty Ltd]: <-- Inserisci il nome della tua azienda, nel mio caso ISPConfig UG
Nome dell'unità organizzativa (ad es. sezione) []: <-- Inserisci il nome della tua unità organizzativa, io uso IT qui
Nome comune (ad es. FQDN del server o IL TUO nome) []: <-- Inserisci il nome host del server, nel mio caso server1.example.com
Indirizzo email []: <-- Inserisci un indirizzo email, ad es. [email protected]
Configurazione di Mailman
Configurazione di Dovecot
Configurazione di Spamassassin
Configurazione di Amavisd
Configurazione di Getmail
Configurazione di Jailkit
Configurazione di Pureftpd
Configurazione di BIND
Configurazione di nginx
[INFO] servizio OpenVZ non rilevato
Configurazione del firewall di Ubuntu
Configurazione del server XMPP Metronome
scrittura della nuova chiave privata in 'localhost.key'
-----
Nome del paese (codice a 2 lettere) [AU]: <-- Inserisci il tuo codice paese a 2 lettere, ad es. DE nel mio casoNome della località (ad es. città) [Nome della città]: <-- Inserisci la tua città, nel mio caso LueneburgNome dell'organizzazione (ad es. azienda) [Internet Widgits Pty Ltd]: <-- Inserisci il nome della tua azienda, nel mio caso ISPConfig UGNome dell'unità organizzativa (ad es. sezione) [Infrastruttura]: <-- Inserisci il nome della tua unità organizzativa, io uso IT quiNome comune (ad es. FQDN del server o IL TUO nome) [server1.example.com]: <-- Inserisci il nome host del server, nel mio caso server1.example.comIndirizzo email [[email protected]]: <-- Inserisci un indirizzo email, ad es. [email protected]IMPORTANTE:
La chiave localhost, Csr e un Cert auto-firmato sono stati salvati in /etc/metronome/certs
Per lavorare con tutti i client, il server deve avere un certificato affidabile, quindi utilizza il Csr
per ottenere un certificato affidabile dalla tua CA o sostituisci la chiave e il certificato con file già firmati per
il tuo dominio. Client come Pidgin non consentono di utilizzare certificati auto-firmati non affidabili.Configurazione di Fail2ban
Configurazione dell'app vhost
Installazione di ISPConfig
Porta ISPConfig [8080]: <-- INVIOPassword admin [admin]: <-- Inserisci la tua password admin desiderataVuoi una connessione sicura (SSL) all'interfaccia web di ISPConfig (y,n) [y]: <-- INVIOGenerazione di una chiave privata RSA, modulo lungo 4096 bit
....................................................++
........................++
e è 65537 (0x10001)
Stai per essere chiesto di inserire informazioni che saranno incorporate
nel tuo certificato di richiesta.
Ci sono diversi campi ma puoi lasciare alcuni vuoti
Per alcuni campi ci sarà un valore predefinito,
Se inserisci '.', il campo sarà lasciato vuoto.
-----
Nome del paese (codice a 2 lettere) [AU]: <-- inserisci il tuo codice paese a 2 lettere, ad es. DE nel mio caso
Nome dello stato o della provincia (nome completo) [Some-State]: <-- Inserisci il tuo stato di residenza
Nome della località (ad es. città) []: <-- Inserisci la tua città, nel mio caso Lueneburg
Nome dell'organizzazione (ad es. azienda) [Internet Widgits Pty Ltd]: <-- Inserisci il nome della tua azienda, nel mio caso ISPConfig UG
Nome dell'unità organizzativa (ad es. sezione) []: <-- Inserisci il nome della tua unità organizzativa, io uso IT qui
Nome comune (ad es. FQDN del server o IL TUO nome) []: <-- Inserisci il nome host del server, nel mio caso server1.example.com
Indirizzo email []: <-- Inserisci un indirizzo email, ad es. [email protected]Per favore inserisci i seguenti attributi 'extra'
da inviare con la tua richiesta di certificato
Una password di sfida []: <-- INVIO
Un nome aziendale opzionale []: <-- INVIO
scrittura della chiave RSA
Configurazione DBServer
Installazione del crontab di ISPConfig
Installazione del crontab di ISPConfig
nessun crontab per root
nessun crontab per getmail
Rilevamento degli indirizzi IP
Riavvio dei servizi ...
Installazione completata.L’installatore configura automaticamente tutti i servizi sottostanti, quindi non è necessaria alcuna configurazione manuale.
Successivamente puoi accedere a ISPConfig 3 sotto http(s)://server1.example.com:8080/ o http(s)://192.168.1.100:8080/ (http o https dipende da cosa hai scelto durante l’installazione). Accedi con il nome utente admin e la password admin (dovresti cambiare la password predefinita dopo il tuo primo accesso):


Il sistema è ora pronto per essere utilizzato.
16.1 Manuale di ISPConfig 3.1
Per imparare a utilizzare ISPConfig 3, ti consiglio vivamente di scaricare il Manuale di ISPConfig 3.1.
In più di 300 pagine, copre il concetto alla base di ISPConfig (amministratore, rivenditori, clienti), spiega come installare e aggiornare ISPConfig 3, include un riferimento per tutti i moduli e i campi del modulo in ISPConfig insieme a esempi di input validi, e fornisce tutorial per i compiti più comuni in ISPConfig 3. Illustra anche come rendere il tuo server più sicuro e include una sezione di risoluzione dei problemi alla fine.
17. Note Aggiuntive
18.1 OpenVZ
Se il server Ubuntu che hai appena configurato in questo tutorial è un contenitore OpenVZ (macchina virtuale), dovresti fare questo sul sistema host (presumo che l’ID del contenitore OpenVZ sia 101 - sostituiscilo con il corretto VPSID sul tuo sistema):
VPSID=101
for CAP in CHOWN DAC_READ_SEARCH SETGID SETUID NET_BIND_SERVICE NET_ADMIN SYS_CHROOT SYS_NICE CHOWN DAC_READ_SEARCH SETGID SETUID NET_BIND_SERVICE NET_ADMIN SYS_CHROOT SYS_NICE
do
vzctl set $VPSID --capability ${CAP}:on --save
done18.2 Download dell’immagine della macchina virtuale di questo tutorial
Questo tutorial è disponibile come immagine di macchina virtuale pronta all’uso in formato ovf/ova compatibile con VMWare e Virtualbox. L’immagine della macchina virtuale utilizza i seguenti dettagli di accesso:
Accesso SSH / Shell
Nome utente: administrator
Password: howtoforge
Questo utente ha diritti sudo.
Accesso ISPConfig
Nome utente: admin
Password: howtoforge
Accesso MySQL
Nome utente: admin
Password: howtoforge
oppure accedi con:
sudo mysqlsulla shell.
L’IP della VM è 192.168.1.100, può essere cambiato nel file /etc/network/interfaces. Si prega di cambiare tutte le password sopra per garantire la sicurezza della macchina virtuale.
19. Link
- Ubuntu: http://www.ubuntu.com/
- ISPConfig: http://www.ispconfig.org/
Ricevi i nuovi post nella tua casella di posta.
Nessuno spam. Disiscriviti in qualsiasi momento.