Questo tutorial esiste per queste versioni del sistema operativo
- Ubuntu 20.04 (Fossa Focale)
- Ubuntu 18.04 (castoro bionico)
- Ubuntu 17.10 (Artful Aardvark)
- Ubuntu 17.04 (Zesty Zapus)
- Ubuntu 16.10 (Yakkety Yak)
- Ubuntu 16.04 (Xenial Xerus)
In questa pagina
- Manuale ISPConfig 3
Questo tutorial mostra l'installazione di un server di hosting Web Ubuntu 15.10 (Wily Werewolf) con Apache2, Postfix, Dovecot, Bind e PureFTPD per prepararlo all'installazione di ISPConfig 3. Il sistema risultante fornirà un Web, Mail, Mailinglist, DNS e Server FTP.
ISPConfig 3 è un pannello di controllo di web hosting che permette di configurare i seguenti servizi attraverso un browser web:server web Apache o nginx, server di posta Postfix, server Courier o Dovecot IMAP/POP3, server dei nomi MySQL, BIND o MyDNS, PureFTPd, SpamAssassin, ClamAV e molti altri. Questa configurazione copre l'installazione di Apache (anziché Nginx), BIND (anziché MyDNS) e Dovecot (anziché Courier).
Manuale ISPConfig 3
Per imparare a usare ISPConfig 3, consiglio vivamente di scaricare il Manuale di ISPConfig 3.
Su 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 dei moduli in ISPConfig insieme a esempi di input validi e fornisce tutorial per le attività più comuni in ISPConfig 3. Descrive anche come rendere più sicuro il tuo server e include una sezione per la risoluzione dei problemi alla fine.
1. Nota preliminare
In questo tutorial utilizzo l'hostname server1.example.com con l'indirizzo IP 192.168.1.100 e il gateway 192.168.1.1 . Queste impostazioni potrebbero differire per te, quindi devi sostituirle dove appropriato. Prima di procedere oltre è necessario disporre di un'installazione minima di base di Ubuntu 15.10 come spiegato nel tutorial.
2. Modifica /etc/apt/sources.list e aggiorna la tua installazione Linux
Modifica /etc/apt/sources.list. Commenta o rimuovi il CD di installazione dal file e assicurati che i repository Universe e Multiverse siano abilitati. In seguito dovrebbe apparire così:
nano /etc/apt/sources.list
#
# deb cdrom:[Ubuntu-Server 15.10 _Wily Werewolf_ - Release amd64 (20151021)]/ wily main restricted
#deb cdrom:[Ubuntu-Server 15.10 _Wily Werewolf_ - Release amd64 (20151021)]/ wily main restricted
# See http://help.ubuntu.com/community/UpgradeNotes for how to upgrade to
# newer versions of the distribution.
deb http://de.archive.ubuntu.com/ubuntu/ wily main restricted
deb-src http://de.archive.ubuntu.com/ubuntu/ wily main restricted
## Major bug fix updates produced after the final release of the
## distribution.
deb http://de.archive.ubuntu.com/ubuntu/ wily-updates main restricted
deb-src http://de.archive.ubuntu.com/ubuntu/ wily-updates main restricted
## N.B. software from this repository is ENTIRELY UNSUPPORTED by the Ubuntu
## team. Also, please note that software in universe WILL NOT receive any
## review or updates from the Ubuntu security team.
deb http://de.archive.ubuntu.com/ubuntu/ wily universe
deb-src http://de.archive.ubuntu.com/ubuntu/ wily universe
deb http://de.archive.ubuntu.com/ubuntu/ wily-updates universe
deb-src http://de.archive.ubuntu.com/ubuntu/ wily-updates universe
## N.B. software from this repository is ENTIRELY UNSUPPORTED by the Ubuntu
## team, and may not be under a free licence. Please satisfy yourself as to
## your rights to use the software. Also, please note that software in
## multiverse WILL NOT receive any review or updates from the Ubuntu
## security team.
deb http://de.archive.ubuntu.com/ubuntu/ wily multiverse
deb-src http://de.archive.ubuntu.com/ubuntu/ wily multiverse
deb http://de.archive.ubuntu.com/ubuntu/ wily-updates multiverse
deb-src http://de.archive.ubuntu.com/ubuntu/ wily-updates multiverse
## N.B. software from this repository may not have been tested as
## extensively as that contained in the main release, although it includes
## newer versions of some applications which may provide useful features.
## Also, please note that software in backports WILL NOT receive any review
## or updates from the Ubuntu security team.
deb http://de.archive.ubuntu.com/ubuntu/ wily-backports main restricted universe multiverse
deb-src http://de.archive.ubuntu.com/ubuntu/ wily-backports main restricted universe multiverse
deb http://security.ubuntu.com/ubuntu wily-security main restricted
deb-src http://security.ubuntu.com/ubuntu wily-security main restricted
deb http://security.ubuntu.com/ubuntu wily-security universe
deb-src http://security.ubuntu.com/ubuntu wily-security universe
deb http://security.ubuntu.com/ubuntu wily-security multiverse
deb-src http://security.ubuntu.com/ubuntu wily-security multiverse
## Uncomment the following two lines to add software from Canonical's
## 'partner' repository.
## This software is not part of Ubuntu, but is offered by Canonical and the
## respective vendors as a service to Ubuntu users.
# deb http://archive.canonical.com/ubuntu wily partner
# deb-src http://archive.canonical.com/ubuntu wily partner
Quindi esegui
apt-get update
per aggiornare il database del pacchetto apt e
apt-get upgrade
per installare gli ultimi aggiornamenti (se presenti). Se vedi che un nuovo kernel viene installato come parte degli aggiornamenti, dovresti riavviare il sistema in seguito:
reboot
3. Modifica la shell predefinita
/bin/sh è un collegamento simbolico a /bin/dash, tuttavia abbiamo bisogno di /bin/bash, non di /bin/dash. Pertanto facciamo questo:
dpkg-reconfigure dash
Utilizzare dash come shell di sistema predefinita (/bin/sh)? <-- No
In caso contrario, l'installazione di ISPConfig avrà esito negativo.
4. Disattiva AppArmor
AppArmor è un'estensione di sicurezza (simile a SELinux) che dovrebbe fornire una sicurezza estesa. Secondo me non è necessario per configurare un sistema sicuro e di solito causa più problemi che vantaggi (pensaci dopo aver fatto una settimana di risoluzione dei problemi perché alcuni servizi non funzionavano come previsto, e quindi scopri che era tutto ok, solo AppArmor stava causando il problema). Pertanto lo disabilito (questo è un must se vuoi installare ISPConfig in un secondo momento).
Possiamo disabilitarlo in questo modo:
service apparmor stop
update-rc.d -f apparmor remove
apt-get remove apparmor apparmor-utils
5. Sincronizza l'orologio di sistema
È una buona idea sincronizzare l'orologio di sistema con un NTP (n rete t ora p rotocol) su Internet quando si esegue un server fisico. Nel caso in cui tu esegua un server virtuale, dovresti saltare questo passaggio. Corri
apt-get install ntp ntpdate
e l'ora del tuo sistema sarà sempre sincronizzata.
6. Installa Postfix, Dovecot, MariaDB, phpMyAdmin, rkhunter, binutils
Per installare postfix, dobbiamo assicurarci che sendmail non sia installato e funzionante. Per interrompere e rimuovere sendmail esegui questo comando:
service sendmail stop; update-rc.d -f sendmail remove
Il messaggio di errore:
Failed to stop sendmail.service: Unit sendmail.service not loaded.
Va bene, significa solo che sendmail non è stato installato, quindi non c'era nulla da rimuovere.
Ora possiamo installare Postfix, Dovecot, MariaDB (come sostituto di MySQL), rkhunter e binutils con un solo comando:
apt-get install postfix postfix-mysql postfix-doc mariadb-client mariadb-server openssl getmail4 rkhunter binutils dovecot-imapd dovecot-pop3d dovecot-mysql dovecot-sieve sudo
Ti verranno poste le seguenti domande:
General type of mail configuration: <-- Internet Site
System mail name: <-- server1.example.com
È importante utilizzare un sottodominio come "nome di posta di sistema" come server1.example.com o server1.tuodominio.com e non un dominio che desideri utilizzare come dominio di posta elettronica (es.tuodominio.tld) in seguito.
Quindi apri le porte TLS/SSL e di invio in Postfix:
nano /etc/postfix/master.cf
Decommenta le sezioni di invio e smtps come segue:aggiungi la riga -o smtpd_client_restrictions=permit_sasl_authenticated, rifiuta entrambe le sezioni e lascia tutto in seguito commentato:
[...] submission inet n - - - - smtpd -o syslog_name=postfix/submission -o smtpd_tls_security_level=encrypt -o smtpd_sasl_auth_enable=yes -o smtpd_client_restrictions=permit_sasl_authenticated,reject # -o smtpd_reject_unlisted_recipient=no # -o smtpd_client_restrictions=$mua_client_restrictions # -o smtpd_helo_restrictions=$mua_helo_restrictions # -o smtpd_sender_restrictions=$mua_sender_restrictions # -o smtpd_recipient_restrictions=permit_sasl_authenticated,reject # -o milter_macro_daemon_name=ORIGINATING smtps inet n - - - - smtpd -o syslog_name=postfix/smtps -o smtpd_tls_wrappermode=yes -o smtpd_sasl_auth_enable=yes -o smtpd_client_restrictions=permit_sasl_authenticated,reject # -o smtpd_reject_unlisted_recipient=no # -o smtpd_client_restrictions=$mua_client_restrictions # -o smtpd_helo_restrictions=$mua_helo_restrictions # -o smtpd_sender_restrictions=$mua_sender_restrictions # -o smtpd_recipient_restrictions=permit_sasl_authenticated,reject # -o milter_macro_daemon_name=ORIGINATING [...]
NOTA:gli spazi bianchi davanti alle righe "-o .... " sono importanti!
Riavvia Postfix in seguito:
service postfix restart
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:
nano /etc/mysql/mariadb.conf.d/mysqld.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 [...]
Ora impostiamo una password di root in MariaDB. Corri:
mysql_secure_installation
Ti verranno poste queste domande:
Enter current password for root (enter for none): <-- press enter
Set root password? [Y/n] <-- y
New password: <-- Enter the new MariaDB root password here
Re-enter new password: <-- Repeat the password
Remove anonymous users? [Y/n] <-- y
Disallow root login remotely? [Y/n] <-- y
Reload privilege tables now? [Y/n] <-- y
Quindi riavviamo MariaDB:
service mysql restart
Ora controlla che la rete sia abilitata. Corri
netstat -tap | grep mysql
L'output dovrebbe essere simile a questo:
[email protected]:~# netstat -tap | grep mysql
tcp 0 0 *:mysql *:* LISTEN 24603/mysqld
[email protected]:~#
7. Installa Amavisd-new, SpamAssassin e Clamav
Per installare amavisd-new, SpamAssassin e ClamAV, eseguiamo
apt-get 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
La configurazione di ISPConfig 3 utilizza amavisd che carica internamente la libreria dei filtri SpamAssassin, quindi possiamo fermare SpamAssassin per liberare un po' di RAM:
service spamassassin stop
update-rc.d -f spamassassin remove
Modifica il file di configurazione del clamd:
nano /etc/clamav/clamd.conf
e cambia la riga:
AllowSupplementaryGroups false
a:
AllowSupplementaryGroups true
E salva il file. Per iniziare usa clamav
freshclam
service clamav-daemon start