Scegli una password
Non ho bisogno di una directory privata crittografata, quindi scelgo No qui:
Si prega di verificare se l'installatore ha rilevato correttamente il fuso orario. In tal caso, seleziona Sì, altrimenti No:
Ora devi partizionare il tuo disco rigido. Per semplicità seleziono Guidato - usa l'intero disco e configura LVM - questo creerà un gruppo di volumi con due volumi logici, uno per il file system / e un altro per lo scambio (ovviamente, il partizionamento dipende totalmente da te - se sai cosa stai facendo, puoi anche configurare le tue partizioni manualmente).
Seleziona il disco che vuoi partizionare:
Quando ti viene chiesto Scrivi le modifiche sui dischi e configura LVM?, seleziona Sì:
Se hai selezionato Guidato - usa l'intero disco e imposta LVM, il partizionatore creerà un grande gruppo di volumi che utilizza tutto lo spazio su disco. È ora possibile specificare la quantità di spazio su disco che deve essere utilizzata dai volumi logici per / e swap. Ha senso lasciare un po' di spazio inutilizzato in modo da poter espandere in seguito i volumi logici esistenti o crearne di nuovi:questo ti dà maggiore flessibilità.
Al termine, premi Sì quando ti viene chiesto Scrivi le modifiche sui dischi?:
Successivamente, le tue nuove partizioni vengono create e formattate.
Ora è in corso l'installazione del sistema di base:
Successivamente viene configurato il gestore di pacchetti apt. Lascia vuota la riga del proxy HTTP a meno che tu non stia utilizzando un server proxy per la connessione a Internet:
Sono un po' vecchio stile e mi piace aggiornare manualmente i miei server per avere un maggiore controllo, quindi seleziono Nessun aggiornamento automatico. Naturalmente, sta a te scegliere cosa selezionare qui:
Abbiamo bisogno di un server DNS, di posta e LAMP, ma tuttavia non ne seleziono nessuno ora perché mi piace avere il pieno controllo su ciò che viene installato sul mio sistema. Installeremo i pacchetti necessari manualmente in seguito. L'unico elemento che seleziono qui è il server OpenSSH in modo da potermi collegare immediatamente al sistema con un client SSH come PuTTY al termine dell'installazione:
L'installazione continua:
Seleziona Sì quando ti viene chiesto Installa il caricatore di avvio GRUB nel record di avvio principale?:
L'installazione del sistema di base è ora terminata. Rimuovere il CD di installazione dall'unità CD e premere Continua per riavviare il sistema:
Al passaggio successivo...
4. Ottieni i privilegi di root
Dopo il riavvio è possibile effettuare il login con il nome utente creato in precedenza (es. amministratore). Poiché dobbiamo eseguire tutti i passaggi di questo tutorial con i privilegi di root, possiamo anteporre tutti i comandi in questo tutorial con la stringa sudo, oppure diventare root in questo momento digitando
sudo su
(Puoi anche abilitare il login di root eseguendo
sudo passwd root
e dando una password a root. Puoi quindi accedere direttamente come root, ma questo è disapprovato dagli sviluppatori e dalla comunità di Ubuntu per vari motivi. Vedi http://ubuntuforums.org/showthread.php?t=765414.)
5. Installa il server SSH (opzionale)
Se non hai installato il server OpenSSH durante l'installazione del sistema, puoi farlo ora:
apt-get install ssh openssh-server
D'ora in poi puoi utilizzare un client SSH come PuTTY e connetterti dalla tua workstation al tuo server Ubuntu 14.04 e seguire i passaggi rimanenti di questo tutorial.
6. Installa vim-nox (opzionale)
Userò vi come editor di testo in questo tutorial. Il programma vi predefinito ha uno strano comportamento su Ubuntu e Debian; per risolvere questo problema, installiamo vim-nox:
apt-get install vim-nox
(Non devi farlo se usi un editor di testo diverso come joe o nano.)
7. Configura la rete
Poiché il programma di installazione di Ubuntu ha configurato il nostro sistema per ottenere le sue impostazioni di rete tramite DHCP, dobbiamo cambiarlo ora perché un server dovrebbe avere un indirizzo IP statico. Modifica /etc/network/interfaces e adattarlo alle tue esigenze (in questa configurazione di esempio userò l'indirizzo IP 192.168.2.251 e i server DNS 192.168.1.200, 192.168.1.225 e 8.8.8.8 - a partire da Ubuntu 12.04, non puoi più modificare direttamente /etc/resolv.conf, ma devi specificare i tuoi server dei nomi nella configurazione di rete - vedi
man resolvconf
per maggiori dettagli):
vi /etc/network/interfaces
# This file describes the network interfaces available on your system # and how to activate them. For more information, see interfaces(5). # The loopback network interface auto lo iface lo inet loopback # The primary network interface auto eth0 iface eth0 inet static address 192.168.2.251 netmask 255.255.255.0 network 192.168.2.251 broadcast 192.168.2.255 gateway 192.168.2.254 dns-nameservers 192.168.1.200 192.168.1.225 8.8.8.8 |
Quindi riavvia la rete:
service networking restart
Quindi modifica /etc/hosts. Rendilo simile a questo:
vi /etc/hosts
127.0.0.1 localhost 192.168.2.251 server1.example.com server1 # The following lines are desirable for IPv6 capable hosts ::1 ip6-localhost ip6-loopback fe00::0 ip6-localnet ff00::0 ip6-mcastprefix ff02::1 ip6-allnodes ff02::2 ip6-allrouters |
Ora corri
echo server1.example.com > /etc/hostname
service hostname restart
Successivamente, corri
hostname
hostname -f
Entrambi dovrebbero mostrare server1.example.com ora.
8. 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. Dovrebbe assomigliare a questo:
vi /etc/apt/sources.list
# # deb cdrom:[Ubuntu-Server 14.04 LTS _Trusty Tahr_ - Release amd64 (20140416.2)]/ trusty main restricted #deb cdrom:[Ubuntu-Server 14.04 LTS _Trusty Tahr_ - Release amd64 (20130423.2)]/ trusty 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/ trusty main restricted deb-src http://de.archive.ubuntu.com/ubuntu/ trusty main restricted ## Major bug fix updates produced after the final release of the ## distribution. deb http://de.archive.ubuntu.com/ubuntu/ trusty-updates main restricted deb-src http://de.archive.ubuntu.com/ubuntu/ trusty-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/ trusty universe deb-src http://de.archive.ubuntu.com/ubuntu/ trusty universe deb http://de.archive.ubuntu.com/ubuntu/ trusty-updates universe deb-src http://de.archive.ubuntu.com/ubuntu/ trusty-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/ trusty multiverse deb-src http://de.archive.ubuntu.com/ubuntu/ trusty multiverse deb http://de.archive.ubuntu.com/ubuntu/ trusty-updates multiverse deb-src http://de.archive.ubuntu.com/ubuntu/ trusty-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/ trusty-backports main restricted universe multiverse deb-src http://de.archive.ubuntu.com/ubuntu/ trusty-backports main restricted universe multiverse deb http://security.ubuntu.com/ubuntu trusty-security main restricted deb-src http://security.ubuntu.com/ubuntu trusty-security main restricted deb http://security.ubuntu.com/ubuntu trusty-security universe deb-src http://security.ubuntu.com/ubuntu trusty-security universe deb http://security.ubuntu.com/ubuntu trusty-security multiverse deb-src http://security.ubuntu.com/ubuntu trusty-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 trusty partner # deb-src http://archive.canonical.com/ubuntu trusty partner ## Uncomment the following two lines to add software from Ubuntu's ## 'extras' repository. ## This software is not part of Ubuntu, but is offered by third-party ## developers who want to ship their latest software. # deb http://extras.ubuntu.com/ubuntu trusty main # deb-src http://extras.ubuntu.com/ubuntu trusty main |
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
9. 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.
10. 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
11. Sincronizza l'orologio di sistema
È una buona idea sincronizzare l'orologio di sistema con un NTP (n rete t ora p rotocol) server su Internet. Esegui semplicemente
apt-get install ntp ntpdate
e l'ora del tuo sistema sarà sempre sincronizzata.
12. Installa Postfix, Dovecot, MySQL, phpMyAdmin, rkhunter, binutils
Per installare Postfix dobbiamo interrompere e rimuovere sendmail
service sendmail stop; update-rc.d -f sendmail remove
Ora possiamo installare Postfix, Dovecot, MySQL, rkhunter e binutils con un solo comando:
apt-get install postfix postfix-mysql postfix-doc mysql-client mysql-server openssl getmail4 rkhunter binutils dovecot-imapd dovecot-pop3d dovecot-mysql dovecot-sieve sudo
Ti verranno poste le seguenti domande:
Nuova password per l'utente "root" di MySQL:<-- yourrootsqlpassword
Ripeti la password per l'utente "root" di MySQL:<-- yourrootsqlpassword
Tipo generale di configurazione della posta:<-- Sito Internet
Nome e-mail di sistema:<-- server1.example.com
Quindi apri le porte TLS/SSL e di invio in Postfix:
vi /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 [...] |
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:
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 riavviamo MySQL:
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 21298/mysqld
[email protected]:~#
13. 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
14. Installa Apache2, PHP5, phpMyAdmin, FCGI, suExec, Pear e mcrypt
Apache2, PHP5, phpMyAdmin, FCGI, suExec, Pear e mcrypt possono essere installati come segue:
apt-get install apache2 apache2-doc apache2-utils libapache2-mod-php5 php5 php5-common 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-python php5-curl php5-intl php5-memcache php5-memcached php5-ming php5-ps php5-pspell php5-recode php5-snmp php5-sqlite php5-tidy php5-xmlrpc php5-xsl memcached snmp
Il modulo PHP5 mcrypt deve essere abilitato manualmente:
php5enmod mcrypt
Vedrai la seguente domanda:
Server Web da riconfigurare automaticamente:<-- apache2
Configura il database per phpmyadmin con dbconfig-common? <-- No
Quindi eseguire il comando seguente per abilitare i moduli Apache suexec, rewrite, ssl, actions e include (più dav, dav_fs e auth_digest se si desidera utilizzare WebDAV):
a2enmod suexec rewrite ssl actions include cgi
a2enmod dav_fs dav auth_digest
Quindi apri /etc/apache2/mods-available/suphp.conf...
vi /etc/apache2/mods-available/suphp.conf
... e commenta la sezione
<IfModule mod_suphp.c> #<FilesMatch "\.ph(p3?|tml)$"> # SetHandler application/x-httpd-suphp #</FilesMatch> suPHP_AddHandler application/x-httpd-suphp |
Riavvia Apache in seguito:
service apache2 restart
Se vuoi ospitare file Ruby con estensione .rb sui tuoi siti web creati tramite ISPConfig, devi commentare la riga application/x-ruby rb in /etc/mime.types:
vi /etc/mime.types
[...] #application/x-ruby rb [...] |
(Questo è necessario solo per i file .rb; i file Ruby con estensione .rbx funzionano immediatamente.)
Riavvia Apache in seguito:
service apache2 restart
14.1 Xcache
Xcache è un cacher di codice operativo PHP gratuito e aperto per la memorizzazione nella cache e l'ottimizzazione del codice intermedio PHP. È simile ad altri cacher di codice operativo PHP, come eAccelerator e APC. Si consiglia vivamente di averne uno installato per velocizzare la tua pagina PHP.
Xcache può essere installato come segue:
apt-get install php5-xcache
Ora riavvia Apache:
service apache2 restart
14.2 PHP-FPM
A partire da ISPConfig 3.0.5, è disponibile una modalità PHP aggiuntiva che puoi selezionare per l'utilizzo con Apache:PHP-FPM.
Per usare PHP-FPM con Apache, abbiamo bisogno del modulo mod_fastcgi Apache (per favore non confonderlo con mod_fcgid - sono molto simili, ma non puoi usare PHP-FPM con mod_fcgid). Possiamo installare PHP-FPM e mod_fastcgi come segue:
apt-get install libapache2-mod-fastcgi php5-fpm
Assicurati di abilitare il modulo e riavviare Apache:
a2enmod actions fastcgi alias
service apache2 restart
14.2 Versioni PHP aggiuntive
A partire da ISPConfig 3.0.5, è possibile avere più versioni di PHP su un server (selezionabile tramite ISPConfig) che può essere eseguito tramite FastCGI e PHP-FPM. Per sapere come creare versioni PHP aggiuntive (PHP-FPM e FastCGI) e come configurare ISPConfig, consulta questo tutorial:Come utilizzare più versioni PHP (PHP-FPM e FastCGI) con ISPConfig 3 (Ubuntu 12.10) (funziona per Ubuntu anche alle 14.04).
15. Installa Mailman
Dalla versione 3.0.4, ISPConfig permette anche di gestire (creare/modificare/cancellare) le mailing list di Mailman. Se vuoi utilizzare questa funzione, installa Mailman come segue:
apt-get install mailman
Seleziona almeno una lingua, ad es.:
Lingue supportate:<-- it (inglese)
Elenco siti mancanti <-- Ok
Prima di poter avviare Mailman, è necessario creare una prima mailing list chiamata mailman:
newlist mailman
[email protetta]:~# mailman newlist
Inserisci l'e-mail della persona che gestisce l'elenco: <-- indirizzo e-mail admin, ad es. [email protetta]
Password iniziale del postino: <-- password admin per l'elenco del postino
Per terminare la creazione della lista mail, devi modificare il tuo /etc/alias (o
equivalente) file tramite aggiungendo le righe seguenti ed eventualmente eseguendo il programma
`newaliases':
## mailing list di mailman
mailman: "|/var/lib/mailman/mail/mailman post mailman"
mailman-admin: "|/var/lib/mailman/mail/mailman admin mailman"
mailman-bounce: "|/var/lib/mailman/mail/mailman bounces mailman"
mailman-confirm: "|/var/lib/mailman/mail/mailman confirm mailman"
mailman-join: "|/var/lib/mailman/mail/mailman join mailman"
mailman- leave: "|/var/lib/mailman/mail/mailman leave mailman"
mailman-owner: "|/var/lib/mailman/mail/mailman owner mailman"
mailman-request: "| /var/lib/mailman/mail/mailman request mailman"
mailman-subscribe: "|/var/lib/mailman/mail/mailman subscribe mailman"
mailman-unsubscribe: "|/var/lib/mailman/mail/mailman unsubscribe mailman"
Premi invio per notificare il proprietario mailman... <-- ENTER
[email protetta]:~#
Apri /etc/alias in seguito...
vi /etc/aliases
... e aggiungi le seguenti righe:
[...] ## mailman mailing list mailman: "|/var/lib/mailman/mail/mailman post mailman" mailman-admin: "|/var/lib/mailman/mail/mailman admin mailman" mailman-bounces: "|/var/lib/mailman/mail/mailman bounces mailman" mailman-confirm: "|/var/lib/mailman/mail/mailman confirm mailman" mailman-join: "|/var/lib/mailman/mail/mailman join mailman" mailman-leave: "|/var/lib/mailman/mail/mailman leave mailman" mailman-owner: "|/var/lib/mailman/mail/mailman owner mailman" mailman-request: "|/var/lib/mailman/mail/mailman request mailman" mailman-subscribe: "|/var/lib/mailman/mail/mailman subscribe mailman" mailman-unsubscribe: "|/var/lib/mailman/mail/mailman unsubscribe mailman" |
Corri
newaliases
in seguito e riavvia Postfix:
service postfix restart
Infine dobbiamo abilitare la configurazione di Mailman Apache:
ln -s /etc/mailman/apache.conf /etc/apache2/conf-available/mailman.conf
Questo definisce l'alias /cgi-bin/mailman/ per tutti i vhost Apache, il che significa che puoi accedere all'interfaccia di amministrazione di Mailman per un elenco su http://
Sotto http://
Riavvia Apache in seguito:
service apache2 restart
Quindi avvia il demone Mailman:
service mailman start
16. Installa PureFTPd e Quota
PureFTPd e quota possono essere installati con il seguente comando:
apt-get 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 la modalità di avvio sia impostata su standalone e imposta VIRTUALCHROOT=true:
[...] STANDALONE_OR_INETD=standalone [...] 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 nome Stato o 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:
service pure-ftpd-mysql restart
Modifica /etc/fstab. Il mio è simile a questo (ho aggiunto ,usrjquota=quota.user,grpjquota=quota.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> /dev/mapper/server1--vg-root / ext4 errors=remount-ro,usrjquota=quota.user,grpjquota=quota.group,jqfmt=vfsv0 0 1 # /boot was on /dev/sda1 during installation UUID=9b8299f1-b2a2-4231-9ba1-4540fad76b0f /boot ext2 defaults 0 2 /dev/mapper/server1--vg-swap_1 none swap sw 0 0 |
Per abilitare la quota, esegui questi comandi:
mount -o remount /
quotacheck -avugm
quotaon -avug
17. Installa il server DNS BIND
BIND può essere installato come segue:
apt-get install bind9 dnsutils
18. Installa Vlogger, Webalizer e AWstats
Vlogger, webalizer e AWstats possono essere installati come segue:
apt-get install vlogger webalizer awstats geoip-database libclass-dbi-mysql-perl
Apri /etc/cron.d/awstats in seguito...
vi /etc/cron.d/awstats
... e commenta tutto in quel file:
#MAILTO=root #*/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 |
19. Installa Jailkit
Jailkit è necessario solo se si desidera 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 install build-essential autoconf automake1.9 libtool flex bison debhelper binutils-gold
cd /tmp
wget http://olivier.sessink.nl/jailkit/jailkit-2.17.tar.gz
tar xvfz jailkit-2.17.tar.gz
cd jailkit-2.17
./debian/rules binary
Ora puoi installare il pacchetto Jailkit .deb come segue:
cd ..
dpkg -i jailkit_2.17-1_*.deb
rm -rf jailkit-2.17*
20. 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
[pureftpd] enabled = true port = ftp filter = pureftpd logpath = /var/log/syslog maxretry = 3 [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 [postfix-sasl] enabled = true port = smtp filter = postfix-sasl logpath = /var/log/mail.log maxretry = 3 |
Quindi crea i seguenti due file di filtro:
vi /etc/fail2ban/filter.d/pureftpd.conf
[Definition] failregex = .*pure-ftpd: \(.*@<HOST>\) \[WARNING\] Authentication failed for user.* ignoreregex = |
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 = |
Aggiungi la riga ignoreregex mancante nel file postfix-sasl:
echo "ignoreregex =" >> /etc/fail2ban/filter.d/postfix-sasl.conf
Riavvia fail2ban in seguito:
service fail2ban restart
21 Installa SquirrelMail
Per installare il client webmail di SquirrelMail, esegui
apt-get install squirrelmail
Quindi configura SquirrelMail:
squirrelmail-configure
Dobbiamo dire a SquirrelMail che stiamo usando Dovecot-IMAP/-POP3:
Configurazione di SquirrelMail: Leggi: config.php (1.4.0)
-------------------------------- ------------------------
Menu principale --
1. Preferenze dell'organizzazione
2. Impostazioni server
3. Cartella predefinita
4. Opzioni generali
5. Temi
6. Rubriche di indirizzi
7. Messaggio del giorno (MOTD)
8. Plugin
9. Database
10. Lingue
D. Imposta impostazioni predefinite per server IMAP specifici
C Attiva colore
S Salva dati
Q Esci da
Comando >> <-- D
Configurazione di SquirrelMail : Leggi: config.php
---------------------------------------- ------------------------------
Mentre abbiamo costruito SquirrelMail, abbiamo scoperto alcune
preferenze che funzionano meglio con alcuni server che non funzionano quindi
bene con altri. Se selezioni il tuo server IMAP, questa opzione
imposterà alcune impostazioni predefinite per quel server.
Tieni presente che dovrai ancora passare e assicurarti che
tutto sia corretto. Questo non cambia tutto. Sono solo alcune impostazioni che questo cambierà.
Selezionare il server IMAP :
bincimap = server IMAP Binc
courier = server IMAP Courier
cyrus =server IMAP Cyrus
dovecot == Dovecot Secure IMAP server
exchange = Microsoft Exchange IMAP server
hmailserver = hMailServer
macosx = Mac OS X Mailserver
mercury32 = Mercury/32
uw server = Washington's MAP /> gmail = accesso IMAP agli account Google mail (Gmail)
chiudi = Non cambiare nulla
Comando >> <-- dovecot
Configurazione di SquirrelMail: Leggi: config.php
--------------------------------------- -------------------
Mentre stiamo creando SquirrelMail, abbiamo scoperto alcune
preferenze che funzionano meglio con alcuni server che non funzionano quindi
bene con gli altri. Se selezioni il tuo server IMAP, questa opzione
imposterà alcune impostazioni predefinite per quel server.
Tieni presente che dovrai ancora passare e assicurarti che
tutto sia corretto. Questo non cambia tutto. Sono solo alcune impostazioni che questo cambierà.
Selezionare il server IMAP :
bincimap = server IMAP Binc
courier = server IMAP Courier
cyrus =server IMAP Cyrus
dovecot == Dovecot Secure IMAP server
exchange = Microsoft Exchange IMAP server
hmailserver = hMailServer
macosx = Mac OS X Mailserver
mercury32 = Mercury/32
uw server = Washington's MAP /> gmail = accesso IMAP agli account Google mail (Gmail)
chiudi = Non cambiare nulla
Comando >> dovecot
imap_server_type = dovecot
default_folder_prefix =
trash_folder =Trash
sent_folder =Inviati
draft_folder =Bozze
show_prefix_option =false
default_sub_of_inbox =false
show_contain_subfolders_option =false
opzionale_del imiter = rileva
delete_folder = false
Premi un tasto qualsiasi per continuare... <-- premi un tasto
SquirrelMail Configurazione : Leggi: config .php (1.4.0)
--------------------------------------- ------------------
Menu principale --
1. Preferenze dell'organizzazione
2. Impostazioni server
3. Cartella predefinita
4. Opzioni generali
5. Temi
6. Rubriche di indirizzi
7. Messaggio del giorno (MOTD)
8. Plugin
9. Database
10. Lingue
D. Imposta impostazioni predefinite per server IMAP specifici
C Attiva colore
S Salva dati
Q Esci da
Comando >> <-- S
Configurazione di SquirrelMail : Leggi: config.php (1.4.0)
---------------------- -----------------------------------
Menu principale --
1. Preferenze dell'organizzazione
2. Impostazioni server
3. Cartella predefinita
4. Opzioni generali
5. Temi
6. Rubriche di indirizzi
7. Messaggio del giorno (MOTD)
8. Plugin
9. Database
10. Lingue
D. Imposta impostazioni predefinite per server IMAP specifici
C Attiva colore su
S Salva dati
Q Esci da
Comando >> <-- Q
Ora configureremo SquirrelMail in modo che tu possa usarlo dai tuoi siti web (creati tramite ISPConfig) usando gli alias /squirrelmail o /webmail. Quindi, se il tuo sito web è www.example.com, potrai accedere a SquirrelMail utilizzando www.example.com/squirrelmail o www.example.com/webmail.
La configurazione di Apache di SquirrelMail è nel file /etc/squirrelmail/apache.conf, ma questo file non è caricato da Apache perché non si trova nella directory /etc/apache2/conf-available/. Pertanto creiamo un collegamento simbolico chiamato squirrelmail.conf nella directory /etc/apache2/conf-available/ che punta a /etc/squirrelmail/apache.conf e ricarichiamo Apache in seguito:
cd /etc/apache2/conf-available/
ln -s ../../squirrelmail/apache.conf squirrelmail.conf
service apache2 reload
Ora apri /etc/apache2/conf.d/squirrelmail.conf...
vi /etc/apache2/conf-available/squirrelmail.conf
... e aggiungi le seguenti righe al contenitore
[...] <Directory /usr/share/squirrelmail> Options FollowSymLinks <IfModule mod_php5.c> AddType application/x-httpd-php .php php_flag magic_quotes_gpc Off php_flag track_vars On php_admin_flag allow_url_fopen Off php_value include_path . php_admin_value upload_tmp_dir /var/lib/squirrelmail/tmp php_admin_value open_basedir /usr/share/squirrelmail:/etc/squirrelmail:/var/lib/squirrelmail:/etc/hostname:/etc/mailname php_flag register_globals off </IfModule> <IfModule mod_dir.c> DirectoryIndex index.php </IfModule> # access to configtest is limited by default to prevent information leak <Files configtest.php> order deny,allow deny from all allow from 127.0.0.1 </Files> </Directory> [...] |
Create the directory /var/lib/squirrelmail/tmp...
mkdir /var/lib/squirrelmail/tmp
... and make it owned by the user www-data:
chown www-data /var/lib/squirrelmail/tmp
Next we need to enable the squirrelmail with apache2.
a2enconf squirrelmail
Reload Apache again:
service apache2 reload
That's it already - /etc/apache2/conf-available/squirrelmail.conf defines an alias called /squirrelmail that points to SquirrelMail's installation directory /usr/share/squirrelmail.
You can now access SquirrelMail from your web site as follows:
http://192.168.2.251/squirrelmail
http://www.example.com/squirrelmail
You can also access it from the ISPConfig control panel vhost (after you have installed ISPConfig, see the next chapter) as follows (this doesn't need any configuration in ISPConfig):
http://server1.example.com:8080/squirrelmail
If you'd like to use the alias /webmail instead of /squirrelmail, simply open /etc/apache2/conf-available/squirrelmail.conf...
vi /etc/apache2/conf-available/squirrelmail.conf
... and add the line Alias /webmail /usr/share/squirrelmail:
Alias /squirrelmail /usr/share/squirrelmail Alias /webmail /usr/share/squirrelmail [...] |
Then reload Apache:
service apache2 reload
Now you can access Squirrelmail as follows:
http:// 192.168.2.251/webmail
http://www.example.com/webmail
http://server1.example.com:8080/webmail (after you have installed ISPConfig, see the next chapter)
If you'd like to define a vhost like webmail.example.com where your users can access SquirrelMail, you'd have to add the following vhost configuration to /etc/apache2/conf-available/squirrelmail.conf:
vi /etc/apache2/conf-available/squirrelmail.conf
[...] <VirtualHost 1.2.3.4:80> DocumentRoot /usr/share/squirrelmail ServerName webmail.example.com </VirtualHost> |
Make sure you replace 1.2.3.4 with the correct IP address of your server. Of course, there must be a DNS record for webmail.example.com that points to the IP address that you use in the vhost configuration. Also make sure that the vhost webmail.example.com does not exist in ISPConfig (otherwise both vhosts will interfere with each other!).
Now reload Apache...
service apache2 reload
... and you can access SquirrelMail under http://webmail.example.com!
22. Optional:Script to cross-check the installations.
I have introduced a script here which will verify, whether you have made any typos error. This will verify that all the necessary installations are completed as per the tutorial. Script is as follows:
#!/bin/bash ################################################################################################################################################### ################################################################################################################################################### #### ##### #### This script is created by Srijan Kishore to cross-check the complete installation of tutorial ##### #### ##### ################################################################################################################################################### ################################################################################################################################################### cd /tmp ################################################################################################################################################### #### Installations done in Tutorial ##### ################################################################################################################################################### echo "amavisd-new apache2 apache2-doc apache2-suexec apache2-utils apt-listchanges arj autoconf automake1.9 awstats bind9 binutils bison build-essential bzip2 cabextract clamav clamav-daemon clamav-docs daemon debhelper dnsutils dovecot-imapd dovecot-mysql dovecot-pop3d dovecot-sieve fail2ban flex geoip-database getmail4 imagemagick jailkit libapache2-mod-fastcgi libapache2-mod-fcgid libapache2-mod-php5 libapache2-mod-python libapache2-mod-suphp libauthen-sasl-perl libclass-dbi-mysql-perl libio-socket-ssl-perl libio-string-perl libnet-dns-perl libnet-ident-perl libnet-ldap-perl libruby libtool lzop mailman mcrypt memcached mysql-client mysql-server nomarch ntp ntpdate openssl php5 php5-cgi php5-cli php5-common php5-curl php5-fpm php5-gd php5-imagick php5-imap php5-intl php5-mcrypt php5-memcache php5-memcached php5-ming php5-mysql php5-ps php5-pspell php5-recode php5-snmp php5-sqlite php5-tidy php5-xcache php5-xmlrpc php5-xsl php-auth phpmyadmin php-pear postfix postfix-doc postfix-mysql rkhunter spamassassin squirrelmail sudo unzip vlogger webalizer zip zoo" > tutorial_install ################################################################################################################################################## #### List of all packages installed by you on your server ##### ################################################################################################################################################## dpkg -l |grep ii| cut -d ' ' -f3 > server_installed ################################################################################################################################################## #### Difference between the tutorial & your server's installation ##### ################################################################################################################################################## diff server_installed tutorial_install | grep ">" | cut -d ' ' -f2 > missing_packages if [ $? -eq 0 ] echo "You missed to install these packages ` cat missing_packages` " then echo "You need to install these packages. To install these packages you need to run the command apt-get install package_name" echo " You can cross check the particular installation as follows: dpkg -l | grep package_name | cut -d ' ' -f3 If it is showing the package_name then you can ignore the package." else echo "Congratulations you have installed all the packages successfully" fi rm -rf missing_packages server_installed tutorial_install
chmod +x ubuntu_package_check.sh
./ubuntu_package_check.sh
23. Install ISPConfig 3
To install ISPConfig 3 from the latest released version, do this:
cd /tmp
wget http://www.ispconfig.org/downloads/ISPConfig-3-stable.tar.gz
tar xfz ISPConfig-3-stable.tar.gz
cd ispconfig3_install/install/
The next step is to run
php -q install.php
This will start the ISPConfig 3 installer. The installer will configure all services like Postfix, Dovecot, etc. for you. A manual setup as required for ISPConfig 2 (perfect setup guides) is not necessary.
[email protected]:/tmp/ispconfig3_install/install# php -q install.php
--------------------------------------------------------------------------------
_____ ___________ _____ __ _ ____
|_ _/ ___| ___ \ / __ \ / _(_) /__ \
| | \ `--.| |_/ / | / \/ ___ _ __ | |_ _ __ _ _/ /
| | `--. \ __/ | | / _ \| '_ \| _| |/ _` | |_ |
_| |_/\__/ / | | \__/\ (_) | | | | | | | (_| | ___\ \
\___/\____/\_| \____/\___/|_| |_|_| |_|\__, | \____/
__/ |
|___/
--------------------------------------------------------------------------------
>> Initial configuration
Operating System:14.04 UNKNOWN
Following will be a few questions for primary configuration so be careful.
Default values are in [brackets] and can be accepted with
Tap in "quit" (without the quotes) to stop the installer.
Select language (en,de) [en]: <-- ENTER
Installation mode (standard,expert) [standard]: <-- ENTER
Full qualified hostname (FQDN) of the server, eg server1.domain.tld [server1.example.com]: <-- ENTER
MySQL server hostname [localhost]: <-- ENTER
MySQL root username [root]: <-- ENTER
MySQL root password []: <-- yourroot sqlpassword
MySQL database to create [dbispconfig]: <-- ENTER
MySQL charset [utf8]: <-- ENTER
Generating a 4096 bit RSA private key
............................................................................++
.....................++
writing new private key to 'smtpd.key'
-----
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [AU]: <-- ENTER
State or Province Name (full name) [Some-State]: <-- ENTER
Locality Name (eg, city) []: <-- ENTER
Organization Name (eg, company) [Internet Widgits Pty Ltd]: <-- ENTER
Organizational Unit Name (eg, section) []: <-- ENTER
Common Name (e.g. server FQDN or YOUR name) []: <-- ENTER
Email Address []: <-- ENTER
Configuring Jailkit
Configuring Dovecot
Configuring Spamassassin
Configuring Amavisd
Configuring Getmail
Configuring Pureftpd
Configuring BIND
Configuring Apache
Configuring Vlogger
Configuring Apps vhost
Configuring Bastille Firewall
Configuring Fail2ban
Installing ISPConfig
ISPConfig Port [8080]: <-- ENTER
Do you want a secure (SSL) connection to the ISPConfig web interface (y,n) [y]: <-- ENTER
Generating RSA private key, 4096 bit long modulus
..........++
......++ e is 65537 (0x10001)
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [AU]: <-- ENTER
State or Province Name (full name) [Some-State]: <-- ENTER
Locality Name (eg, city) []: <-- ENTER
Organization Name (eg, company) [Internet Widgits Pty Ltd]: <-- ENTER
Organizational Unit Name (eg, section) []: <-- ENTER
Common Name (e.g. server FQDN or YOUR name) []: <-- ENTER
Email Address []: <-- ENTER
Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []: <-- ENTER
An optional company name []: <-- ENTER
writing RSA key
Configuring DBServer
Installing ISPConfig crontab
no crontab for root
no crontab for getmail
Restarting services ...
Rather than invoking init scripts through /etc/init.d, use the service(8)
utility, e.g. service mysql restart
Since the script you are attempting to invoke has been converted to an
Upstart job, you may also use the stop(8) and then start(8) utilities,
e.g. stop mysql ; start mysql. The restart(8) utility is also available.
mysql stop/waiting
mysql start/running, process 2817
* Stopping Postfix Mail Transport Agent postfix
/usr/sbin/postconf: warning: /etc/postfix/main.cf: undefined parameter: virtual_mailbox_limit_maps
...done.
* Starting Postfix Mail Transport Agent postfix
postconf: warning: /etc/postfix/main.cf: undefined parameter: virtual_mailbox_limit_maps
postconf: warning: /etc/postfix/main.cf: undefined parameter: virtual_mailbox_limit_maps
postconf: warning: /etc/postfix/main.cf: undefined parameter: virtual_mailbox_limit_maps
postconf: warning: /etc/postfix/main.cf: undefined parameter: virtual_mailbox_limit_maps
postconf: warning: /etc/postfix/main.cf: undefined parameter: virtual_mailbox_limit_maps
postconf: warning: /etc/postfix/main.cf: undefined parameter: virtual_mailbox_limit_maps
/usr/sbin/postconf: warning: /etc/postfix/main.cf: undefined parameter: virtual_mailbox_limit_maps
/usr/sbin/postconf: warning: /etc/postfix/main.cf: undefined parameter: virtual_mailbox_limit_maps
/usr/sbin/postconf: warning: /etc/postfix/main.cf: undefined parameter: virtual_mailbox_limit_maps
/usr/sbin/postconf: warning: /etc/postfix/main.cf: und efined parameter: virtual_mailbox_limit_maps
/usr/sbin/postconf: warning: /etc/postfix/main.cf: undefined parameter: virtual_mailbox_limit_maps
/usr/sbin/postconf: warning: /etc/postfix/main.cf: undefined parameter: virtual_mailbox_limit_maps
/usr/sbin/postconf: warning: /etc/postfix/main.cf: undefined parameter: virtual_mailbox_limit_maps
/usr/sbin/postconf: warning: /etc/postfix/main.cf: undefined parameter: virtual_mailbox_limit_maps
/usr/sbin/postconf: warning: /etc/postfix/main.cf: undefined parameter: virtual_mailbox_limit_maps
/usr/sbin/postconf: warning: /etc/postfix/main.cf: undefined parameter: virtual_mailbox_limit_maps
/usr/sbin/postconf: warning: /etc/postfix/main.cf: undefined parameter: virtual_mailbox_limit_maps
/usr/sbin/postconf: warning: /etc/postfix/main.cf: undefined parameter: virtual_mailbox_limit_maps
/usr/sbin/postconf: warning: /etc/postfix/main.cf: undefined parameter: virtual_mailbox_limit_maps
/usr /sbin/postconf: warning: /etc/postfix/main.cf: undefined parameter: virtual_mailbox_limit_maps
/usr/sbin/postconf: warning: /etc/postfix/main.cf: undefined parameter: virtual_mailbox_limit_maps
/usr/sbin/postconf: warning: /etc/postfix/main.cf: undefined parameter: virtual_mailbox_limit_maps
...done.
Stopping amavisd: amavisd-new.
Starting amavisd: amavisd-new.
* Stopping ClamAV daemon clamd
...done.
* Starting ClamAV daemon clamd
...done.
Rather than invoking init scripts through /etc/init.d, use the service(8)
utility, e.g. service dovecot restart
Since the script you are attempting to invoke has been converted to an
Upstart job, you may also use the stop(8) and then start(8) utilities,
e.g. stop dovecot ; start dovecot. The restart(8) utility is also available.
dovecot stop/waiting
dovecot start/running, process 3962
* Restarting web server apache2
[Fri Apr 26 00:55:00 2013] [warn] NameVirtualHost *:443 has no VirtualHosts
[Fri Apr 26 00:55:00 2013] [warn] NameVirtualHost *:80 has no VirtualHosts
[Fri Apr 26 00:55:01 2013] [warn] NameVirtualHost *:443 has no VirtualHosts
[Fri Apr 26 00:55:01 2013] [warn] NameVirtualHost *:80 has no VirtualHosts
... waiting ...done.
Restarting ftp server: Running: /usr/sbin/pure-ftpd-mysql-virtualchroot -l mysql:/etc/pure-ftpd/db/mysql.conf -l pam -A -b -u 1000 -D -H -Y 1 -E -8 UTF-8 -O clf:/var/log/pure-ftpd/transfer.log -B
Installation completed.
[email protected]:/tmp/ispconfig3_install/install#
The installer automatically configures all underlying services, so no manual configuration is needed.
You now also have the possibility to let the installer create an SSL vhost for the ISPConfig control panel, so that ISPConfig can be accessed using https:// instead of http://. To achieve this, just press ENTER when you see this question:Do you want a secure (SSL) connection to the ISPConfig web interface (y,n) [y]:.
Afterwards you can access ISPConfig 3 under http(s)://server1.example.com:8080/ or http(s)://192.168.2.251:8080/ ( http or https depends on what you chose during installation). Log in with the username admin and the password admin (you should change the default password after your first login):
The system is now ready to be used.
ISPConfig 3 Manual
In order to learn how to use ISPConfig 3, I strongly recommend to download the ISPConfig 3 Manual.
On more than 300 pages, it covers the concept behind ISPConfig (admin, resellers, clients), explains how to install and update ISPConfig 3, includes a reference for all forms and form fields in ISPConfig together with examples of valid inputs, and provides tutorials for the most common tasks in ISPConfig 3. It also lines out how to make your server more secure and comes with a troubleshooting section at the end.
ISPConfig Monitor App For Android
With the ISPConfig Monitor App, you can check your server status and find out if all services are running as expected. You can check TCP and UDP ports and ping your servers. In addition to that you can use this app to request details from servers that have ISPConfig installed (please note that the minimum installed ISPConfig 3 version with support for the ISPConfig Monitor App is 3.0.3.3! ); these details include everything you know from the Monitor module in the ISPConfig Control Panel (e.g. services, mail and system logs, mail queue, CPU and memory info, disk usage, quota, OS details, RKHunter log, etc.), and of course, as ISPConfig is multiserver-capable, you can check all servers that are controlled from your ISPConfig master server.
For download and usage instructions, please visit http://www.ispconfig.org/ispconfig-3/ispconfig-monitor-app-for-android/.
Additional Notes
OpenVZ
If the Ubuntu server that you've just set up in this tutorial is an OpenVZ container (virtual machine), you should do this on the host system (I'm assuming that the ID of the OpenVZ container is 101 - replace it with the correct VPSID on your system):
VPSID=101
for CAP in CHOWN DAC_READ_SEARCH SETGID SETUID NET_BIND_SERVICE NET_ADMIN SYS_CHROOT SYS_NICE CHOWN DAC_READ_SEARCH SETGID SETUID NET_BIND_SERVICE NET_ADMIN SYS_CHROOT SYS_NICE
do
vzctl set $VPSID --capability ${CAP}:on --save
done
Links
- Ubuntu:http://www.ubuntu.com/
- Configurazione ISP:http://www.ispconfig.org/