Server Setup · 12 min read · Jan 07, 2026
Il Server Perfetto - CentOS 7 x86_64 (nginx, Dovecot, ISPConfig 3) - Pagina 3
23 Installa RoundcubeMail
Per installare il client webmail Roundcube, esegui…
yum -y install roundcubemail
ISPConfig contiene un alias webmail predefinito per squirremail all’interno del suo vhost delle app. Useremo quell’alias per il più moderno roundcube, quindi creiamo un symlink con il nome squirrelmail in /usr/share
ln -s /usr/share/roundcubemail /usr/share/squirrelmail
Dopo aver installato ISPConfig 3, puoi accedere a RoundcubeMail come segue:
Il vhost delle app ISPConfig sulla porta 8081 per nginx viene fornito con una configurazione alias /webmail, quindi puoi usare http://server1.example.com:8081/webmail per accedere a RoundcubeMail.
Se desideri utilizzare un alias /webmail o /roundcubemail che puoi usare 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 SquirrelMail.
Per fare ciò, incolla il seguente nel campo Direttive nginx nella scheda Opzioni del sito web in ISPConfig:
Per fare ciò, incolla il seguente nel campo Direttive nginx nella scheda Opzioni del sito web in ISPConfig:
location /roundcubemail {
root /usr/share/;
index index.php index.html index.htm;
location ~ ^/roundcubemail/(.+\.php)$ {
try_files $uri =404;
root /usr/share/;
fastcgi_pass 127.0.0.1:9000;
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 ~* ^/roundcubemail/(.+\.(jpg|jpeg|gif|css|png|js|ico|html|xml|txt))$ {
root /usr/share/;
}
}
location /webmail {
rewrite ^/* /roundcubemail last;
}Se utilizzi http s invece di http per il tuo vhost, dovresti aggiungere la riga fastcgi_param HTTPS on; alla tua configurazione RoundcubeMail in questo modo:
location /roundcubemail {
root /usr/share/;
index index.php index.html index.htm;
location ~ ^/roundcubemail/(.+\.php)$ {
try_files $uri =404;
root /usr/share/;
fastcgi_pass 127.0.0.1:9000;
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 ~* ^/roundcubemail/(.+\.(jpg|jpeg|gif|css|png|js|ico|html|xml|txt))$ {
root /usr/share/;
}
}
location /webmail {
rewrite ^/* /roundcubemail last;
}Se utilizzi sia http che https per il tuo vhost, puoi usare la variabile $https - vai di nuovo nel campo Direttive nginx, e invece di fastcgi_param HTTPS on; aggiungi la riga fastcgi_param HTTPS $https; in modo da poter utilizzare RoundcubeMail per entrambe le richieste http e https:
location /roundcubemail {
root /usr/share/;
index index.php index.html index.htm;
location ~ ^/roundcubemail/(.+\.php)$ {
try_files $uri =404;
root /usr/share/;
fastcgi_pass 127.0.0.1:9000;
fastcgi_param HTTPS $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 ~* ^/roundcubemail/(.+\.(jpg|jpeg|gif|css|png|js|ico|html|xml|txt))$ {
root /usr/share/;
}
}
location /webmail {
rewrite ^/* /squirrelmail last;
}Ora abbiamo bisogno di un database per roundcube mail, lo inizializzeremo come segue:
mysql -u root -p
Al prompt di mariadb usa:
CREATE DATABASE roundcubedb;
CREATE USER roundcubeuser@localhost IDENTIFIED BY ‘roundcubepassword’;
GRANT ALL PRIVILEGES on roundcubedb.* to roundcubeuser@localhost ;
FLUSH PRIVILEGES;
exit
Sto usando dettagli per il database roundcube come test, ti prego di sostituire i valori secondo le tue scelte per motivi di sicurezza. Finiremo l’installazione di roundcube dopo aver installato ISPConfig.
24 Installa ISPConfig 3
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 sappia). Se Apache2 è già installato sul sistema, fermalo ora…
systemctl stop httpd.service
… e rimuovi i collegamenti di avvio del sistema di Apache:
systemctl disable httpd.service
Assicurati che nginx sia in esecuzione:
systemctl restart nginx.service
(Se hai sia Apache che nginx installati, l’installer ti chiederà quale vuoi usare: 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 automaticamente rilevato dall’installer e non viene posta alcuna domanda.)
Scarica l’attuale versione di ISPConfig 3 e installala. L’installer di ISPConfig configurerà tutti i servizi come Postfix, Dovecot, ecc. per te. Una configurazione manuale come richiesta per ISPConfig 2 non è più necessaria.
Hai ora anche la possibilità di far creare all’installer un vhost SSL per il pannello di controllo ISPConfig, in modo che ISPConfig possa essere accessibile utilizzando https:// invece di http://. Per ottenere questo, basta premere INVIO quando vedi questa domanda: Vuoi una connessione sicura (SSL) all’interfaccia web di ISPConfig (y,n) [y]:.
Per installare ISPConfig 3 dall’ultima versione rilasciata, fai così:
cd /tmp
wget http://www.ispconfig.org/downloads/ISPConfig-3-stable.tar.gz
tar xfz ISPConfig-3-stable.tar.gz
cd ispconfig3_install/install/
Il passo successivo è eseguire
php -q install.php
Questo avvierà l’installer di ISPConfig 3:
[root@server1 install]# php -q install.php
——————————————————————————–
_ _ _ _
| / | \ / \ / () / \
| | | \ --.| |_/ / | / \/ ___ _ __ | |_ _ __ _ _/ / | |–. \ / | | / \| ‘ \| | |/ ` | | |
|| |_// | | _/\ () | | | | | | | (| | __\ \
_/__/| __/\/|| ||| ||_, | __/ / |
|__/
——————————————————————————–
>> Configurazione iniziale
Sistema Operativo: Redhat o compatibile, versione sconosciuta.
Seguiranno 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’installer.
Seleziona lingua (en,de) [en]: <– INVIO
Modalità di installazione (standard,esperto) [standard]: <– INVIO
Nome host completamente qualificato (FQDN) del server, ad esempio server1.domain.tld [server1.example.com]: <– INVIO
Nome host del server MySQL [localhost]: <– INVIO
Nome utente root MySQL [root]: <– INVIO
Password root MySQL []: <– yourrootsqlpassword
Database MySQL da creare [dbispconfig]: <– INVIO
Charset MySQL [utf8]: <– INVIO
Apache e nginx rilevati. Seleziona il server da utilizzare per ISPConfig: (apache,nginx) [apache]: <– nginx
Generazione di una chiave privata RSA a 2048 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ò che stai per inserire è ciò che viene chiamato un Nome Distinto o DN.
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 di 2 lettere) [XX]: <– INVIO
Nome dello Stato o della Provincia (nome completo) []: <– INVIO
Nome della Località (es. città) [Città Predefinita]: <– INVIO
Nome dell’Organizzazione (es. azienda) [Default Company Ltd]: <– INVIO
Nome dell’Unità Organizzativa (es. sezione) []: <– INVIO
Nome Comune (es. il tuo nome o il nome host del tuo server) []: <– INVIO
Indirizzo Email []: <– INVIO
Configurazione di Jailkit
Configurazione di Dovecot
Configurazione di Spamassassin
Configurazione di Amavisd
Configurazione di Getmail
Configurazione di Pureftpd
Configurazione di BIND
Configurazione di nginx
Configurazione di Vlogger
Configurazione di vhost delle app
Configurazione di Bastille Firewall
Configurazione di Fail2ban
Installazione di ISPConfig
Porta ISPConfig [8080]: <– INVIO
Vuoi una connessione sicura (SSL) all’interfaccia web di ISPConfig (y,n) [y]: <– INVIO
Generazione della 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ò che stai per inserire è ciò che viene chiamato un Nome Distinto o DN.
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 di 2 lettere) [XX]: <– INVIO
Nome dello Stato o della Provincia (nome completo) []: <– INVIO
Nome della Località (es. città) [Città Predefinita]: <– INVIO
Nome dell’Organizzazione (es. azienda) [Default Company Ltd]: <– INVIO
Nome dell’Unità Organizzativa (es. sezione) []: <– INVIO
Nome Comune (es. il tuo nome o il nome host del tuo server) []: <– INVIO
Indirizzo Email []: <– INVIO
Si prega di inserire i seguenti attributi ‘extra’
che saranno inviati con la tua richiesta di certificato
Una password di sfida []: <– INVIO
Un nome di azienda opzionale []: <– INVIO
scrittura della chiave RSA
Configurazione di DBServer
Installazione del crontab di ISPConfig
nessun crontab per root
nessun crontab per getmail
Riavvio dei servizi …
Fermando mysqld: [ OK ]
Avviando mysqld: [ OK ]
Spegnendo postfix: [ OK ]
Avviando postfix: [ OK ]
Fermando saslauthd: [FAILED]
Avviando saslauthd: [ OK ]
Spegnendo amavisd: Daemon [1554] terminato da SIGTERM
[ OK ]
amavisd fermato
Avviando amavisd: [ OK ]
Fermando clamd.amavisd: [ OK ]
Avviando clamd.amavisd: [ OK ]
Fermando Dovecot Imap: [ OK ]
Avviando Dovecot Imap: [ OK ]
Ricaricando php-fpm: [ OK ]
Ricaricando nginx: [ OK ]
Fermando pure-ftpd: [ OK ]
Avviando pure-ftpd: [ OK ]
Installazione completata.
[root@server1 install]# Per risolvere gli errori di Mailman che potresti ricevere durante l’installazione di ISPConfig, apri /usr/lib/mailman/Mailman/mm_cfg.py… vi /usr/lib/mailman/Mailman/mm_cfg.py … e imposta DEFAULT_SERVER_LANGUAGE = ‘en’: [...] #------------------------------------------------------------- # La lingua predefinita per questo server. DEFAULT_SERVER_LANGUAGE = 'en' [...] Riavvia Mailman: systemctl restart mailman.service Ora terminerò l’installazione di RoundcubeMail. Apri il seguente URL nel tuo browser: http://192.168.0.100:8081/roundcubemail/installer verrai accolto dall’installer web di RoundcubeMail, scorri verso il basso nella pagina e fai clic su avanti:
Quindi inserisci i dettagli del database del database roundcubedb che abbiamo creato nel capitolo 23 qui:
E imposta il server SMTP su localhost e imposta la tua lingua preferita
e fai clic su “Crea config” per andare alla pagina successiva. Apri il file /etc/roundcubemail/config.inc.php nella shell: nano /etc/roundcubemail/config.inc.php e incolla la configurazione mostrata nell’installer web in quel file e salva il file. Quindi torna all’installer web e fai clic sul pulsante continua. In questa pagina, fai clic su “inizializza database”:
La pagina dovrebbe apparire così dopo l’inizializzazione riuscita del database:
Per proteggere la configurazione di RoundcubeMail da modifiche non autorizzate, rimuoverò la cartella dell’installer eseguendo questo comando nella shell: rm -rf /usr/share/roundcubemail/installer ### 25 Primo Accesso a ISPConfig Dopo puoi accedere a ISPConfig 3 sotto http(s)://server1.example.com:8080/ o http(s)://192.168.0.100:8080/ ( http o https dipende da ciò che 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):
Successivamente dobbiamo regolare i percorsi di configurazione di BIND in ISPConfig. Fai clic su “Sistema” nel menu superiore, quindi su “Configurazione server” nel menu a destra. Nella lista che appare poi sul lato sinistro, fai clic sul nome del server.
Vai alla scheda “DNS” del modulo:
e inserisci i percorsi DNS come segue: Directory dei file di zona BIND: /var/named
Percorso named.conf di BIND: /etc/named.conf
Percorso named.conf.local di BIND: /etc/named.conf.local Il sistema è ora pronto per essere utilizzato. Se desideri utilizzare indirizzi IPv6 con i tuoi vhosts nginx, ti prego di fare quanto segue prima di creare vhosts IPv6 in ISPConfig: Apri /etc/sysctl.conf… vi /etc/sysctl.conf … e aggiungi la riga net.ipv6.bindv6only = 1: [...] net.ipv6.bindv6only = 1 Esegui… sysctl -p … dopo per far sì che la modifica abbia effetto. #### 25.1 Manuale di ISPConfig 3 Per imparare a utilizzare ISPConfig 3, ti consiglio vivamente di scaricare il Manuale di ISPConfig 3. 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. ### 25 Link - CentOS: http://www.centos.org/ - ISPConfig: http://www.ispconfig.org/
Ricevi i nuovi post nella tua casella di posta.
Nessuno spam. Disiscriviti in qualsiasi momento.