Il server perfetto - Ubuntu 14.10 con Apache, PHP, MySQL, PureFTPD, BIND , Postfix, Dovecot e ISPConfig
Questo tutorial mostra come installare un server Ubuntu 14.10 (Utopic Unicorn) (con Apache2, BIND, Dovecot) per l'installazione di ISPConfig 3 e come installare ISPConfig 3. ISPConfig 3 è un pannello di controllo di webhosting che consente di configurare quanto segue servizi tramite 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.0.100 e il gateway 192.168.0.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 14.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. Dovrebbe assomigliare a questo:
nano /etc/apt/sources.list
# # deb cdrom:[Ubuntu-Server 14.10 _Utopic Unicorn_ - Release amd64 (20141022.2)]/ utopic main restricted #deb cdrom:[Ubuntu-Server 14.10 _Utopic Unicorn_ - Release amd64 (20141022.2)]/ utopic 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/ utopic main restricted deb-src http://de.archive.ubuntu.com/ubuntu/ utopic main restricted ## Major bug fix updates produced after the final release of the ## distribution. deb http://de.archive.ubuntu.com/ubuntu/ utopic-updates main restricted deb-src http://de.archive.ubuntu.com/ubuntu/ utopic-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/ utopic universe deb-src http://de.archive.ubuntu.com/ubuntu/ utopic universe deb http://de.archive.ubuntu.com/ubuntu/ utopic-updates universe deb-src http://de.archive.ubuntu.com/ubuntu/ utopic-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/ utopic multiverse deb-src http://de.archive.ubuntu.com/ubuntu/ utopic multiverse deb http://de.archive.ubuntu.com/ubuntu/ utopic-updates multiverse deb-src http://de.archive.ubuntu.com/ubuntu/ utopic-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/ utopic-backports main restricted universe multiverse deb-src http://de.archive.ubuntu.com/ubuntu/ utopic-backports main restricted universe multiverse deb http://security.ubuntu.com/ubuntu utopic-security main restricted deb-src http://security.ubuntu.com/ubuntu utopic-security main restricted deb http://security.ubuntu.com/ubuntu utopic-security universe deb-src http://security.ubuntu.com/ubuntu utopic-security universe deb http://security.ubuntu.com/ubuntu utopic-security multiverse deb-src http://security.ubuntu.com/ubuntu utopic-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 utopic partner # deb-src http://archive.canonical.com/ubuntu utopic 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 utopic main # deb-src http://extras.ubuntu.com/ubuntu utopic 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
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) server su Internet. Esegui semplicemente
apt-get install ntp ntpdate
e l'ora del tuo sistema sarà sempre sincronizzata.
6. 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 mariadb-client mariadb-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" MySQL:<-- yourrootsqlpassword
Ripetere la password per l'utente "root" MySQL:<-- yourrootsqlpassword
Creare un certificato SSL autofirmato?:<-- Sì
Nome host:<-- server1.example.com
Solo locale:<-- OK
Tipo generale di configurazione della posta:<-- Sito Internet
Nome della posta di sistema:<- - server1.example.com
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 [...]
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/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 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
Per eseguire clamav usa
freshclam
service clamav-daemon start
Il server perfetto - Ubuntu 14.10 con Apache, PHP, MySQL, PureFTPD, BIND, Postfix, Dovecot e ISPConfig - Pagina 2
8. 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-sqlite php5-tidy php5-xmlrpc php5-xsl memcached
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...
nano /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 <Directory /> suPHP_Engine on </Directory> # By default, disable suPHP for debian packaged web applications as files # are owned by root and cannot be executed by suPHP because of min_uid. <Directory /usr/share> suPHP_Engine off </Directory> # # Use a specific php config file (a dir which contains a php.ini file) # suPHP_ConfigPath /etc/php5/cgi/suphp/ # # Tells mod_suphp NOT to handle requests with the type <mime-type>. # suPHP_RemoveHandler <mime-type> </IfModule>
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:
nano /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
8.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
8.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
8.3 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.10).
9. 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 protected]:~# newlist mailman
Inserisci l'e-mail della persona che esegue l'elenco: <-- indirizzo e-mail admin, ad es. [email protected]
Password del postino iniziale: <-- password di amministratore per la lista del postino
Per terminare la creazione della propria mailing list, è necessario modificare il proprio file/etc/alias (o
equivalente) aggiungendo le righe seguenti ed eventualmente eseguendo il programma
`newaliases':
## mailman mailman
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 mailma n"
mailman-unsubscribe: "|/var/lib/mailman/mail/mailman unsubscribe mailman"
Premi invio per notificare il proprietario mailman... <-- ENTER
[email protected]:~#
Apri /etc/alias in seguito...
nano /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
10. 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...
nano /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 del tuo Stato o Provincia.
Nome località (ad es. città) []:<-- Inserisci la tua città.
Nome dell'organizzazione (ad es. azienda) [Internet Widgits Pty Ltd]:<-- Inserisci il nome dell'organizzazione (ad es. il nome dell'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
[email protected]:~# service pure-ftpd-mysql restart
Restarting ftp server: Running: /usr/sbin/pure-ftpd-mysql-virtualchroot -l mysql:/etc/pure-ftpd/db/mysql.conf -l pam -8 UTF-8 -u 1000 -E -O clf:/var/log/pure-ftpd/transfer.log -Y 1 -B
[email protected]:~#
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 /):
nano /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
11. Installa il server DNS BIND
BIND può essere installato come segue:
apt-get install bind9 dnsutils
12. 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...
nano /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
13. 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*
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 e Dovecot, crea il file /etc/fail2ban/jail.local:
nano /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:
nano /etc/fail2ban/filter.d/pureftpd.conf
[Definition] failregex = .*pure-ftpd: \(.*@<HOST>\) \[WARNING\] Authentication failed for user.* ignoreregex =
nano /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
Il server perfetto - Ubuntu 14.10 con Apache, PHP, MySQL, PureFTPD, BIND, Postfix, Dovecot e ISPConfig - Pagina 3
15 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 = Sent
draft_folder = Drafts
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.d/. Pertanto creiamo un collegamento simbolico chiamato squirrelmail.conf nella directory /etc/apache2/conf.d/ 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...
nano /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> [...]
Crea la directory /var/lib/squirrelmail/tmp...
mkdir /var/lib/squirrelmail/tmp
... e renderlo di proprietà dell'utente www-data:
chown www-data /var/lib/squirrelmail/tmp
Quindi dobbiamo abilitare squirrelmail con apache2.
a2enconf squirrelmail
Ricarica di nuovo Apache:
service apache2 reload
Questo è già tutto - /etc/apache2/conf.d/squirrelmail.conf definisce un alias chiamato /squirrelmail che punta alla directory di installazione di SquirrelMail /usr/share/squirrelmail.
Ora puoi accedere a SquirrelMail dal tuo sito web come segue:
http://192.168.0.100/squirrelmail
http://www.example.com/squirrelmail
Puoi anche accedervi dal pannello di controllo di ISPConfig vhost (dopo aver installato ISPConfig, vedere il capitolo successivo) come segue (questo non richiede alcuna configurazione in ISPConfig):
http://server1.example.com:8080/squirrelmail
Se desideri utilizzare l'alias /webmail invece di /squirrelmail, apri semplicemente /etc/apache2/conf.d/squirrelmail.conf...
nano /etc/apache2/conf-available/squirrelmail.conf
... e aggiungi la riga Alias /webmail /usr/share/squirrelmail:
Alias /squirrelmail /usr/share/squirrelmail Alias /webmail /usr/share/squirrelmail [...]
Quindi ricarica Apache:
service apache2 reload
Ora puoi accedere a Squirrelmail come segue:
http:// 192.168.0.100/webmail
http://www.example.com/webmail
http://server1.example.com:8080/webmail (dopo aver installato ISPConfig, vedere il capitolo successivo)
Se desideri definire un vhost come webmail.example.com in cui i tuoi utenti possono accedere a SquirrelMail, devi aggiungere la seguente configurazione di vhost a /etc/apache2/conf.d/squirrelmail.conf:
nano /etc/apache2/conf.d/squirrelmail.conf
[...] <VirtualHost *:80> DocumentRoot /usr/share/squirrelmail ServerName webmail.example.com </VirtualHost>
Ovviamente, deve esserci un record DNS per webmail.example.com che punta all'indirizzo IP che utilizzi nella configurazione di vhost. Assicurati inoltre che vhost webmail.example.com non esista in ISPConfig (altrimenti entrambi i vhost interferiranno tra loro!).
Ora ricarica Apache...
service apache2 reload
... e puoi accedere a SquirrelMail da http://webmail.example.com
16. Installa ISPConfig 3
Per installare ISPConfig 3 dall'ultima versione rilasciata, procedere come segue:
cd /tmp
wget http://www.ispconfig.org/downloads/ISPConfig-3-stable.tar.gz
tar xfz ISPConfig-3-stable.tar.gz
cd ispconfig3_install/install/
Il prossimo passo è eseguire
php -q install.php
Questo avvierà il programma di installazione di ISPConfig 3. L'installatore configurerà per te tutti i servizi come Postfix, Dovecot, ecc. Non è necessaria una configurazione manuale come richiesto per ISPConfig 2 (guide di configurazione perfette).
[email protected]:/tmp/ispconfig3_install/install# php -q install.php
------------------- -------------------------------------------------- -----------
_____ ___________ _____ __ _ ____
||_ _/ ___| ___ \ / __ \ / _(_) /__ \
| | \ `--.| |_/ / | / \/ ___ _ __ | |_ _ __ _ _/ /
| | `--. \ __/ | | / _ \| '_ \| _| |/ _` | |_ |
_| |_/\__/ / | | \__/\ (_) | | | | | | | (_| | ___\ \
\___/\____/\_| \____/\___/|_| |_|_| |_|\__, | \____/
__/ |
|___/
------------------------------------- ------------------------------------------
>> Configurazione iniziale
Sistema operativo:14.10 SCONOSCIUTO
Di seguito saranno qualche domande per la configurazione primaria quindi fai attenzione.
I valori predefiniti sono in [parentesi] e possono essere accettati con
Tocca "chiudi" (senza virgolette) per interrompere l'installazione.
Seleziona lingua (en, de) [it]: <-- ENTER
Modalità di installazione (standard, esperto) [standard]: <-- ENTER
Nome host completo qualificato (FQDN) del server, ad es. server1.domain.tld [server1.example.com]: <-- ENTER
nome host server MySQL [localhost]: <-- ENTER
nome utente root MySQL [root] : <-- ENTER
password root MySQL []: <-- tuoroot sqlpassword
database MySQL da creare [dbispconfig]: <-- ENTER
charset MySQL [utf8]: <-- ENTER
Generazione di un 4096 bit RSA chiave privata
................................................. .................................++
.......... ...........++
scrittura di una nuova chiave privata in 'smtpd.key'
-----
Stai per essere chiesto di inserire le informazioni che sarà incorporato
nella richiesta di certificato.
Quello che stai per inserire è quello che viene chiamato nome distinto o DN.
Ci sono alcuni campi ma puoi lasciare alcuni vuoti
Per alcuni campi ci sarà un valore predefinito,
Se inserisci '.', il campo rimarrà vuoto.
-----
Nome del paese (codice di 2 lettere) [AU]: <-- ENTER
Nome dello Stato o provincia (nome completo) [Stato-alcuno]: <-- ENTER
Nome della località (ad esempio città) []: <-- ENTER
Nome dell'organizzazione (ad esempio azienda) [Internet Widgits Pty Ltd]: <-- ENTER
Nome dell'unità organizzativa (ad esempio, sezione) []: <-- ENTER
Nome comune (ad es. FQDN server o IL TUO nome) []: <-- ENTER
Indirizzo e-mail []: <-- ENTER
Configurazione Jailkit
Configurazione Dovecot
Configurazione Spamassassin
Configurazione Amavisd
Configurazione Getmail
Configurazione Pureftpd
Configurazione BIND
Configurazione Apache
Configurazione Vlogger
Configurazione App vhost
Configurazione Bastille Firewall
Configurazione Fail2ban
Installazione ISPConfig
ISPConfig Port [8080]: <-- ENTER
Vuoi una protezione (SSL) connessione all'interfaccia web ISPConfig (y,n) [y]: <-- ENTER
Generazione chiave privata RSA, modulo lungo 4096 bit
....... ...++
......++ e is 65537 (0x10001)
Stai per essere chiesto di inserire informazioni che saranno incorporate
nella richiesta di certificato.
Quello che stai per inserire è quello che viene chiamato nome distinto o DN.
Ci sono alcuni campi ma puoi lasciare alcuni vuoti
Per alcuni campi ci sarà un valore predefinito,
Se inserisci '.', il campo rimarrà vuoto.
-----
Nome del paese (codice di 2 lettere) [AU]: <-- ENTER
Nome dello Stato o provincia (nome completo) [Stato-alcuno]: <-- ENTER
Nome della località (ad esempio città) []: <-- ENTER
Nome dell'organizzazione (ad esempio azienda) [Internet Widgits Pty Ltd]: <-- ENTER
Nome dell'unità organizzativa (ad esempio, sezione) []: <-- ENTER
Nome comune (ad es. FQDN server o IL TUO nome) []: <-- ENTER
Indirizzo e-mail []: <-- ENTER
Inserisci i seguenti attributi "extra"
da inviare con la tua richiesta di certificato
Una password di sfida []: <-- ENTER
Un nome facoltativo dell'azienda []: <-- ENTER
scrittura della chiave RSA
Configurazione di DBServer
Installazione di ISPConfig crontab
no crontab per root
no crontab per getmail
Riavvio dei servizi ...
Invece che invocando script init tramite /etc/init.d, utilizzare il servizio(8)
utilità, ad es. service mysql restart
Poiché lo script che stai tentando di invocare è stato convertito in un lavoro
Upstart, puoi utilizzare anche le utilità stop(8) e quindi start(8),
es. ferma mysql ; avvia mysql. È disponibile anche l'utilità di riavvio(8).
mysql stop/waiting
mysql start/running, process 2817
* Interruzione di Postfix Mail Transport Agent postfix
/usr/sbin/postconf: warning: /etc/postfix/main. cfr: parametro non definito: virtual_mailbox_limit_maps
...fatto.
* Avvio Postfix Mail Transport Agent postfix
postconf: warning: /etc/postfix/main.cf: undefined parametro: virtual_mailbox_limit_maps
postconf: warning: /etc/postfix/main.cf: undefined parametro: virtual_mailbox_limit_maps
postconf: avviso: /etc/postfix/main.cf: undefined parametro: virtual_mailbox_limit_maps
postconf: avviso: /etc/postfix/main.cf: undefined parametro: virtual_mailbox_limit_maps
postconf : avviso: /etc/postfix/main.cf: parametro undefined: virtual_mailbox_limit_maps
postconf: avviso: /etc/postfix/main.cf: parametro undefined: virtual_mailbox_limit_maps
/usr/sbin/postconf: avviso:/etc/postfix/main.cf:parametro undefined: virtual_mailbox_limit_maps
/usr/sbin/postconf: warning: /etc/postfix/main.cf:parametro undefined: virtual_mailbox_limit_maps
/usr/sbin/postconf:avviso: /etc/postfix/main.cf: parametro non definito: virtual_mailbox_limit_maps
/usr/sbin/postconf: avviso: /etc/postfix/main.cf: und parametro definito: virtual_mailbox_limit_maps
/usr/sbin/postconf: warning: /etc/postfix/main.cf: parametro undefined: virtual_mailbox_limit_maps
/usr/sbin/postconf: warning: /etc/postfix/main. cf: parametro undefined: virtual_mailbox_limit_maps
/usr/sbin/postconf: warning: /etc/postfix/main.cf: parametro undefined: virtual_mailbox_limit_maps
/usr/sbin/postconf: warning: /etc/postfix/ main.cf: parametro non definito: virtual_mailbox_limit_maps
/usr/sbin/postconf: avviso: /etc/postfix/main.cf: parametro undefined: virtual_mailbox_limit_maps
/usr/sbin/postconf: avviso: /etc/ postfix/main.cf:parametro undefined: virtual_mailbox_limit_maps
/usr/sbin/postconf: warning: /etc/postfix/main.cf:parametro undefined: virtual_mailbox_limit_maps
/usr/sbin/postconf: warning: / etc/postfix/main.cf: parametro non definito: virtual_mailbox_limit_maps
/usr/sbin/postconf: avviso: /etc/postfix/main.cf: parametro non definito: virtual_mailbox_limit_maps
/usr /sbin/postconf: avviso: /etc/postfix/main.cf: parametro non definito: virtual_mailbox_limit_maps
/usr/sbin/postconf: avviso: /etc/postfix/main.cf: parametro non definito: virtual_mailbox_limit_maps
/usr/sbin/postconf: avviso: /etc/postfix/main.cf: parametro non definito: virtual_mailbox_limit_maps
...fatto.
Smettere di amavisd: amavisd-new.
A partire da amavisd: amavisd-new.
* Arresto del demone ClamAV clamd
...fatto.
* Avvio del demone ClamAV clamd
...fatto.
Invece che richiamare script di init attraverso /etc/init.d, utilizzare il servizio(8)
utilità, ad es. 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#
Il programma di installazione configura automaticamente tutti i servizi sottostanti, quindi non è necessaria alcuna configurazione manuale.
Ora hai anche la possibilità di consentire all'installatore di creare un vhost SSL per il pannello di controllo di ISPConfig, in modo che sia possibile accedere a ISPConfig utilizzando https:// invece di http://. Per ottenere ciò, premi semplicemente INVIO quando vedi questa domanda:Vuoi una connessione sicura (SSL) all'interfaccia web di ISPConfig (y,n) [y]:.
Successivamente puoi accedere a ISPConfig 3 in http(s)://server1.example.com:8080/ o http(s)://192.168.0.100:8080/ (http o https dipende da cosa hai scelto durante l'installazione). Accedi con il nome utente admin e la password admin (dovresti cambiare la password predefinita dopo il primo accesso):
Il sistema è ora pronto per essere utilizzato.
16.1 ISPConfig 3 Manual
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.
17. Additional Notes
17.1 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
18. Collegamenti
- Ubuntu:http://www.ubuntu.com/
- ISPConfig:http://www.ispconfig.org/