Configurazione Server · 10 min read · Sep 22, 2025

Configurazione perfetta di ISPConfig Multiserver su Ubuntu 20.04 e Debian 10 - Pagina 3

4 Installazione del primo server di posta

Accedi come root o esegui

su -

per diventare utente root sul tuo server prima di procedere. IMPORTANTE: Devi usare ‘su -‘ e non solo ‘su’, altrimenti la tua variabile PATH sarà impostata in modo errato da Debian.

4.1 Configurare il nome host

Il nome host del tuo server dovrebbe essere un sottodominio come “mx1.example.com”. Non usare un nome di dominio senza una parte di sottodominio come “example.com” come nome host, poiché questo causerà problemi in seguito con la tua configurazione della posta. Prima, dovresti controllare il nome host in /etc/hosts e cambiarlo quando necessario. La riga dovrebbe essere: “Indirizzo IP - spazio - nome host completo incluso dominio - spazio - parte di sottodominio”. Per il nostro nome host mx1.example.com, il file dovrebbe apparire così:

nano /etc/hosts
127.0.0.1 localhost.localdomain   localhost  
# Questa riga dovrebbe essere cambiata su ogni nodo al nome server corretto:  
127.0.1.1 mx1.example.com mx1  
# Queste righe sono le stesse su ogni nodo:
10.0.64.12 panel.example.com panel  
10.0.64.13 web01.example.com web01  
10.0.64.14 mx1.example.com mx1  
10.0.64.15 mx2.example.com mx2  
10.0.64.16 ns1.example.com ns1  
10.0.64.17 ns2.example.com ns2  
10.0.64.18 webmail.example.com webmail

# Le seguenti righe sono desiderabili per gli host compatibili con IPv6
::1     localhost ip6-localhost ip6-loopback
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters

Come puoi vedere, abbiamo aggiunto anche i nomi host dei nostri altri server, in modo che possano comunicare attraverso la rete interna in seguito.

Poi modifica il file /etc/hostname:

nano /etc/hostname

Dovrebbe contenere solo la parte di sottodominio, nel nostro caso:

mx1

Infine, riavvia il server per applicare la modifica:

systemctl reboot

Accedi di nuovo e controlla se il nome host è corretto ora con questi comandi:

hostname  
hostname -f

L’output dovrebbe essere simile a questo:

root@mx1:~$ hostname  
mx1  
root@mx1:~$ hostname -f  
mx1.example.com

4.2 Installazione di ISPConfig

Ora possiamo eseguire l’autoinstallatore per tutti i pacchetti e ISPConfig:

wget -O - https://get.ispconfig.org | sh -s -- --no-dns --no-roundcube --no-mailman --use-php=system --use-unbound --interactive

Dopo un po’, vedrai:

WARNING! Questo script riconfigurerà completamente il tuo server!  
Dovrebbe essere eseguito su un server appena installato e tutta la configurazione attuale che hai fatto sarà molto probabilmente persa!  
Digita 'yes' se vuoi davvero continuare:

Rispondi “yes” e premi invio. L’installatore inizierà ora.

Quando l’installazione e la configurazione dei pacchetti sono completate, verrà mostrata la password root per MySQL su mx1. Scrivila (insieme al nome del server, per evitare confusione in seguito).

Ora dovremo rispondere ad alcune domande poiché stiamo usando la modalità interattiva. Questo è necessario poiché questo server sarà aggiunto alla tua configurazione multiserver.

[INFO] Installazione di ISPConfig3.  
[INFO] La tua password root MySQL è: kl3994aMsfkkeE  
  
  
--------------------------------------------------------------------------------  
 _____ ___________   _____              __ _          ____  
|_   _/  ___| ___ \ /  __ \            / _(_)       /__  \  
  | | \ `--.| |_/ / | /  \/ ___  _ __ | |_ _  __ _    _/ /  
  | |  `--. \  __/  | |    / _ \| '_ \|  _| |/ _` |  |_ |  
  |_| |_|\__/ / |     | \__/\ (_) | | | | | | (_| | ___\ \  
  \___/\____/\_|      \____/\___/|_| |_|_| |_|\__, | \____/  
                                                  __/ |  
                                                 |___/   
--------------------------------------------------------------------------------  
  
>> Configurazione iniziale   
  
Sistema Operativo: Debian 10.0 (Buster) o compatibile  
  
    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'installatore.  
  
Seleziona lingua (en,de) [en]: <-- Premi invio  
Modalità di installazione (standard,esperto) [standard]: <-- esperto  
Nome host completamente qualificato (FQDN) del server, ad es. server1.domain.tld  [mx1.example.com]: <-- Premi Invio  
Nome host del server MySQL [localhost]: <-- Premi Invio  
Porta del server MySQL [3306]: <-- Premi Invio  
Nome utente root MySQL [root]: <-- Premi Invio  
Password root MySQL []: <-- Inserisci la password MySQL che lo script ti ha appena dato  
Database MySQL da creare [dbispconfig]: <-- Premi Invio  
Charset MySQL [utf8]: <-- Premi Invio  
Le prossime due domande riguardano l'utente e la password del database interno di ISPConfig.  
È consigliabile accettare i valori predefiniti che sono 'ispconfig' come nome utente e una password casuale.  
Se usi una password diversa, usa solo numeri e caratteri per la password.  
  
Nome utente del database mysql ISPConfig [ispconfig]: <-- Premi Invio  
Password del database mysql ISPConfig [aakl203920459853sak20284204]: <-- Premi Invio  
Questo server deve unirsi a una configurazione multiserver ISPConfig esistente (y,n) [n]: <-- y  
Nome host del server master MySQL []: <-- panel.example.com  
Porta del server master MySQL []: <-- Premi Invio  
Nome utente root del server master MySQL [root]: <-- Premi Invio  
Password root del server master MySQL []: <-- la password che hai dato all'utente root esterno sul server master.  
Nome del database del server master MySQL [dbispconfig]: <-- Premi Invio  
Aggiunta del record del server ISPConfig al database.  
  
Configurare la posta (y,n) [y]: <-- premi invio  
Configurazione di Postgrey  
Configurazione di Postfix  
Generazione di una chiave privata RSA  
......................................................................++++  
....................++++  
scrittura della nuova chiave privata in 'smtpd.key'  
-----  
Stai per essere invitato a 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) [AU]: <-- Premi invio  
Nome dello Stato o della Provincia (nome completo) [Some-State]: <-- Premi invio  
Nome della Località (ad es., città) []: <-- Premi invio  
Nome dell'Organizzazione (ad es., azienda) [Internet Widgits Pty Ltd]: <-- Premi invio  
Nome dell'Unità Organizzativa (ad es., sezione) []: <-- Premi invio  
Nome Comune (ad es. FQDN del server o IL TUO nome) []: <-- Premi invio  
Indirizzo Email []: <-- Premi invio  
[WARN] autodetect per Mailman fallito  
Forza la configurazione di Mailman (y,n) [n]: <-- Premi invio  
  
Saltando Mailman  
  
Configurazione di Dovecot  
Creazione di un nuovo file DHParams, ci vorranno diversi minuti. Non interrompere lo script.  
Configurazione di Spamassassin  
[WARN] autodetect per Amavisd fallito  
Forza la configurazione di Amavisd (y,n) [n]: <-- Premi invio  
  
Saltando Amavisd  
  
Configurazione di Rspamd  
Configurazione di Getmail  
Configurazione di Jailkit  
Configurazione di Pureftpd  
Configurare il Server DNS (y,n) [y]: <-- n  
  
L'opzione Web Server deve essere abilitata quando vuoi eseguire un web server o quando questo nodo deve ospitare l'interfaccia ISPConfig.  
Configurare il Web Server (y,n) [y]: <-- Premi invio  
  
Configurazione di Apache  
Configurazione di vlogger  
[WARN] autodetect per OpenVZ fallito  
Forza la configurazione di OpenVZ (y,n) [n]: <-- Premi Invio  
  
Saltando OpenVZ  
  
Configurare il Server Firewall (y,n) [y]: <-- Premi Invio  
  
Configurazione del Firewall di Ubuntu  
[WARN] autodetect per Metronome XMPP Server fallito  
Forza la configurazione del Metronome XMPP Server (y,n) [n]: <-- Premi Invio  
  
Saltando Metronome XMPP Server  
  
Configurazione di Fail2ban  
Installa l'interfaccia Web di ISPConfig (y,n) [n]: <-- Premi Invio  
  
Vuoi creare certificati SSL per il tuo server? (y,n) [y]: <-- Premi Invio  
  
Controllando / creando certificato per mx1.example.com  
Utilizzando il percorso del certificato /etc/letsencrypt/live/mx1.example.com  
Utilizzando apache per la convalida del certificato  
Collegare i certificati SSL di ISPConfig a Postfix? (y,n) [y]: <-- Premi Invio  
  
Collegare i certificati SSL di ISPConfig a Pure-FTPd? La creazione del file dhparam potrebbe richiedere del tempo. (y,n) [y]: <-- Premi Invio  
  
Generazione dei parametri DH, primo sicuro lungo 2048 bit, generatore 2  
Questo richiederà molto tempo  
......................+...........................................+...............  
Configurazione di Apps vhost  
Configurazione di DBServer  
Installazione del crontab di ISPConfig  
nessun crontab per getmail  
Rilevamento degli indirizzi IP  
Riavvio dei servizi ...  
Installazione completata.  
[INFO] Aggiunta delle versioni php a ISPConfig.  
[INFO] Controllo che tutti i servizi siano in esecuzione.  
[INFO] mysql: OK  
[INFO] clamav-daemon: OK  
[INFO] postfix: OK  
[INFO] bind9: OK  
[INFO] pureftpd: OK  
[INFO] apache2: OK  
[INFO] rspamd: OK  
[INFO] redis-server: OK  
[INFO] dovecot: OK  
[INFO] Installazione pronta.  
[INFO] La tua password root MySQL è: kl3994aMsfkkeE  
[INFO] Attenzione: Si prega di eliminare i file di log in /tmp/ispconfig-ai/var/log/setup-* una volta che non ne hai più bisogno perché contengono le tue password!

4.3 Configurazione della replica per Dovecot

Useremo dsync per sincronizzare le email tra mx1 e mx2, per ridondanza.

Le impostazioni personalizzate per dovecot devono essere memorizzate in /usr/local/ispconfig/server/conf-custom/install/dovecot_custom.conf.master in modo da non perderle durante l’aggiornamento di ISPConfig.

nano /usr/local/ispconfig/server/conf-custom/install/dovecot_custom.conf.master

Metti quanto segue:

protocol imap {  
 mail_plugins = $mail_plugins quota imap_quota notify replication  
}  
protocol pop3 {  
 mail_plugins = $mail_plugins quota notify replication  
}  
protocol lda {  
 mail_plugins = $mail_plugins sieve quota notify replication  
}  
protocol lmtp {  
 mail_plugins = $mail_plugins sieve quota notify replication  
}  
doveadm_password = /(:&p-J:4e%?\@Q-;VSE#3Dmfm[fVK&r-mx1  
doveadm_port = 12345  
replication_max_conns = 50  
  
ssl_client_ca_dir = /etc/ssl/certs  
  
# Il processo replicatore dovrebbe essere avviato all'avvio, in modo da poter iniziare a replicare gli utenti immediatamente:  
service replicator {  
 process_min_avail = 1  
}  
  
# I processi di posta devono avere accesso al fifo e al socket di notifica di replica.  
service aggregator {  
    fifo_listener replication-notify-fifo {  
        user = vmail  
        mode = 0666  
    }  
  
    unix_listener replication-notify {  
        user = vmail  
        mode = 0666  
    }  
}  
  
# Abilita i comandi replicatore doveadm  
service replicator {  
    unix_listener replicator-doveadm {  
        mode = 0666  
    }  
}  
  
# Crea un listener per doveadm-server  
service doveadm {  
    user = vmail  
    inet_listener {  
        port = 12345  
        ssl = yes  
    }  
}  
service config {  
    unix_listener config {  
        user = vmail  
    }  
}  
  
plugin {  
    mail_replica = tcps:mx2.example.com  
}

Sostituisci doveadm_password con la tua password - rendila una stringa lunga e casuale per motivi di sicurezza.

Sostituisci

mail_replica = tcps:mx2.example.com

con il tuo nome host di mx2.

Per applicare queste modifiche, copia il file nella cartella dovecot e riavvia dovecot:

cp /usr/local/ispconfig/server/conf-custom/install/dovecot_custom.conf.master /etc/dovecot/conf.d/99-ispconfig-custom-config.conf  
systemctl restart dovecot

4.4 Configurazione della sincronizzazione per Rspamd

Rspamd ha una bella interfaccia web. Configureremo i nostri server come vicini in modo da poter visualizzare le impostazioni, le statistiche e altri dati in un unico pannello.

nano /usr/local/ispconfig/server/conf-custom/install/rspamd_options.inc.master

Aggiungi queste righe:

# Configurazione dal modello ISPConfig (deve essere aggiornata se ci sono modifiche)
# Indirizzi locali a questo server.
local_addrs = [
    "127.0.0.0/8",
    "::1",
  ];

# Questa lista è generata da ISPConfig, inserisci indirizzi/reti personalizzati in local_networks.inc.
local_networks = "/etc/rspamd/local.d/local_networks.inc";

dns {
    nameserver = ["127.0.0.1:53:10"];
}

# Configurazione personalizzata:
neighbours {
    mx1 {
        host = "https://mx1.example.com:443";
        path = "/rspamd/";
    }
    mx2 { 
        host = "https://mx2.example.com:443";
        path = "/rspamd/";
    }
}
# Ultimo aggiornamento: 19-01-2022

Sostituisci i nomi host con i nomi host corretti per il tuo server di posta principale e secondario. Questa configurazione dovrebbe essere aggiornata se il modello cambia, quindi assicurati di verificarla quando aggiorni ISPConfig.

Ora andremo ad aggiungere un sito per questo server in ISPConfig. Vai su Siti -> Aggiungi nuovo sito e aggiungi il sito “mx1.example.com”. Assicurati di crearlo sul server corretto (mx1.example.com). Disabilita il sottodominio automatico e abilita SSL + Let’s Encrypt. Poi, vai alle opzioni e incolla questo nella sezione delle direttive Apache:

RewriteEngine On  
RewriteRule ^/rspamd$ /rspamd/ [R,L]  
RewriteRule ^/rspamd/(.*) http://127.0.0.1:11334/$1 [P]  
Header set Access-Control-Allow-Origin https://mx2.example.com

Sostituisci mx2.example.com con il nome host del nameserver secondario.

Infine, dobbiamo abilitare alcuni moduli Apache e riavviare i nostri servizi:

a2enmod proxy_balancer proxy_http  
systemctl restart rspamd  
systemctl restart apache2

4.5 Sicurezza del server di posta con un certificato SSL valido

Per un funzionamento di DSYNC e Roundcube, è necessario avere un certificato SSL valido per i nomi host utilizzati. Questo certificato non può essere autofirmato. Se intendi utilizzare nomi host aggiuntivi per questo server, come imap.example.com e smtp.example.com, o se l’installatore non è riuscito a creare un certificato valido durante l’installazione, segui questa guida per impostare un certificato valido per il tuo server di posta: https://www.howtoforge.com/securing-your-ispconfig-3-managed-mailserver-with-a-valid-lets-encrypt-certificate/

4.6 Configurazione del firewall

L’ultima cosa da fare è configurare il nostro firewall.

Accedi all’interfaccia ISPConfig e vai su Sistema -> Firewall. Poi clicca su “Aggiungi nuovo record firewall”.

Assicurati di selezionare il server corretto. Per il nostro server di posta, dobbiamo aprire le seguenti porte:

TCP:

22,25,80,110,143,443,465,587,993,995

Nessuna porta UDP deve essere aperta tramite l’interfaccia.

Apriremo anche la porta 3306, che viene utilizzata per MySQL, e la porta 12345, che viene utilizzata per dsync, ma solo dalla nostra rete locale per motivi di sicurezza. Per farlo, esegui il seguente comando dalla CLI, dopo che la modifica dal pannello ISPConfig è stata propagata (quando il punto rosso è scomparso):

ufw allow from 10.0.64.0/24 to any port 3306 proto tcp  
ufw allow from 10.0.64.0/24 to any port 12345 proto tcp
Share: X/Twitter LinkedIn

Ricevi i nuovi post nella tua casella di posta.

Nessuno spam. Disiscriviti in qualsiasi momento.