Configurazione multiserver con Web, e-mail, DNS e MySQL dedicati Server di database su Debian Squeeze con ISPConfig 3
Questo tutorial descrive l'installazione di una configurazione multiserver ISPConfig 3 con web, e-mail, database e due server DNS dedicati, tutti gestiti tramite un unico pannello di controllo ISPConfig 3. La configurazione descritta di seguito utilizza cinque server e può essere estesa facilmente a un numero maggiore di server semplicemente aggiungendo più server. Per esempio. se si desidera avere due server di posta, eseguire i passaggi di configurazione dal capitolo 2 su entrambi questi server. Se desideri configurare più server Web, installa ISPConfig su tutti gli altri server Web in modalità esperto tranne il primo.
1 Installazione dei cinque sistemi di base Debian
In questa configurazione ci sarà un server master (che esegue il server web e l'interfaccia del pannello di controllo ISPConfig) e quattro server slave per database, e-mail e DNS.
Per installare la configurazione in cluster, abbiamo bisogno di cinque server (o server virtuali) con un'installazione minima di Debian 6.0. La configurazione di base è descritta nel seguente tutorial nei passaggi 1 - 6:
https://www.howtoforge.com/perfect-server-debian-squeeze-with-bind-and-dovecot-ispconfig-3
Installa solo i passaggi da 1 a 6 del tutorial del server perfetto e non gli altri passaggi poiché differiscono per una configurazione in cluster!
Nel mio esempio utilizzo i seguenti nomi host e indirizzi IP per i cinque server:
Server Web
Nome host:web.example.tld
Indirizzo IP:192.168.0.105
Server di posta
Nome host:mail.example.tld
Indirizzo IP:192.168.0.106
Server DB
Nome host:db.example.tld
Indirizzo IP:192.168.0.107
Server DNS (primario)
Nome host:ns1.example.tld
Indirizzo IP:192.168.0.108
Server DNS (secondario)
Nome host:ns2.example.tld
Indirizzo IP:192.168.0.109
Ovunque questi nomi host o indirizzi IP si presentino nelle fasi di installazione successive, dovrai cambiarli in modo che corrispondano agli IP e ai nomi host dei tuoi server.
2 Installazione del server Web
Modifica il file hosts e aggiungi gli indirizzi IP e i nomi host per tutti i server. I nomi host e gli indirizzi IP devono essere adattati in base alla configurazione.
vi /etc/hosts
127.0.0.1 localhost 192.168.0.105 web.example.tld 192.168.0.106 mail.example.tld 192.168.0.107 db.example.tld 192.168.0.108 ns1.example.tld 192.168.0.109 ns2.example.tld # The following lines are desirable for IPv6 capable hosts ::1 localhost ip6-localhost ip6-loopback fe00::0 ip6-localnet ff00::0 ip6-mcastprefix ff02::1 ip6-allnodes ff02::2 ip6-allrouters ff02::3 ip6-allhosts
Imposta il nome host del server:
echo web.example.tld> /etc/hostname
/etc/init.d/hostname.sh start
Corri...
apt-get update
... per aggiornare il database del pacchetto apt; quindi corri...
apt-get upgrade
... per installare gli ultimi aggiornamenti (se presenti).
È una buona idea sincronizzare l'orologio di sistema con un NTP (n rete t ora p rotocol) server su Internet. Corri semplicemente...
apt-get -y install ntp ntpdate
... e l'ora del tuo sistema sarà sempre sincronizzata.
Installa il server MySQL. Un'istanza del server MySQL è necessaria su ogni server poiché ISPConfig la utilizza per sincronizzare la configurazione tra i server.
apt-get -y install mysql-client mysql-server
Immettere la nuova password per MySQL quando richiesto dall'installatore.
Vogliamo che MySQL sia in ascolto su tutte le interfacce sul server master, non solo su localhost, quindi modifichiamo /etc/mysql/my.cnf e commentiamo la riga bind-address =127.0.0.1:
vi /etc/mysql/my.cnf
[...] # Instead of skip-networking the default is now to listen only on # localhost which is more compatible and is not less secure. #bind-address = 127.0.0.1 [...]
Quindi riavvia MySQL:
/etc/init.d/mysql restart
Ora installa Apache2, PHP5, phpMyAdmin, FCGI, suExec, Pear e mcrypt come segue:
apt-get -y install apache2 apache2.2-common apache2-doc apache2-mpm-prefork apache2-utils libexpat1 ssl-cert libapache2-mod-php5 php5 php5-common php5-curl php5-gd php5-mysql php5-imap phpmyadmin php5-cli php5-cgi libapache2-mod-fcgid apache2-suexec php-pear php-auth php5-mcrypt mcrypt php5-imagick imagemagick libapache2-mod-suphp libruby libapache2-mod-ruby libapache2-mod-perl2 sudo zip wget
Vedrai la seguente domanda:
Server Web da riconfigurare automaticamente:<-- apache2
Quindi esegui il comando seguente per abilitare i moduli Apache suexec, rewrite, ssl, actions e include:
a2enmod suexec rewrite ssl actions include ruby dav_fs dav auth_digest
PureFTPd e quota possono essere installati con il seguente comando:
apt-get -y install pure-ftpd-common pure-ftpd-mysql quota quotatool
Modifica il file /etc/default/pure-ftpd-common...
vi /etc/default/pure-ftpd-common
... e assicurati che virtualchroot sia impostato VIRTUALCHROOT=true:
[...] VIRTUALCHROOT=true [...] |
Ora configuriamo PureFTPd per consentire sessioni FTP e TLS. FTP è un protocollo molto insicuro perché tutte le password e tutti i dati vengono trasferiti in chiaro. Utilizzando TLS, l'intera comunicazione può essere crittografata, rendendo così l'FTP molto più sicuro.
Se vuoi consentire sessioni FTP e TLS, esegui
echo 1 > /etc/pure-ftpd/conf/TLS
Per utilizzare TLS, dobbiamo creare un certificato SSL. Lo creo in /etc/ssl/private/, quindi creo prima quella directory:
mkdir -p /etc/ssl/private/
Successivamente, possiamo generare il certificato SSL come segue:
openssl req -x509 -nodes -days 7300 -newkey rsa:2048 -keyout /etc/ssl/private/pure-ftpd.pem -out /etc/ssl/private/pure-ftpd.pem
Nome del Paese (codice di 2 lettere) [AU]:<-- Inserisci il nome del tuo Paese (ad es. "DE").
Nome Stato o Provincia (nome completo) [Stato-Stato]:<-- Inserisci il tuo Stato o nome della provincia.
Nome località (ad es. città) []:<-- Inserisci la tua città.
Nome organizzazione (ad es. azienda) [Internet Widgits Pty Ltd]:<-- Inserisci il nome dell'organizzazione (ad es. il nome della tua azienda).
Nome dell'unità organizzativa (ad es. sezione) []:<-- Inserisci il nome dell'unità organizzativa (ad es. "Dipartimento IT").
Nome comune (ad es. IL TUO nome) []:<-- Inserisci il nome di dominio completo del sistema (ad es. "server1.example.com").
Indirizzo e-mail []:<-- Inserisci il tuo indirizzo e-mail.
Modifica le autorizzazioni del certificato SSL:
chmod 600 /etc/ssl/private/pure-ftpd.pem
Quindi riavvia PureFTPd:
/etc/init.d/pure-ftpd-mysql restart
Modifica /etc/fstab. Il mio è simile a questo (ho aggiunto ,usrjquota=aquota.user,grpjquota=aquota.group,jqfmt=vfsv0 alla partizione con il punto di montaggio /):
vi /etc/fstab
# /etc/fstab: static file system information. # # Use 'blkid' to print the universally unique identifier for a # device; this may be used with UUID= as a more robust way to name devices # that works even if disks are added and removed. See fstab(5). # # <file system> <mount point> <type> <options> <dump> <pass> proc /proc proc defaults 0 0 # / was on /dev/sda1 during installation UUID=92bceda2-5ae4-4e3a-8748-b14da48fb297 / ext3 errors=remount-ro,usrjquota=aquota.user,grpjquota=aquota.group,jqfmt=vfsv0 0 1 # swap was on /dev/sda5 during installation UUID=e24b3e9e-095c-4b49-af27-6363a4b7d094 none swap sw 0 0 /dev/scd0 /media/cdrom0 udf,iso9660 user,noauto 0 0 /dev/fd0 /media/floppy0 auto rw,user,noauto 0 0 |
Per abilitare la quota, esegui questi comandi:
mount -o remount /
quotacheck -avugm
quotaon -avug
Installa vlogger, webalizer e awstats:
apt-get -y install vlogger webalizer awstats
Apri /etc/cron.d/awstats in seguito...
vi /etc/cron.d/awstats
... e commenta entrambi i lavori cron in quel file:
#*/10 * * * * www-data [ -x /usr/share/awstats/tools/update.sh ] && /usr/share/awstats/tools/update.sh # Generate static reports: #10 03 * * * www-data [ -x /usr/share/awstats/tools/buildstatic.sh ] && /usr/share/awstats/tools/buildstatic.sh |
Installa Jailkit:Jailkit è necessario solo se vuoi eseguire il chroot degli utenti SSH. Può essere installato come segue (importante:Jailkit deve essere installato prima di ISPConfig - non può essere installato in seguito!):
apt-get -y install build-essential autoconf automake1.9 libtool flex bison debhelper
cd /tmp
wget http://olivier.sessink.nl/jailkit/jailkit-2.14.tar.gz
tar xvfz jailkit-2.14.tar.gz
cd jailkit-2.14
./debian/rules binary
cd ..
dpkg -i jailkit_2.14-1_*.deb
rm -rf jailkit-2.14*
Installa fail2ban:questo è facoltativo ma consigliato, perché il monitor ISPConfig tenta di mostrare il registro:
apt-get install fail2ban
Per fare in modo che fail2ban controlli PureFTPd, crea il file /etc/fail2ban/jail.local:
vi /etc/fail2ban/jail.local
[pureftpd] enabled = true port = ftp filter = pureftpd logpath = /var/log/syslog maxretry = 3 |
Quindi crea il seguente file di filtro:
vi /etc/fail2ban/filter.d/pureftpd.conf
[Definition] failregex = .*pure-ftpd: \(.*@<HOST>\) \[WARNING\] Authentication failed for user.* ignoreregex = |
Riavvia fail2ban in seguito:
/etc/init.d/fail2ban restart
Successivamente installeremo ISPConfig 3. Per ottenere l'URL di download dell'ultima versione stabile di ISPConfig 3, visitare il sito Web ISPConfig:http://www.ispconfig.org/ispconfig-3/download/
Questo server è il server master nella nostra configurazione che esegue l'interfaccia del pannello di controllo ISPConfig. Per consentire alle altre istanze MySQL di connettersi al database MySQL su questo nodo durante l'installazione, dobbiamo aggiungere i record utente root MySQL nel database master per ogni nome host e indirizzo IP del server slave. Il modo più semplice per farlo è utilizzare lo strumento di amministrazione phpmyadmin basato sul Web che abbiamo già installato. Apri l'URL http://192.168.0.105/phpmyadmin in un browser web, accedi come utente root MySQL ed esegui queste query MySQL:
CREATE USER 'root'@'192.168.0.106' IDENTIFICATO DA 'myrootpassword';
CONCEDERE TUTTI I PRIVILEGI SU * . * A 'root'@'192.168.0.106' 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;
CREATE USER 'root'@'192.168.0.107' IDENTIFICATO DA 'myrootpassword';
CONCEDERE TUTTI I PRIVILEGI SU * . * A 'root'@'192.168.0.107' 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;
CREATE USER 'root'@'192.168.0.108' IDENTIFICATO DA 'myrootpassword';
CONCEDERE TUTTI I PRIVILEGI SU * . * A 'root'@'192.168.0.108' 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;
CREATE USER 'root'@'192.168.0.109' IDENTIFICATO DA 'myrootpassword';
CONCEDERE TUTTI I PRIVILEGI SU * . * A 'root'@'192.168.0.109' 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'@'mail.example.tld' IDENTIFICATO DA 'myrootpassword';
CONCEDI TUTTI I PRIVILEGI SU * . * A 'root'@'mail.example.tld' 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'@'db.example.tld' IDENTIFICATO DA 'myrootpassword';
CONCEDI TUTTI I PRIVILEGI SU * . * A 'root'@'db.example.tld' 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;
CREATE USER 'root'@'ns1.example.tld' IDENTIFICATO DA 'myrootpassword';
CONCEDERE TUTTI I PRIVILEGI SU * . * A 'root'@'ns1.example.tld' 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;
CREATE USER 'root'@'ns2.example.tld' IDENTIFICATO DA 'myrootpassword';
CONCEDERE TUTTI I PRIVILEGI SU * . * A 'root'@'ns2.example.tld' 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 (192.168.0.106 - 192.168.0.109) con gli indirizzi IP dei tuoi server e sostituisci mail.example.tld, db.example.tld, ns1.example.tld e ns2.example. tld con i nomi host dei tuoi server e myrootpassword con la password di root desiderata.
Fare clic sul pulsante delle autorizzazioni di ricarica o riavviare MySQL. Quindi chiudi phpmyadmin.
Torna alla shell di server1.example.tld e scarica l'ultima versione stabile di ISPConfig 3:
cd /tmp
wgethttp://www.ispconfig.org/downloads/ISPConfig-3-stable.tar.gz
tar xfz ISPConfig-3-stable.tar.gz
cd ispconfig3_install/ installa/
Quindi avvia lo script di installazione:
php -q install.php
Selezionare la lingua (en,de) [en]:<-- en
Modalità di installazione (standard,expert) [standard]:<-- expert
Nome host completo (FQDN) del server, ad es. server2 .domain.tld [web.example.tld]:<-- web.example.tld
nome host del server MySQL [localhost]:<-- localhost
nome utente radice MySQL [root]:<-- root
Password root MySQL []:<-- Inserisci qui la tua password root MySQL
Database MySQL per creare [dbispconfig]:<-- dbispconfig
MySQL charset [utf8]:<-- utf8
Deve questo server unirsi a una configurazione multiserver ISPConfig esistente (y,n) [n]:<-- n
Configura Mail (y,n) [y]:<-- n
Configura Jailkit (y,n) [y]:<-- y
Configura server FTP (y,n) [y]:<-- y
Configura server DNS (y,n) [y]:<-- n
Configura server Apache (y,n) [y]:<-- y
Configura server firewall (y,n) [y]:<--y
Installa ISPConfig Web -Interface (y,n) [y]:<--y
ISPConfig Port [8080]:<-- 8080
Abilita SSL per l'interfaccia web ISPConfig (y,n) [y]:<-- y
Nome del Paese (2 lett r code) [AU]:<-- ENTER
Nome Stato o Provincia (nome completo) [Stato-Stato]:<-- ENTER
Nome località (es. città) []:<-- INVIO
Nome dell'organizzazione (ad esempio, società) [Internet Widgits Pty Ltd]:<-- INVIO
Nome dell'unità organizzativa (ad esempio, sezione) []:<-- INVIO
Nome comune (ad esempio , IL TUO nome) []:<-- INVIO
Indirizzo e-mail []:<-- INVIO
Una password di verifica []:<-- INVIO
Un nome di società opzionale []:<-- ENTRA
Pulisci le directory di installazione:
cd /tmp
rm -rf /tmp/ispconfig3_install/install
rm -f /tmp/ISPConfig-3-stable.tar.gz
Configurazione multiserver con server di database Web, e-mail, DNS e MySQL dedicati su Debian Squeeze con ISPConfig 3 - Pagina 2
7 Regola le impostazioni del server in ISPConfig
Accedi a ISPConfig sul server master con un browser web:
http://192.168.0.105:8080
Fare clic su Sistema> Servizi server> web.example.tld e disabilitare tutte le caselle di controllo tranne la casella di controllo Server Web e Fileserver e fare clic su Salva.
Fare clic su Sistema> Servizi server> mail.example.tld e disabilitare tutte le caselle di controllo tranne quella del server di posta e fare clic su Salva.
Fare clic su Sistema> Servizi server> db.example.tld e disabilitare tutte le caselle di controllo tranne la casella di controllo DB-Server e fare clic su Salva.
Fare clic su Sistema> Servizi server> ns1.example.tld e disabilitare tutte le caselle di controllo tranne quella del server DNS e fare clic su Salva.
Fare clic su Sistema> Servizi server> ns2.example.tld e disabilitare tutte le caselle di controllo tranne quella del server DNS e selezionare ns1.example.com nella casella di selezione È mirror del server e fare clic su Salva.
8 link
- Sito web ISPConfig http://www.ispconfig.org/
- Forum ISPConfig:https://www.howtoforge.com/forums/
- ISPConfig Bugtracker:http://bugtracker.ispconfig.org/
Configurazione multiserver con server di database Web, e-mail, DNS e MySQL dedicati su Debian Squeeze con ISPConfig 3 - Pagina 3
6 Installazione del server DNS secondario
Modifica il file hosts e aggiungi gli indirizzi IP e i nomi host per tutti i server. I nomi host e gli indirizzi IP devono essere adattati in base alla configurazione.
vi /etc/hosts
127.0.0.1 localhost 192.168.0.105 web.example.tld 192.168.0.106 mail.example.tld 192.168.0.107 db.example.tld 192.168.0.108 ns1.example.tld 192.168.0.109 ns2.example.tld # The following lines are desirable for IPv6 capable hosts ::1 localhost ip6-localhost ip6-loopback fe00::0 ip6-localnet ff00::0 ip6-mcastprefix ff02::1 ip6-allnodes ff02::2 ip6-allrouters ff02::3 ip6-allhosts
Imposta il nome host del server:
echo ns2.example.tld> /etc/hostname
/etc/init.d/hostname.sh start
Corri...
apt-get update
... per aggiornare il database del pacchetto apt; quindi corri...
apt-get upgrade
... per installare gli ultimi aggiornamenti (se presenti).
È una buona idea sincronizzare l'orologio di sistema con un NTP (n rete t ora p rotocol) server su Internet. Corri semplicemente...
apt-get -y install ntp ntpdate
... e l'ora del tuo sistema sarà sempre sincronizzata.
Installa client e server MySQL:
apt-get -y install mysql-client mysql-server
Immettere la nuova password per MySQL quando richiesto dall'installatore.
Quindi installa installa la versione a riga di comando di PHP per essere in grado di eseguire script di shell basati su PHP per ISPConfig:
apt-get -y install php5-cli php5-mysql php5-mcrypt mcrypt
Installa fail2ban:questo è facoltativo ma consigliato, perché il monitor ISPConfig tenta di mostrare il registro:
apt-get install fail2ban
Installa il server DNS BIND:
apt-get -y install bind9 dnsutils
Quindi installa ISPConfig 3 sul server DNS. Per ottenere l'URL di download dell'ultima versione stabile di ISPConfig 3, visitare il sito Web di ISPConfig:http://www.ispconfig.org/ispconfig-3/download/
Scarica l'ultima versione stabile di ISPConfig 3:
cd /tmp
wgethttp://www.ispconfig.org/downloads/ISPConfig-3-stable.tar.gz
tar xfz ISPConfig-3-stable.tar.gz
cd ispconfig3_install/ installa/
Quindi avvia lo script di installazione:
php -q install.php
Selezionare la lingua (en,de) [en]:<-- en
Modalità di installazione (standard,expert) [standard]:<-- expert
Nome host completo (FQDN) del server, ad es. server2 .domain.tld [ns2.example.tld]:<-- ns2.example.tld
nome host del server MySQL [localhost]:<-- localhost
nome utente radice MySQL [root]:<-- root
Password root MySQL []:<-- Inserisci qui la tua password root MySQL
Database MySQL per creare [dbispconfig]:<-- dbispconfig
MySQL charset [utf8]:<-- utf8
Deve questo server unirsi a una configurazione multiserver ISPConfig esistente (y,n) [n]:<-- y
Nome host del server principale MySQL []:<-- web.example.tld
Master MySQL nome utente root del server [root]:<-- root
Password root del server master MySQL []:<-- Immettere qui la password di root del server master
Nome database del server master MySQL [dbispconfig]:<- - dbispconfig
Configura posta (y,n) [y]:<-- n
Configura Jailkit (y,n) [y]:<-- n
Configura server FTP (y, n) [y]:<-- n
Configura server DNS (y,n) [y]:<-- y
Configura server Apache (y,n) [y]:<-- n
Configura server firewall (y,n) [y]:<--y
Installa ISPConfig Interfaccia Web (y,n) [y]:<--n
Corri...
rm -f /var/www/ispconfig
... per rimuovere il collegamento dell'interfaccia ISPConfig nella directory /var/www.
Pulisci le directory di installazione:
rm -rf /tmp/ispconfig3_install/install
rm -f /tmp/ISPConfig-3-stable.tar.gz
Configurazione multiserver con server di database Web, e-mail, DNS e MySQL dedicati su Debian Squeeze con ISPConfig 3 - Pagina 4
5 Installazione del server DNS primario
Modifica il file hosts e aggiungi gli indirizzi IP e i nomi host per tutti i server. I nomi host e gli indirizzi IP devono essere adattati in base alla configurazione.
vi /etc/hosts
127.0.0.1 localhost 192.168.0.105 web.example.tld 192.168.0.106 mail.example.tld 192.168.0.107 db.example.tld 192.168.0.108 ns1.example.tld 192.168.0.109 ns2.example.tld # The following lines are desirable for IPv6 capable hosts ::1 localhost ip6-localhost ip6-loopback fe00::0 ip6-localnet ff00::0 ip6-mcastprefix ff02::1 ip6-allnodes ff02::2 ip6-allrouters ff02::3 ip6-allhosts
Imposta il nome host del server:
echo ns1.example.tld> /etc/hostname
/etc/init.d/hostname.sh start
Corri...
apt-get update
... per aggiornare il database del pacchetto apt; quindi corri...
apt-get upgrade
... per installare gli ultimi aggiornamenti (se presenti).
È una buona idea sincronizzare l'orologio di sistema con un NTP (n rete t ora p rotocol) server su Internet. Corri semplicemente...
apt-get -y install ntp ntpdate
... e l'ora del tuo sistema sarà sempre sincronizzata.
Installa client e server MySQL:
apt-get -y install mysql-client mysql-server
Immettere la nuova password per MySQL quando richiesto dall'installatore.
Quindi installa installa la versione a riga di comando di PHP per essere in grado di eseguire script di shell basati su PHP per ISPConfig:
apt-get -y install php5-cli php5-mysql php5-mcrypt mcrypt
Installa fail2ban:questo è facoltativo ma consigliato, perché il monitor ISPConfig tenta di mostrare il registro:
apt-get install fail2ban
Installa il server DNS BIND:
apt-get -y install bind9 dnsutils
Quindi installa ISPConfig 3 sul server DNS. Per ottenere l'URL di download dell'ultima versione stabile di ISPConfig 3, visitare il sito Web di ISPConfig:http://www.ispconfig.org/ispconfig-3/download/
Scarica l'ultima versione stabile di ISPConfig 3:
cd /tmp
wgethttp://www.ispconfig.org/downloads/ISPConfig-3-stable.tar.gz
tar xfz ISPConfig-3-stable.tar.gz
cd ispconfig3_install/ installa/
Quindi avvia lo script di installazione:
php -q install.php
Selezionare la lingua (en,de) [en]:<-- en
Modalità di installazione (standard,expert) [standard]:<-- expert
Nome host completo (FQDN) del server, ad es. server2 .domain.tld [ns1.example.tld]:<-- ns1.example.tld
nome host del server MySQL [localhost]:<-- localhost
nome utente radice MySQL [root]:<-- root
Password root MySQL []:<-- Inserisci qui la tua password root MySQL
Database MySQL per creare [dbispconfig]:<-- dbispconfig
MySQL charset [utf8]:<-- utf8
Deve questo server unirsi a una configurazione multiserver ISPConfig esistente (y,n) [n]:<-- y
Nome host del server principale MySQL []:<-- web.example.tld
Master MySQL nome utente root del server [root]:<-- root
Password root del server master MySQL []:<-- Immettere qui la password di root del server master
Nome database del server master MySQL [dbispconfig]:<- - dbispconfig
Configura posta (y,n) [y]:<-- n
Configura Jailkit (y,n) [y]:<-- n
Configura server FTP (y, n) [y]:<-- n
Configura server DNS (y,n) [y]:<-- y
Configura server Apache (y,n) [y]:<-- n
Configura server firewall (y,n) [y]:<--y
Installa ISPConfig Interfaccia Web (y,n) [y]:<--n
Corri...
rm -f /var/www/ispconfig
... per rimuovere il collegamento dell'interfaccia ISPConfig nella directory /var/www.
Pulisci le directory di installazione:
rm -rf /tmp/ispconfig3_install/install
rm -f /tmp/ISPConfig-3-stable.tar.gz
Configurazione multiserver con server di database Web, e-mail, DNS e MySQL dedicati su Debian Squeeze con ISPConfig 3 - Pagina 5
4 Installazione del server di database MySQL
Modifica il file hosts e aggiungi gli indirizzi IP e i nomi host per tutti i server. I nomi host e gli indirizzi IP devono essere adattati in base alla configurazione.
vi /etc/hosts
127.0.0.1 localhost 192.168.0.105 web.example.tld 192.168.0.106 mail.example.tld 192.168.0.107 db.example.tld 192.168.0.108 ns1.example.tld 192.168.0.109 ns2.example.tld # The following lines are desirable for IPv6 capable hosts ::1 localhost ip6-localhost ip6-loopback fe00::0 ip6-localnet ff00::0 ip6-mcastprefix ff02::1 ip6-allnodes ff02::2 ip6-allrouters ff02::3 ip6-allhosts
Imposta il nome host del server:
echo db.example.tld> /etc/hostname
/etc/init.d/hostname.sh start
Corri...
apt-get update
... per aggiornare il database del pacchetto apt; quindi corri...
apt-get upgrade
... per installare gli ultimi aggiornamenti (se presenti).
È una buona idea sincronizzare l'orologio di sistema con un NTP (n rete t ora p rotocol) server su Internet. Corri semplicemente...
apt-get -y install ntp ntpdate
... e l'ora del tuo sistema sarà sempre sincronizzata.
Installa client e server MySQL:
apt-get -y install mysql-client mysql-server
Immettere la nuova password per MySQL quando richiesto dall'installatore.
Vogliamo che MySQL ascolti su tutte le interfacce, non solo su localhost, quindi modifichiamo /etc/mysql/my.cnf e commentiamo la riga bind-address =127.0.0.1:
vi /etc/mysql/my.cnf
[...] # Instead of skip-networking the default is now to listen only on # localhost which is more compatible and is not less secure. #bind-address = 127.0.0.1 [...]
Quindi riavvia MySQL:
/etc/init.d/mysql restart
Quindi installa installa la versione a riga di comando di PHP per essere in grado di eseguire script di shell basati su PHP per ISPConfig:
apt-get -y install php5-cli php5-mysql php5-mcrypt mcrypt
Installa fail2ban:questo è facoltativo ma consigliato, perché il monitor ISPConfig tenta di mostrare il registro:
apt-get install fail2ban
Quindi installa ISPConfig 3 su questo server. Per ottenere l'URL di download dell'ultima versione stabile di ISPConfig 3, visitare il sito Web di ISPConfig:http://www.ispconfig.org/ispconfig-3/download/
Scarica l'ultima versione stabile di ISPConfig 3:
cd /tmp
wgethttp://www.ispconfig.org/downloads/ISPConfig-3-stable.tar.gz
tar xfz ISPConfig-3-stable.tar.gz
cd ispconfig3_install/ installa/
Quindi avvia lo script di installazione:
php -q install.php
Seleziona la lingua (en,de) [en]:<-- en
Modalità di installazione (standard,expert) [standard]:<-- expert
Nome host completo (FQDN) del server, ad es. server1 .domain.tld [db.example.tld]:<-- db.example.tld
nome host del server MySQL [localhost]:<-- localhost
nome utente radice MySQL [root]:<-- root
Password root MySQL []:<-- Inserisci qui la tua password root MySQL
Database MySQL per creare [dbispconfig]:<-- dbispconfig
MySQL charset [utf8]:<-- utf8
Deve questo server unirsi a una configurazione multiserver ISPConfig esistente (y,n) [n]:<-- y
Nome host del server principale MySQL []:<-- web.example.tld
Master MySQL nome utente root del server [root]:<-- root
Password root del server master MySQL []:<-- Immettere qui la password di root del server master
Nome database del server master MySQL [dbispconfig]:<- - dbispconfig
Configura posta (y,n) [y]:<-- n
Configura Jailkit (y,n) [y]:<-- n
Configura server FTP (y, n) [y]:<-- n
Configura server DNS (y,n) [y]:<-- n
Configura server Apache (y,n) [y]:<-- n
Configura server firewall (y,n) [y]:<--y
Installa ISPConfig Web -Interfaccia (y,n) [y]:<--n
Corri...
rm -f /var/www/ispconfig
... per rimuovere il collegamento dell'interfaccia ISPConfig nella directory /var/www.
Pulisci le directory di installazione:
rm -rf /tmp/ispconfig3_install/install
rm -f /tmp/ISPConfig-3-stable.tar.gz
Configurazione multiserver con server di database Web, e-mail, DNS e MySQL dedicati su Debian Squeeze con ISPConfig 3 - Pagina 6
3 Installazione del server di posta
Modifica il file hosts e aggiungi gli indirizzi IP e i nomi host per tutti i server. I nomi host e gli indirizzi IP devono essere adattati in base alla configurazione.
vi /etc/hosts
127.0.0.1 localhost 192.168.0.105 web.example.tld 192.168.0.106 mail.example.tld 192.168.0.107 db.example.tld 192.168.0.108 ns1.example.tld 192.168.0.109 ns2.example.tld # The following lines are desirable for IPv6 capable hosts ::1 localhost ip6-localhost ip6-loopback fe00::0 ip6-localnet ff00::0 ip6-mcastprefix ff02::1 ip6-allnodes ff02::2 ip6-allrouters ff02::3 ip6-allhosts
Imposta il nome host del server:
echo mail.example.tld> /etc/hostname
echo mail.example.tld> /etc/mailname
/etc/init.d/hostname.sh start
Corri...
apt-get update
... per aggiornare il database del pacchetto apt; quindi corri...
apt-get upgrade
... per installare gli ultimi aggiornamenti (se presenti).
È una buona idea sincronizzare l'orologio di sistema con un NTP (n rete t ora p rotocol) server su Internet. Corri semplicemente...
apt-get -y install ntp ntpdate
... e l'ora del tuo sistema sarà sempre sincronizzata.
Installa postfix, dovecot e MySQL con un solo comando:
apt-get -y install postfix postfix-mysql postfix-doc mysql-client mysql-server openssl getmail4 rkhunter binutils dovecot-imapd dovecot-pop3d
Inserisci la nuova password per mysql quando richiesto dall'installatore e rispondi alle domande successive come descritto di seguito:
Tipo di configurazione generale? <-- Sito Internet
Nome e-mail? <-- mail.miodominio.tld
Per installare amavisd-new, SpamAssassin e ClamAV, eseguiamo:
apt-get -y install amavisd-new spamassassin clamav clamav-daemon zoo unzip bzip2 arj nomarch lzop cabextract apt-listchanges libnet-ldap-perl libauthen-sasl-perl clamav-docs daemon libio-string-perl libio-socket-ssl-perl libnet-ident-perl zip libnet-dns-perl
Se vuoi usare le mailinglist sul tuo server, installa mailman. Questo passaggio è facoltativo. mailman richiede un server web apache, quindi se non vuoi eseguire un'istanza apache sul tuo server di posta, non installare mailman.
apt-get -y install mailman
Il programma di installazione apt per mailman ti chiederà quindi di selezionare le lingue per la mailing list. Abilita tutte le lingue che desideri utilizzare per mailman. Quindi crea la mailing list "postino".
newlist mailman
e inserisci l'indirizzo email e la nuova password per l'amministratore della mailinglist. Questo è l'ultimo passaggio dell'installazione di mailman. Il prossimo comando per installare php deve essere eseguito su ogni server, indipendentemente dal fatto che tu abbia installato o meno mailman.
Quindi installa installa la versione a riga di comando di PHP per essere in grado di eseguire script di shell basati su PHP per ISPConfig:
apt-get -y install php5-cli php5-mysql php5-mcrypt mcrypt
Installa fail2ban:questo è facoltativo ma consigliato, perché il monitor ISPConfig tenta di mostrare il registro:
apt-get install fail2ban
Per fare in modo che fail2ban controlli PureFTPd e Dovecot, crea il file /etc/fail2ban/jail.local:
vi /etc/fail2ban/jail.local
[dovecot-pop3imap] enabled = true filter = dovecot-pop3imap action = iptables-multiport[name=dovecot-pop3imap, port="pop3,pop3s,imap,imaps", protocol=tcp] logpath = /var/log/mail.log maxretry = 5 |
Quindi crea il seguente file di filtro:
vi /etc/fail2ban/filter.d/dovecot-pop3imap.conf
[Definition] failregex = (?: pop3-login|imap-login): .*(?:Authentication failure|Aborted login \(auth failed|Aborted login \(tried to use disabled|Disconnected \(auth failed|Aborted login \(\d+ authentication attempts).*rip=(?P<host>\S*),.* ignoreregex = |
Riavvia fail2ban in seguito:
/etc/init.d/fail2ban restart
Ora installerò ISPConfig 3 su questo server. Per ottenere l'URL di download dell'ultima versione stabile di ISPConfig 3, visitare il sito Web di ISPConfig:http://www.ispconfig.org/ispconfig-3/download/
Scarica l'ultima versione stabile di ISPConfig 3:
cd /tmp
wgethttp://www.ispconfig.org/downloads/ISPConfig-3-stable.tar.gz
tar xfz ISPConfig-3-stable.tar.gz
cd ispconfig3_install/ installa/
Quindi avvia lo script di installazione:
php -q install.php
Seleziona la lingua (en,de) [en]:<-- en
Modalità di installazione (standard,expert) [standard]:<-- expert
Nome host completo (FQDN) del server, ad es. server1 .domain.tld [mail.example.tld]:<-- mail.example.tld
nome host del server MySQL [localhost]:<-- localhost
nome utente radice MySQL [root]:<-- root
Password root MySQL []:<-- Inserisci qui la tua password root MySQL
Database MySQL per creare [dbispconfig]:<-- dbispconfig
MySQL charset [utf8]:<-- utf8
Deve questo server unirsi a una configurazione multiserver ISPConfig esistente (y,n) [n]:<-- y
Nome host del server principale MySQL []:<-- web.example.tld
Master MySQL nome utente root del server [root]:<-- root
Password root del server master MySQL []:<-- Immettere qui la password di root del server master
Nome database del server master MySQL [dbispconfig]:<- - dbispconfig
Configura posta (y,n) [y]:<-- y
Nome del paese (codice di 2 lettere) [AU]:<-- DE (Inserisci il codice ISO del paese in cui vivi qui)
Nome dello stato o della provincia (nome completo) [Stato-Stato]:<-- Niedersachsen (Inserisci lo stato in cui vivi qui)
Nome località (ad es. città) []:<-- Lueneburg (inserisci qui la città)
Nome organizzazione (ad es. azienda) [Internet Widgits Pty Ltd]:<-- INVIO
Nome dell'unità organizzativa (ad es. sezione) []:<-- INVIO
Nome comune (ad es. il TUO nome) []:<-- INVIO
Indirizzo e-mail []:<-- ENTRA
Configura Jailkit (y,n) [y]:<-- n
Configura server FTP (y,n) [y]:<-- n
Configura server DNS (y,n) [y] :<-- n
Configura server Apache (y,n) [y]:<-- n
Configura server firewall (y,n) [y]:<--y
Installa Interfaccia Web ISPConfig (y,n) [y]:<--n
Corri...
rm -f /var/www/ispconfig
... per rimuovere il collegamento dell'interfaccia ISPConfig nella directory /var/www.
Pulisci le directory di installazione:
rm -rf /tmp/ispconfig3_install/install
rm -f /tmp/ISPConfig-3-stable.tar.gz