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 tinymce

L’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.php

e 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/squirrelmail

Dopo 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 reload

Quindi 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 remove

Assicurati 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.php

Questo 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 iniziale
Sistema 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]: <-- INVIO
Modalità di installazione (standard,esperto) [standard]: <-- INVIO
Nome host completamente qualificato (FQDN) del server, ad es. server1.domain.tld [server1.example.com]: <-- INVIO
Nome host del server MySQL [localhost]: <-- INVIO
Porta del server MySQL [3306]: <-- INVIO
Nome utente root MySQL [root]: <-- INVIO
Password root MySQL []: <-- inserisci qui la password root di MySQL
Database MySQL da creare [dbispconfig]: <-- INVIO
Charset MySQL [utf8]: <-- INVIO
Configurazione 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 caso
Nome della località (ad es. città) [Nome della 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) [Infrastruttura]: <-- Inserisci il nome della tua unità organizzativa, io uso IT qui
Nome comune (ad es. FQDN del server o IL TUO nome) [server1.example.com]: <-- Inserisci il nome host del server, nel mio caso server1.example.com
Indirizzo 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]: <-- INVIO
Password admin [admin]: <-- Inserisci la tua password admin desiderata
Vuoi una connessione sicura (SSL) all'interfaccia web di ISPConfig (y,n) [y]: <-- INVIO
Generazione 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   
done

18.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 mysql

sulla 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

Share: X/Twitter LinkedIn

Ricevi i nuovi post nella tua casella di posta.

Nessuno spam. Disiscriviti in qualsiasi momento.