GNU/Linux >> Linux Esercitazione >  >> Ubuntu

Configurazione ISPConfig Perfect Multiserver su Ubuntu 20.04 e Debian 10

Questo tutorial ti guiderà attraverso l'installazione della tua configurazione multiserver ISPConfig 3 con server dedicati per il pannello, web, DNS, posta e webmail. Sia il DNS che il server di posta avranno un server mirror per la ridondanza. Puoi facilmente aggiungere più server di un certo tipo in seguito.

Il programma di installazione automatico ufficiale di ISPConfig verrà utilizzato per configurare i server. Debian 10 sarà usato come sistema operativo. La guida è stata testata anche con Ubuntu 20.04.2.

Puoi leggere ulteriori informazioni sull'installazione automatica qui.

1. Nota preliminare

Questi saranno gli host che stiamo installando:

host     FQDN                IP
panel     panel.example.com    10.0.64.12
web01     web01.example.com    10.0.64.13
mx1        mx1.example.com       .   1 mx2.example.com        10.0.64.15
ns1        ns1.example.com        10.0.64.16
ns2        ns2.example.com        10.0.64.17
webmail.8.    webmail. 6 10.com >

Useremo nomi host, indirizzi IP e intervalli IP di esempio. Assicurati di cambiarli di conseguenza nei tuoi comandi/configurazione.

Tutti i server si trovano sulla stessa rete privata ma hanno il proprio IP pubblico. Se i tuoi server non hanno una rete locale condivisa, utilizza i loro indirizzi IPv4 pubblici.

Prima di iniziare l'installazione di un server, imposta un record A ed eventuale AAAA che punti al pubblico Indirizzo IP del tuo server. Ad esempio, se il nome host è panel.example.com e l'IP pubblico è 11.22.33.44, è necessario impostare un record A per panel.example.com che punta a 11.22.33.44. Ogni server dovrebbe avere il proprio IP pubblico e nome host.

2. Installazione del server principale

Accedi come root o esegui

su -

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

2.1 Configurare il nome host e gli host

Il nome host del tuo server dovrebbe essere un sottodominio come "panel.example.com". Non utilizzare un nome di dominio senza una parte di sottodominio come "example.com" come nome host poiché ciò causerà problemi in seguito con la configurazione della posta. Innanzitutto, dovresti controllare il nome host in /etc/hosts e modificarlo se necessario. La riga dovrebbe essere:"Indirizzo IP - spazio - nome host completo incl. dominio - spazio - parte del sottodominio". Per il nostro nome host panel.example.com, il file sarà simile al seguente (alcune righe potrebbero essere diverse, possono variare a seconda del provider di hosting):

nano /etc/hosts
127.0.0.1 localhost.localdomain localhost
# Questa riga deve essere modificata su ogni nodo con il nome server corretto:
127.0.1.1 panel.example.com panel
# Queste righe sono le lo stesso 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 auspicabili per IPv6 host capaci::1 localhost ip6-localhost ip6-loopbackff02::1 ip6-allnodesff02::2 ip6-allrouter

Come puoi vedere, abbiamo aggiunto anche i nomi host degli altri nostri server, in modo che possano comunicare sulla rete interna in un secondo momento.

Quindi modifica il file /etc/hostname:

nano /etc/nome host

Deve contenere solo la parte del sottodominio, nel nostro caso:

pannello

Infine, riavvia il server per applicare la modifica:

riavvio systemctl

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

nome host
nome host -f

L'output sarà così:

[email protetta]:~$ hostname
panel
[email protetta]:~$ hostname -f
panel.example.com

Ora possiamo eseguire l'autoinstaller per installare tutti i pacchetti necessari e ISPConfig:

wget -O - https://get.ispconfig.org | sh -s -- --no-mail --no-dns --use-php=system

Dopo un po' vedrai:

ATTENZIONE! Questo script riconfigura il tuo server completo!
Dovrebbe essere eseguito su un server appena installato e tutta la configurazione corrente che hai eseguito molto probabilmente andrà persa!
Digita 'yes' se vuoi davvero continuare:

Rispondi "sì" e premi invio. Il programma di installazione verrà avviato.

Al termine dell'installazione, ti mostrerà l'amministratore di ISPConfig e la password di root di MySQL in questo modo:

[INFO] La tua password di amministratore ISPConfig è:5GvfSSSYsdfdYC
[INFO] La tua password di root MySQL è:kkAkft82d!kafMwqxdtYs

Assicurati di annotare queste informazioni, insieme al server a cui sono destinate, poiché ti serviranno in seguito.

2.2 Configurazione degli utenti MySQL remoti per i nostri server slave

Accederemo a MySQL per consentire agli altri server di connettersi al database ISPConfig su questo nodo durante l'installazione, aggiungendo i record utente root MySQL nel database master per ogni nome host e indirizzo IP del server slave.

Sul terminale, esegui

mysql -u root -p

Inserisci la tua password MySQL ed esegui i seguenti comandi:

CREA UTENTE 'root'@'10.0.64.13' IDENTIFICATO DA 'myrootpassword';
CONCEDI TUTTI I PRIVILEGI SU * . * A 'root'@'10.0.64.13' IDENTIFICATO DA 'myrootpassword' CON L'OPZIONE GRANT MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 MAX_USER_CONNECTIONS 0;
CREA UTENTE 'root'@'10.0.64.14' IDENTIFICATO DA 'myrootpassword';
CONCEDI TUTTI I PRIVILEGI SU * . * A 'root'@'10.0.64.14' IDENTIFICATO DA 'myrootpassword' CON L'OPZIONE GRANT MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 MAX_USER_CONNECTIONS 0;
CREA UTENTE 'root'@'10.0.64.15' IDENTIFICATO DA 'myrootpassword';
CONCEDI TUTTI I PRIVILEGI SU * . * A 'root'@'10.0.64.15' IDENTIFICATO DA 'myrootpassword' CON L'OPZIONE GRANT MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 MAX_USER_CONNECTIONS 0;
CREA UTENTE 'root'@'10.0.64.16' IDENTIFICATO DA 'myrootpassword';
CONCEDI TUTTI I PRIVILEGI SU * . * A 'root'@'10.0.64.16' IDENTIFICATO DA 'myrootpassword' CON L'OPZIONE GRANT MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 MAX_USER_CONNECTIONS 0;
CREA UTENTE 'root'@'10.0.64.17' IDENTIFICATO DA 'myrootpassword';
CONCEDI TUTTI I PRIVILEGI SU * . * A 'root'@'10.0.64.17' IDENTIFICATO DA 'myrootpassword' CON L'OPZIONE GRANT MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 MAX_USER_CONNECTIONS 0;
CREA UTENTE 'root'@'10.0.64.18' IDENTIFICATO DA 'myrootpassword';
CONCEDI TUTTI I PRIVILEGI SU * . * A 'root'@'10.0.64.18' IDENTIFICATO DA 'myrootpassword' CON L'OPZIONE GRANT MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 MAX_USER_CONNECTIONS 0;
CREA UTENTE 'root'@'web01.example.com' IDENTIFICATO DA 'myrootpassword';
CONCEDI TUTTI I PRIVILEGI SU * . * A 'root'@'web01.example.com' IDENTIFICATO DA 'myrootpassword' CON L'OPZIONE GRANT MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 MAX_USER_CONNECTIONS 0;
CREA UTENTE 'root'@'mx1.example.com' IDENTIFICATO DA 'myrootpassword';
CONCEDI TUTTI I PRIVILEGI SU * . * A 'root'@'mx1.example.com' IDENTIFICATO DA 'myrootpassword' CON L'OPZIONE GRANT MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 MAX_USER_CONNECTIONS 0;
CREA UTENTE 'root'@'mx2.example.com' IDENTIFICATO DA 'myrootpassword';
CONCEDI TUTTI I PRIVILEGI SU * . * A 'root'@'mx2.example.com' IDENTIFICATO DA 'myrootpassword' CON L'OPZIONE GRANT MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 MAX_USER_CONNECTIONS 0;
CREA UTENTE 'root'@'ns1.example.com' IDENTIFICATO DA 'myrootpassword';
CONCEDI TUTTI I PRIVILEGI SU * . * A 'root'@'ns1.example.com' IDENTIFICATO DA 'myrootpassword' CON L'OPZIONE GRANT MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 MAX_USER_CONNECTIONS 0;
CREA UTENTE 'root'@'ns2.example.com' IDENTIFICATO DA 'myrootpassword';
CONCEDI TUTTI I PRIVILEGI SU * . * A 'root'@'ns2.example.com' IDENTIFICATO DA 'myrootpassword' CON L'OPZIONE GRANT MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 MAX_USER_CONNECTIONS 0;
CREA UTENTE 'root'@'webmail.example.com' IDENTIFICATO DA 'myrootpassword';
CONCEDI TUTTI I PRIVILEGI SU * . * A 'root'@'webmail.example.com' IDENTIFICATO DA 'myrootpassword' CON L'OPZIONE GRANT MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 MAX_USER_CONNECTIONS 0;

Nei comandi SQL precedenti, sostituisci gli indirizzi IP (10.0.64.12 - 10.0.64.18) con gli indirizzi IP dei tuoi server, web01.example.com, mx1.example.com, mx2.example.com, ns1.example.com , ns2.example.com e webmail.example.com con i nomi host dei tuoi server e myrootpassword con la password di root desiderata (è buona norma utilizzare una password diversa per ogni host. Annotali, poiché ti serviranno in seguito durante l'installazione o l'aggiornamento dei server slave).

Al termine, puoi uscire da MySQL con:

ESCI;

Ora puoi accedere a ISPConfig su https://panel.example.com:8080 con il nome utente admin e la password che il programma di installazione ti ha mostrato.

2.3 Configurazione del firewall

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

Accedi all'interfaccia utente di ISPConfig e vai su Sistema -> Firewall. Quindi fai clic su "Aggiungi nuovo record firewall".

Per il server del pannello, dobbiamo aprire le seguenti porte:

TCP:

22,80,443,8080,8081

Non è necessario aprire porte UDP tramite l'interfaccia utente.

Apriremo anche la porta 3306, utilizzata per MySQL, 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 è sparito):

ufw consente da 10.0.64.0/24 a qualsiasi porta 3306 proto tcp

Il tuo pannello è ora configurato e pronto per l'uso.

Nel passaggio successivo, installeremo il server web.


Ubuntu
  1. Installazione automatizzata di Perfect Server ISPConfig 3 su Debian 10 - 11 e Ubuntu 20.04

  2. Installazione automatizzata di Perfect Server ISPConfig 3 su Debian 10 - 11 e Ubuntu 20.04

  3. Come configurare il failover IP con KeepAlived su Ubuntu e Debian

  4. Come aggiornare un server Ubuntu 7.10 ("The Perfect Setup" + ISPConfig) a Ubuntu 8.04 LTS

  5. Come aggiornare un server Ubuntu 7.04 ("The Perfect Setup" + ISPConfig) a Ubuntu 7.10

Il server perfetto - Ubuntu 14.04 (nginx, BIND, MySQL, PHP, Postfix, Dovecot e ISPConfig 3)

Sostituzione di Amavisd con Rspamd in ISPConfig 3.1 su Debian e Ubuntu

Come installare e configurare RabbitMQ su Ubuntu 16.04

Come installare e configurare Apache Spark su Ubuntu 21.04

Installa e configura OwnCloud su Ubuntu 21 / Debian 11

Come installare e configurare Apache Spark su Ubuntu/Debian