GNU/Linux >> Linux Esercitazione >  >> Panels >> Panels

Il server perfetto - Debian Squeeze (Debian 6.0) con BIND, Dovecot e Nginx [ISPConfig 3]

Il server perfetto - Debian Squeeze (Debian 6.0) con BIND, Dovecot e Nginx [ISPConfig 3 ]

A cura e compilato da Daniel Harbottle

Questo tutorial mostra come preparare un server Debian Squeeze (Debian 6.0) per l'installazione di ISPConfig 3 e come installare ISPConfig 3. ISPConfig 3 è un pannello di controllo di webhosting che consente di configurare i seguenti servizi tramite un browser web:nginx o Server Web Apache, server di posta Postfix, MySQL, server dei nomi BIND, PureFTPd, SpamAssassin, ClamAV e molti altri.

Questo tutorial si basa sugli eccellenti tutorial "The Perfect Server - Debian Squeeze (Debian 6.0) With BIND &Dovecot [ISPConfig 3]" e "The Perfect Server - Ubuntu 11.10 With Nginx [ISPConfig 3]" con alcune modifiche. L'idea è quella di utilizzare il server web nginx veloce ed efficiente in termini di memoria e Dovecot, che si dice sia anche più efficiente in termini di memoria. Non offro garanzie che funzionerà per te anche se è stato testato su una VM locale e un VPS. Dovrai usare il repository Dotdeb per nginx.

Per imparare a usare ISPConfig 3, consiglio vivamente di scaricare il Manuale di ISPConfig 3.

Su circa 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.

App ISPConfig Monitor per Android

Con l'app ISPConfig Monitor, puoi controllare lo stato del tuo server e scoprire se tutti i servizi funzionano come previsto. Puoi controllare le porte TCP e UDP ed eseguire il ping dei tuoi server. Inoltre, puoi utilizzare questa app per richiedere dettagli dai server su cui è installato ISPConfig (tieni presente che la versione minima di ISPConfig 3 installata con supporto per l'app ISPConfig Monitor è 3.0.3.3! ); questi dettagli includono tutto ciò che sai dal modulo Monitor nel pannello di controllo di ISPConfig (ad es. servizi, log di posta e di sistema, coda di posta, informazioni su CPU e memoria, utilizzo del disco, quota, dettagli del sistema operativo, registro RKHunter, ecc.) e ovviamente , poiché ISPConfig è compatibile con più server, puoi controllare tutti i server controllati dal tuo server principale ISPConfig.

Per le istruzioni di download e utilizzo, visitare http://www.ispconfig.org/ispconfig-3/ispconfig-monitor-app-for-android/.

Non garantisco che questo funzionerà per te!

1 Requisiti

Avrai bisogno di una macchina virtuale o bare metal o VPS con almeno 8 GB di spazio su disco, 1 GB di RAM e una connessione Internet ragionevolmente veloce per estrarre tutti i pacchetti dai repository Debian.

Al momento della stesura, l'ultima versione di Debian è la 6.0.4. Puoi scaricare e masterizzare una ISO o montarla con la GUI di gestione della macchina virtuale o l'utilità della riga di comando scelta.

L'immagine del CD1 ISO AMD64 può essere trovata su:http://cdimage.debian.org/debian-cd/6.0.4/amd64/iso-cd/debian-6.0.4-amd64-CD-1.iso

La maggior parte dei computer al giorno d'oggi è in grado di supportare 64 bit, ma puoi sempre utilizzare l'immagine i386 trovata qui:http://cdimage.debian.org/debian-cd/6.0.4/i386/iso-cd/debian-6.0.4- i386-CD-1.iso

Puoi anche usare il CD netinstall, non dovrebbe fare una grande differenza, tranne per il fatto che tutti i pacchetti che installi vengono scaricati da Internet durante l'installazione.

2 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.

3 Il sistema base

Inserisci il tuo CD di installazione di rete Debian Squeeze nel tuo sistema e avvia da esso. Seleziona Installa (questo avvierà il programma di installazione di testo - se preferisci un programma di installazione grafico, seleziona Installazione grafica):

Scegli la tua lingua:

Quindi seleziona la tua posizione:

Se hai selezionato una combinazione insolita di lingua e posizione (come l'inglese come lingua e la Germania come posizione, come nel mio caso), il programma di installazione potrebbe dirti che non esiste una locale definita per questa combinazione; in questo caso devi selezionare la locale manualmente. Seleziono en_US.UTF-8 qui:

Scegli un layout di tastiera:

Il programma di installazione controlla il CD di installazione, l'hardware e configura la rete con DHCP se è presente un server DHCP nella rete:

Inserisci il nome host che desideri impostare. Questa dovrebbe essere una combinazione di un nome host arbitrario e un nome di dominio, ad es. mioserver.miodominio.com. Questo è anche toccato più avanti nel tutorial. In questo esempio, il sistema si chiama server1.example.com, quindi inserisci server1.example.com:

Inserisci il tuo nome di dominio. In questo esempio, questo è example.com:

Successivamente, dai una password all'utente root:

Conferma quella password per evitare errori di battitura:

Crea un normale account utente, ad esempio l'utente Amministratore con il nome utente amministratore (non utilizzare il nome utente admin poiché è un nome riservato su Debian Squeeze):

Il server perfetto - Debian Squeeze (Debian 6.0) con BIND, Dovecot e Nginx [ISPConfig 3] - Pagina 2

Ora devi partizionare il tuo disco rigido. Per semplicità creerò una grande partizione (con il punto di montaggio /) e una piccola partizione di scambio, quindi seleziono Guidato - usa l'intero disco (ovviamente, il partizionamento dipende totalmente da te - se lo desideri, puoi crearne più di solo una grande partizione e puoi anche usare LVM):

Seleziona il disco che vuoi partizionare:

Quindi seleziona lo schema di partizionamento. Come accennato in precedenza, per semplicità seleziono Tutti i file in una partizione (consigliato per i nuovi utenti):dipende dai tuoi gusti cosa scegli qui:

Al termine, seleziona Termina partizionamento e scrivi le modifiche su disco:

Seleziona Sì quando ti viene chiesto Scrivi modifiche sui dischi?:

Successivamente vengono create e formattate le nuove partizioni:

Ora il sistema di base è installato:

Successivamente è necessario configurare apt. Poiché potresti non voler usare Debian Squeeze CD1 (o netinstall) tutto il tempo che contiene solo un insieme limitato di pacchetti, dovresti usare un mirror di rete. Seleziona il paese in cui si trova il mirror di rete che desideri utilizzare (di solito questo è il paese in cui si trova il tuo sistema Debian Squeeze o VPS):

Quindi seleziona il mirror che desideri utilizzare (ad es. ftp.de.debian.org):

A meno che non utilizzi un proxy HTTP, lascia vuoto il campo seguente e premi Continua:

Apt sta ora aggiornando il database dei suoi pacchetti:

Puoi saltare il sondaggio sull'utilizzo del pacchetto selezionando No:

Abbiamo bisogno di un server web, un server DNS, un server di posta e un database MySQL, tuttavia non ne selezioniamo nessuno ora perché è meglio controllare il più possibile cosa è e non è installato sul sistema. I pacchetti necessari verranno installati manualmente in seguito. Pertanto selezioniamo semplicemente Utilità di sistema standard e server SSH in modo che sia possibile effettuare una connessione SSH al sistema con un terminale o un client SSH come PuTTY dopo che l'installazione è terminata e premiamo Continua:

I pacchetti selezionati da ciascuna categoria nel passaggio precedente vengono scaricati e installati sul sistema:

Quando ti viene chiesto Installa il caricatore di avvio GRUB nel record di avvio principale?, seleziona Sì:

L'installazione del sistema di base è ora terminata. Rimuovere Debian Squeeze CD1 (o netinstall) dall'unità CD e premere Continua per riavviare il sistema:

Il server perfetto - Debian Squeeze (Debian 6.0) con BIND, Dovecot e Nginx [ISPConfig 3] - Pagina 3

4 Installa il server SSH

Se non hai installato un server SSH durante l'installazione di base del sistema, puoi farlo ora:

apt-get install ssh openssh-server

Nota:i comandi in questo tutorial presuppongono che tu abbia effettuato l'accesso come root. Potresti anche voler eliminare la riga del CD-ROM nel tuo /etc/apt/sources.list:

vi /etc/apt/sources.list

e premere d due volte in rapida successione per eliminare una singola riga fino a eliminare tutte le voci del CD-ROM. Se elimini una riga di troppo, inserisci :q! per uscire senza salvare e riprovare.

Dovresti essere in grado di utilizzare un terminale o un client SSH come PuTTY e connetterti dalla tua workstation al server Debian Squeeze e seguire i passaggi rimanenti di questo tutorial.

Se usi vi come editor di testo nel terminale dovresti installare il pacchetto seguente. Il programma vi predefinito su Debian e Ubuntu ha alcuni bug seri che a volte rendono impossibile la modifica, quindi per risolvere questo problema installiamo vim-nox:

apt-get install vim-nox

(Puoi saltare quel passaggio e installare un editor di testo diverso come joe o nano se preferisci che vi sia.)

6 Configura la rete

Poiché il programma di installazione di Debian Squeeze ha configurato il nostro sistema per ottenere le sue impostazioni di rete tramite DHCP, è necessario modificare quella configurazione ora perché un server dovrebbe avere un indirizzo IP statico. Modifica /etc/network/interfaces con un editor di testo e adattalo alle tue esigenze (in questo esempio viene utilizzato l'impostazione dell'indirizzo IP 192.168.0.100). Si noti che allow-hotplug eth0 dovrebbe essere sostituito con auto eth0, altrimenti il ​​riavvio delle interfacce di rete non funziona e richiederebbe un riavvio del sistema. Per modificare con vi immettere:

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
#allow-hotplug eth0
#iface eth0 inet dhcp
auto eth0
iface eth0 inet static
        address 192.168.0.100
        netmask 255.255.255.0
        network 192.168.0.0
        broadcast 192.168.0.255
        gateway 192.168.0.1
/etc/init.d/networking restart

Quindi modifica /etc/hosts. Dovrebbe essere simile a questo:

vi /etc/hosts
127.0.0.1       localhost.localdomain   localhost
192.168.0.100   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 esegui:

echo server1.example.com > /etc/hostname
/etc/init.d/hostname.sh start

o

vi /etc/hostname
/etc/init.d/hostname.sh start

e modifica il nome host in questo modo.

Successivamente, corri

hostname
hostname -f

Dopo che entrambi i comandi devono apparire server1.example.com! Se hai già impostato il nome host e il nome di dominio durante il processo di installazione, probabilmente dovrebbe essere corretto anche se l'indirizzo IP e il nome di dominio completo (FQDN) devono essere inseriti nel file /etc/hosts. In un'installazione locale è possibile utilizzare .local come dominio di primo livello (TLD), ma in questo scenario è necessario un server DNS configurato correttamente per risolvere gli indirizzi IP locali.

7 Aggiungi il repository Dotdeb e aggiorna il tuo sistema Debian

Questo passaggio è fondamentale per far funzionare nginx con ISPConfig 3 e il tuo sistema Debian 6. Aggiungi il repository Dotdeb modificando il file /etc/apt/sources.list e inserendo le 2 righe e il commento opzionale e scarica e aggiungi la chiave GPG:

vi /etc/apt/sources.list
[...]
# Dotdeb repository
deb http://packages.dotdeb.org squeeze all
deb-src http://packages.dotdeb.org squeeze all
[...]

Quindi prendi la chiave GnuPG appropriata:

wget http://www.dotdeb.org/dotdeb.gpg
cat dotdeb.gpg | apt-key add -

Assicurati anche che il tuo /etc/apt/sources.list contenga il repository squeeze-updates (questo assicura di ottenere sempre gli aggiornamenti più recenti per lo scanner antivirus ClamAV:questo progetto pubblica rilasci molto spesso e talvolta le vecchie versioni smettono di funzionare).

[...]
deb http://ftp.de.debian.org/debian/ squeeze-updates main
[...]

Corri:

apt-get update

per aggiornare il database del repository di pacchetti apt e se sono disponibili aggiornamenti, saranno disponibili per l'installazione quando:

apt-get upgrade

8 Modifica la shell predefinita

/bin/sh è un collegamento simbolico a /bin/dash, tuttavia /bin/bash è necessario non /bin/dash. Quindi fai questo:

dpkg-reconfigure dash

Utilizzare dash come shell di sistema predefinita (/bin/sh)? <-- No

9 Sincronizzare l'orologio di sistema

È una buona idea sincronizzare l'orologio di sistema con un server NTP (Network Time Protocol) su Internet. Esegui semplicemente:

apt-get install ntp ntpdate

per mantenere sincronizzata l'ora di sistema.

Il server perfetto - Debian Squeeze (Debian 6.0) con BIND, Dovecot e Nginx [ISPConfig 3] - Pagina 4

10 Installa Postfix, Dovecot, Saslauthd, MySQL, phpMyAdmin, rkhunter, binutils

Puoi installare Postfix, Dovecot, Saslauthd, MySQL, phpMyAdmin, 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 sudo

Ti verranno poste le seguenti domande:

Tipo generale di configurazione della posta:<-- Sito Internet
Nome della posta di sistema:<-- server1.example.com
Nuova password per l'utente "root" di MySQL:<-- yourrootsqlpassword
Ripeti password per l'utente "root" MySQL:<-- yourrootsqlpassword

Vogliamo che MySQL ascolti su tutte le interfacce, non solo su localhost, quindi modifichiamo /etc/mysql/my.cnf e commentiamo la riga bind-address =127.0.0.1:

vi /etc/mysql/my.cnf
[...]
# Instead of skip-networking the default is now to listen only on
# localhost which is more compatible and is not less secure.
#bind-address           = 127.0.0.1
[...]

Quindi riavvia MySQL:

/etc/init.d/mysql restart

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      10617/mysqld
[email protected]:~#

11 Installa Amavisd-new, SpamAssassin e Clamav

Per installare amavisd-new, SpamAssassin e ClamAV, eseguire:

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

Lo script di installazione di ISPConfig 3 utilizza amavisd che carica internamente la libreria dei filtri SpamAssassin, quindi interrompi SpamAssassin per liberare un po' di RAM:

/etc/init.d/spamassassin stop
update-rc.d -f spamassassin remove

12 Installa Nginx, PHP5 (PHP-FPM) e Fcgiwrap

Nginx è disponibile come pacchetto dal repository Dotdeb (i pacchetti sul repository nginx ufficiale non funzionano con ISPConfig 3 al momento della scrittura) quindi per installarlo eseguire il seguente comando:

apt-get install nginx

Apache non dovrebbe essere installato in questa fase sebbene venga estratto come dipendenza per phpMyAdmin più avanti nel tutorial. Rimuovere Apache con:

apt-get purge apache2 apache2.2-common apache2-doc apache2-mpm-prefork apache2-utils

e qualsiasi altro pacchetto correlato. Puoi anche eseguire:

apt-get autoremove

per assicurarti che tutti i pacchetti non necessari vengano eliminati.

Per far funzionare PHP5 in nginx tramite PHP-FPM (FastCGI Process Manager) come alternativa all'implementazione PHP FastCGI con alcune funzionalità aggiuntive adatte a siti Web di qualsiasi dimensione, in particolare il traffico più pesante, installarlo come segue:

apt-get install php5-fpm

PHP-FPM è un processo demone, con lo script init /etc/init.d/php5-fpm, che esegue un server FastCGI sulla porta 9000.

Per aggiungere il supporto MySQL a PHP, possiamo installare il pacchetto php5-mysql. Potrebbero essere necessari anche alcuni moduli PHP5 aggiuntivi per supportare le funzionalità avanzate delle tue applicazioni web. Puoi cercare i moduli PHP5 disponibili in questo modo:

apt-cache search php5

Se non sei preoccupato per lo spazio su disco o se sono necessari o meno per installarli, puoi installarli tutti:

apt-get install php5-mysql php5-curl php5-gd php5-intl php-pear php5-imagick php5-imap php5-mcrypt php5-memcache php5-ming php5-ps php5-pspell php5-recode php5-snmp php5-sqlite php5-tidy php5-xmlrpc php5-xsl

o elimina quelli che sai di non aver bisogno.

APC è un cacher di codice operativo PHP gratuito e open source per la memorizzazione nella cache e l'ottimizzazione del codice intermedio PHP. È simile ad altri cacher di codice operativo PHP, come eAccelerator e XCache. Si consiglia vivamente di averne uno installato per velocizzare le tue pagine PHP.

APC può essere installato come segue:

apt-get install php-apc

Ora riavvia PHP-FPM:

/etc/init.d/php5-fpm restart

Fcgiwrap è un wrapper CGI che dovrebbe funzionare anche per script CGI complessi e può essere utilizzato per ambienti di hosting condiviso perché consente a ciascun vhost di utilizzare la propria directory cgi-bin. Per il supporto CGI in nginx devi installare il pacchetto Fcgiwrap come segue:

apt-get install fcgiwrap

Dopo l'installazione, il demone fcgiwrap dovrebbe essere già avviato; il suo socket è /var/run/fcgiwrap.socket. Se non è in esecuzione, puoi utilizzare lo script /etc/init.d/fcgiwrap per avviarlo.

Questo è tutto! Ora, quando crei un vhost nginx, ISPConfig 3 si occuperà della corretta configurazione del vhost.

13 Installa phpMyAdmin e configura HTTPS per Vhosts

Per installare phpMyAdmin esegui il seguente comando:

apt-get install phpmyadmin

Ti verranno poste le seguenti domande:

Server Web da riconfigurare automaticamente:<-- select none (perché solo apache2 e lighttpd sono disponibili come opzioni)
Configurare il database per phpmyadmin con dbconfig-common? <-- No

Se hai selezionato "Sì", riceverai un errore che può essere letto su questo link:http://serverfault.com/questions/341116/setting-up-phpmyadmin-got-a-mysql-syntax-error

Poiché Apache2 è installato come parte di una dipendenza phpMyAdmin, interrompilo ora con:

/etc/init.d/apache2 stop

e rimuovere i collegamenti di avvio del sistema di Apache:

insserv -r apache2

Avvia nginx in seguito:

/etc/init.d/nginx start

Ora puoi trovare phpMyAdmin nella directory /usr/share/phpmyadmin/.

Dopo aver installato ISPConfig 3, puoi accedere a phpMyAdmin come segue:

L'app ISPConfig 3 vhost sulla porta 8081 per nginx viene fornita con una configurazione phpMyAdmin, quindi puoi utilizzare http://server1.example.com:8081/phpmyadmin o http://server1.example.com:8081/phpMyAdmin per accedere a phpMyAdmin .

Se vuoi usare un alias /phpmyadmin o /phpMyAdmin che puoi usare dai tuoi siti web, questo è un po' più complicato rispetto ad Apache 2 perché nginx non ha alias globali (alias che possono essere definiti per tutti i vhost). Pertanto devi definire gli alias per ogni vhost in modo da poter accedere con phpMyAdmin sull'URI specificato.

Per fare ciò, incolla quanto segue nel campo Direttive nginx nella scheda Opzioni di ogni sito Web in ISPConfig3 (dopo averlo installato più avanti nel tutorial):

        location /phpmyadmin {
               root /usr/share/;
               index index.php index.html index.htm;
               location ~ ^/phpmyadmin/(.+\.php)$ {
                       try_files $uri =404;
                       root /usr/share/;
                       fastcgi_pass 127.0.0.1:9000;
                       fastcgi_index index.php;
                       fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
                       include /etc/nginx/fastcgi_params;
                       fastcgi_buffer_size 128k;
                       fastcgi_buffers 256 4k;
                       fastcgi_busy_buffers_size 256k;
                       fastcgi_temp_file_write_size 256k;
                       fastcgi_intercept_errors on;
               }
               location ~* ^/phpmyadmin/(.+\.(jpg|jpeg|gif|css|png|js|ico|html|xml|txt))$ {
                       root /usr/share/;
               }
        }
        location /phpMyAdmin {
               rewrite ^/* /phpmyadmin last;
        }

Se usi https invece di http per il tuo vhost, dovresti aggiungere la riga fastcgi_param HTTPS alla tua configurazione di phpMyAdmin in questo modo:

        location /phpmyadmin {
               root /usr/share/;
               index index.php index.html index.htm;
               location ~ ^/phpmyadmin/(.+\.php)$ {
                       try_files $uri =404;
                       root /usr/share/;
                       fastcgi_pass 127.0.0.1:9000;
                       fastcgi_param HTTPS on; # <-- add this line
                       fastcgi_index index.php;
                       fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
                       include /etc/nginx/fastcgi_params;
                       fastcgi_buffer_size 128k;
                       fastcgi_buffers 256 4k;
                       fastcgi_busy_buffers_size 256k;
                       fastcgi_temp_file_write_size 256k;
                       fastcgi_intercept_errors on;
               }
               location ~* ^/phpmyadmin/(.+\.(jpg|jpeg|gif|css|png|js|ico|html|xml|txt))$ {
                       root /usr/share/;
               }
        }
        location /phpMyAdmin {
               rewrite ^/* /phpmyadmin last;
        }

È piuttosto dubbio se desideri trasferire dati e password in chiaro su phpMyAdmin o altre applicazioni che desideri mantenere al sicuro. Quindi, per utilizzare sia http che https per il tuo vhost dovresti aggiungere la seguente sezione alla sezione http {} in /etc/nginx/nginx.conf, prima di qualsiasi riga di inclusione, questo determina se il visitatore usa http o https e imposta il $fastcgi_https variabile. Usalo nella tua configurazione di phpMyAdmin di conseguenza:

vi /etc/nginx/nginx.conf
[...]
http {
[...]
        ## Detect when HTTPS is used
        map $scheme $fastcgi_https {
          default off;
          https on;
        }
[...]
}
[...]

Non dimenticare di ricaricare nginx in seguito:

/etc/init.d/nginx reload

Quindi vai di nuovo nel campo Direttive nginx e invece di fastcgi_param HTTPS attivo, aggiungi la riga fastcgi_param HTTPS $fastcgi_https, in modo da poter utilizzare phpMyAdmin sia per le richieste http che per https:

    location /phpmyadmin {
               root /usr/share/;
               index index.php index.html index.htm;
               location ~ ^/phpmyadmin/(.+\.php)$ {
                       try_files $uri =404;
                       root /usr/share/;
                       fastcgi_pass 127.0.0.1:9000;
                       fastcgi_param HTTPS $fastcgi_https; # <-- add this line
                       fastcgi_index index.php;
                       fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
                       include /etc/nginx/fastcgi_params;
                       fastcgi_buffer_size 128k;
                       fastcgi_buffers 256 4k;
                       fastcgi_busy_buffers_size 256k;
                       fastcgi_temp_file_write_size 256k;
                       fastcgi_intercept_errors on;
               }
               location ~* ^/phpmyadmin/(.+\.(jpg|jpeg|gif|css|png|js|ico|html|xml|txt))$ {
                       root /usr/share/;
               }
        }
        location /phpMyAdmin {
               rewrite ^/* /phpmyadmin last;
        }

14 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

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 amministratore per la lista del postino
Per terminare la creazione della propria mailing list, è necessario modificare il proprio /etc/alias o un file equivalente di aggiungendo le righe seguenti:

## mailing list 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 mailman"
mailman-unsubscribe:  "|/var/lib/mailman/mail/mailman annulla iscrizione postino"

Premi invio per notificare proprietario postino... <-- INVIO

[email protected]:~#

Apri /etc/alias in seguito:

vi /etc/aliases

e aggiungi le seguenti righe:

[...]
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"

Esegui newalias e riavvia Postfix:

newaliases
/etc/init.d/postfix restart

Quindi avvia il demone Mailman:

/etc/init.d/mailman start

Dopo aver installato ISPConfig 3, puoi accedere a Mailman come segue:

L'app ISPConfig vhost sulla porta 8081 per nginx viene fornita con una configurazione Mailman, quindi puoi utilizzare http://server1.example.com:8081/cgi-bin/mailman/admin/ o http://server1.example .com:8081/cgi-bin/mailman/listinfo/ per accedere a Mailman.

Se vuoi usare Mailman dai tuoi singoli siti web, la configurazione è un po' più complicata rispetto ad Apache perché nginx non ha alias globali (definendo alias che successivamente funzionano per tutti gli host, ad es. domain.tld/definedalias). Quindi devi definire gli alias per ogni vhost da cui vuoi accedere a Mailman.

Per fare ciò, incolla quanto segue nel campo Direttive nginx dopo aver installato ISPConfig nella scheda Opzioni di ciascun sito Web:

        location /cgi-bin/mailman {
               root /usr/lib/;
               fastcgi_split_path_info (^/cgi-bin/mailman/[^/]*)(.*)$;
               include /etc/nginx/fastcgi_params;
               fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
               fastcgi_param PATH_INFO $fastcgi_path_info;
               fastcgi_param PATH_TRANSLATED $document_root$fastcgi_path_info;
               fastcgi_intercept_errors on;
               fastcgi_pass unix:/var/run/fcgiwrap.socket;
        }
        location /images/mailman {
               alias /usr/share/images/mailman;
        }
        location /pipermail {
               alias /var/lib/mailman/archives/public;
               autoindex on;
      }

Questo definisce l'alias /cgi-bin/mailman/ per il tuo vhost, il che significa che puoi accedere all'interfaccia di amministrazione di Mailman per un elenco su http:///cgi-bin/mailman/admin/, e il la pagina web per gli utenti di una mailing list è disponibile all'indirizzo http:///cgi-bin/mailman/listinfo/.

Sotto http:///pipermail puoi trovare gli archivi della mailing list.

Il server perfetto - Debian Squeeze (Debian 6.0) con BIND, Dovecot e Nginx [ISPConfig 3] - Pagina 5

15 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

Molto probabilmente la modalità di avvio è già impostata su standalone e assicurati che anche VIRTUALCHROOT=true sia definito in questo modo:

[...]
STANDALONE_OR_INETD=standalone
[...]
VIRTUALCHROOT=true
[...]

È probabile che tutte le righe siano commentate, ma vale la pena controllare /etc/inetd.conf per una riga che inizia con ftp stream tcp e commentarla. Se il file o la riga non esistono, non è necessario modificarlo o crearlo. Ciò impedisce a inetd di tentare di avviare ftp:

vi /etc/inetd.conf

Commentalo così:

[...]
#:STANDARD: These are standard services.
#ftp    stream  tcp     nowait  root    /usr/sbin/tcpd /usr/sbin/pure-ftpd-wrapper
[...]

Se dovessi modificare /etc/inetd.conf, riavvia inetd ora:

/etc/init.d/openbsd-inetd restart

Ora puoi configurare PureFTPd per consentire sessioni FTP e TLS. FTP è un protocollo molto insicuro perché tutte le password e i dati vengono trasferiti in chiaro. Utilizzando TLS i trasferimenti di dati possono essere crittografati rendendo così l'FTP molto più sicuro.

Se desideri consentire l'esecuzione di sessioni FTP e TLS:

echo 1 > /etc/pure-ftpd/conf/TLS

Per utilizzare TLS è necessario creare un certificato SSL. Crea la directory e genera il certificato SSL in /etc/ssl/private/ utilizzando i seguenti comandi:

mkdir -p /etc/ssl/private/
openssl req -x509 -nodes -days 7300 -newkey rsa:2048 -keyout /etc/ssl/private/pure-ftpd.pem -out /etc/ssl/private/pure-ftpd.pem

Nome del Paese (codice di 2 lettere) [AU]:<-- Inserisci il nome del tuo Paese (ad es. "DE").
Nome Stato o Provincia (nome completo) [Stato-Stato]:<-- Inserisci il tuo Stato o nome della provincia.
Nome località (ad es. città) []:<-- Inserisci la tua città.
Nome organizzazione (ad es. azienda) [Internet Widgits Pty Ltd]:<-- Inserisci il nome dell'organizzazione (ad es. il nome della tua azienda).
Nome dell'unità organizzativa (ad es. sezione) []:<-- Inserisci il nome dell'unità organizzativa (ad es. "Dipartimento IT").
Nome comune (ad es. IL TUO nome) []:<-- Inserisci il nome di dominio completo del sistema (ad es. "server1.example.com").
Indirizzo e-mail []:<-- Inserisci il tuo indirizzo e-mail.

Quindi cambia i permessi del certificato SSL e riavvia PureFTPd:

chmod 600 /etc/ssl/private/pure-ftpd.pem
/etc/init.d/pure-ftpd-mysql restart

Modifica /etc/fstab aggiungendo ,usrjquota=quota.user,grpjquota=quota.group,jqfmt=vfsv0 alla partizione con il punto di montaggio /, può anche essere fatto su /var se hai una partizione /var separata:

vi /etc/fstab
# /etc/fstab: static file system information.
#
# Use 'blkid' to print the universally unique identifier for a
# device; this may be used with UUID= as a more robust way to name devices
# that works even if disks are added and removed. See fstab(5).
#
# <file system> <mount point>   <type>  <options>       <dump>  <pass>
proc            /proc           proc    defaults        0       0
# / was on /dev/sda1 during installation
UUID=92bceda2-5ae4-4e3a-8748-b14da48fb297 /               ext3    errors=remount-ro,usrjquota=aquota.user,grpjquota=aquota.group,jqfmt=vfsv0 0       1
# swap was on /dev/sda5 during installation
UUID=e24b3e9e-095c-4b49-af27-6363a4b7d094 none            swap    sw              0       0
/dev/scd0       /media/cdrom0   udf,iso9660 user,noauto     0       0
/dev/fd0        /media/floppy0  auto    rw,user,noauto  0       0

Su una partizione /var separata puoi usare usrjquota=aquota.user,grpjquota=aquota.group,jqfmt=vfsv0 sotto opzioni come questa:

[...]
# / was on /dev/sda1 during installation
UUID=92bceda2-5ae4-4e3a-8748-b14da48fb297 /               ext3    errors=remount-ro 0       1
[...]
# /var was on /dev/sda3 during installation
UUID=be189fc3-b1b0-4e41-822c-6f81aa504bc1 /var            ext3    usrjquota=aquota.user,grpjquota=aquota.group,jqfmt=vfsv0 0       2
[...]

Tieni presente che gli UUID, le partizioni e i tipi di file system sono probabilmente diversi sul tuo sistema, quindi non modificare quelli nella configurazione di esempio.

Per abilitare la quota, esegui questi comandi:

mount -o remount /
quotacheck -avugm
quotaon -avug

Se hai abilitato la quota su /var, potresti ricevere una risposta simile sul tuo terminale:

quotacheck: Scanning /dev/sda3 [/var] done
quotacheck: Cannot stat old user quota file: No such file or directory
quotacheck: Cannot stat old group quota file: No such file or directory
quotacheck: Cannot stat old user quota file: No such file or directory
quotacheck: Cannot stat old group quota file: No such file or directory
quotacheck: Checked 335 directories and 3233 files
quotacheck: Old file not found.
quotacheck: Old file not found.
[email protected]:~# quotaon -avug
/dev/sda3 [/var]: group quotas turned on
/dev/sda3 [/var]: user quotas turned on

16 Installa il server DNS BIND

BIND può essere installato come segue:

apt-get install bind9 dnsutils

17 Installa Vlogger, Webalizer e AWstats

Vlogger, webalizer e AWstats possono essere installati come segue:

apt-get install vlogger webalizer awstats geoip-database

Apri /etc/cron.d/awstats per modificarlo...

vi /etc/cron.d/awstats

... e commenta entrambi i lavori cron in quel file:

#*/10 * * * * www-data [ -x /usr/share/awstats/tools/update.sh ] && /usr/share/awstats/tools/update.sh
# Generate static reports:
#10 03 * * * www-data [ -x /usr/share/awstats/tools/buildstatic.sh ] && /usr/share/awstats/tools/buildstatic.sh

18 Installa Jailkit

Jailkit è necessario solo se si desidera eseguire il chroot degli utenti SSH. Jailkit deve essere installato prima di ISPConfig 3, non può essere installato in seguito! Può essere installato come segue:

apt-get install build-essential autoconf automake1.9 libtool flex bison debhelper
cd /tmp
wget http://olivier.sessink.nl/jailkit/jailkit-2.14.tar.gz
tar xvfz jailkit-2.14.tar.gz
cd jailkit-2.14
./debian/rules binary
cd ..
dpkg -i jailkit_2.14-1_*.deb
rm -rf jailkit-2.14*

Il server perfetto - Debian Squeeze (Debian 6.0) con BIND, Dovecot e Nginx [ISPConfig 3] - Pagina 6

19 Installa fail2ban

Questo è facoltativo ma anche consigliato, perché il monitor ISPConfig tenta di mostrare il contenuto del file di 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

... e inserisci:

[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

Quindi crea i due file di filtro:

vi /etc/fail2ban/filter.d/pureftpd.conf

Inserisci:

[Definition]
failregex = .*pure-ftpd: \(.*@<HOST>\) \[WARNING\] Authentication failed for user.*
ignoreregex =
vi /etc/fail2ban/filter.d/dovecot-pop3imap.conf

Inserisci:

[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 =

Quindi riavvia fail2ban:

/etc/init.d/fail2ban restart

20 Installa SquirrelMail (opzionale)

Questo passaggio è del tutto facoltativo. Se invece desideri installare Roundcube, salta questo passaggio e fai riferimento a https://www.howtoforge.com/how-to-install-roundcube-0.7-for-ispconfig-3-on-debian-squeeze. Puoi farlo dopo aver installato ISPConfig 3. Per installare il client webmail di SquirrelMail basta eseguire:

apt-get install squirrelmail

... e 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

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 seleziona il server IMAP, questa opzione verrà
imposta alcune impostazioni predefinite per quel server.

Tieni presente che dovrai sempre andare attraverso e assicurarti di tutto è corretto. Questo non cambia tutto. Ci sono
solo alcune impostazioni che verranno modificate.

Seleziona il tuo server IMAP:
    bincimap    = server Bincimap    = Binc server IMAP
    courier     ==Courier server IMAP
    cyrus       = Cyrus IMAP server
    dovecot     = Dovecot Secure IMAP server
    exchange    = Microsoft Exchange IMAP server
    hmailserver = hMailServer
    macosx      = Mac OS X Mailserver
    mercury32   = Mercury /32
    uw          = server IMAP dell'Università di Washington
    gmail       =accesso IMAP agli account di posta di Google (Gmail)

    chiudi        = Non cambiare nulla
Comando >> <-- dovecot


Configurazione SquirrelMail : Leggi: config.php
----------------------- ----------------------------------
Mentre abbiamo costruito SquirrelMail, ne abbiamo scoperto alcuni
preferenze che funzionano meglio con alcuni server che non funzionano quindi
bene con altri. Se seleziona il server IMAP, questa opzione verrà
imposta alcune impostazioni predefinite per quel server.

Tieni presente che dovrai sempre andare attraverso e assicurarti di tutto è corretto. Questo non cambia tutto. Ci sono
solo alcune impostazioni che verranno modificate.

Seleziona il tuo server IMAP:
    bincimap    = server Bincimap    = Binc server IMAP
    courier     ==Courier server IMAP
    cyrus       = Cyrus IMAP server
    dovecot     = Dovecot Secure IMAP server
    exchange    = Microsoft Exchange IMAP server
    hmailserver = hMailServer
    macosx      = Mac OS X Mailserver
    mercury32   = Mercury /32
    uw          = server IMAP dell'Università di Washington
    gmail       =accesso IMAP agli account Google mail (Gmail)

    chiudi        = Non cambiare nulla
Comando >> dovecot

imap_server_type =dovecot
default_folder_prefix =
cush_folder =cesh
sent_folder =sent
Draft_folder =Draft
show_prefix_option =false
          default_sub_of_inbox = false
show_contain_subfolders_optio n = false
            optional_delimiter = rileva
                 delete_folder = falso

Premere un qualsiasi tasto per continuare... <-- premere un tasto


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

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
S   Salva dati
Q   Esci

Comando >> <-- Q

Ora puoi trovare SquirrelMail nella directory /usr/share/squirrelmail/.

Dopo aver installato ISPConfig 3, puoi accedere a SquirrelMail come segue:

L'app ISPConfig vhost sulla porta 8081 per nginx viene fornita con una configurazione SquirrelMail, quindi puoi utilizzare http://server1.example.com:8081/squirrelmail o http://server1.example.com:8081/webmail per accedere a SquirrelMail.

Se vuoi usare un alias /webmail o /squirrelmail che puoi usare dai tuoi siti web, questo è un po' più complicato che per Apache perché nginx non supporta gli alias globali. Quindi devi definire gli alias per ogni vhost da cui vuoi accedere a SquirrelMail.

Per fare ciò, incolla quanto segue nel campo Direttive nginx nella scheda Opzioni del sito Web in ISPConfig:

        location /squirrelmail {
               root /usr/share/;
               index index.php index.html index.htm;
               location ~ ^/squirrelmail/(.+\.php)$ {
                       try_files $uri =404;
                       root /usr/share/;
                       fastcgi_pass 127.0.0.1:9000;
                       fastcgi_index index.php;
                       fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
                       include /etc/nginx/fastcgi_params;
                       fastcgi_buffer_size 128k;
                       fastcgi_buffers 256 4k;
                       fastcgi_busy_buffers_size 256k;
                       fastcgi_temp_file_write_size 256k;
                       fastcgi_intercept_errors on;
               }
               location ~* ^/squirrelmail/(.+\.(jpg|jpeg|gif|css|png|js|ico|html|xml|txt))$ {
                       root /usr/share/;
               }
        }
        location /webmail {
               rewrite ^/* /squirrelmail last;
        }

If you use https instead of http for your vhost, you should add the line fastcgi_param HTTPS on; to your SquirrelMail configuration like this:

        location /squirrelmail {
               root /usr/share/;
               index index.php index.html index.htm;
               location ~ ^/squirrelmail/(.+\.php)$ {
                       try_files $uri =404;
                       root /usr/share/;
                       fastcgi_pass 127.0.0.1:9000;
                       fastcgi_param HTTPS on; # <-- add this line
                       fastcgi_index index.php;
                       fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
                       include /etc/nginx/fastcgi_params;
                       fastcgi_buffer_size 128k;
                       fastcgi_buffers 256 4k;
                       fastcgi_busy_buffers_size 256k;
                       fastcgi_temp_file_write_size 256k;
                       fastcgi_intercept_errors on;
               }
               location ~* ^/squirrelmail/(.+\.(jpg|jpeg|gif|css|png|js|ico|html|xml|txt))$ {
                       root /usr/share/;
               }
        }
        location /webmail {
               rewrite ^/* /squirrelmail last;
        }

If you use both http and https for your vhost you should have added the relevant section into /etc/nginx/nginx.conf while setting up phpMyAdmin earlier in the tutorial.

Go to the nginx Directives field again, and instead of fastcgi_param HTTPS on; aggiungi la riga fastcgi_param HTTPS $fastcgi_https; so that you can use SquirrelMail for both http and https requests:

        location /squirrelmail {
               root /usr/share/;
               index index.php index.html index.htm;
               location ~ ^/squirrelmail/(.+\.php)$ {
                       try_files $uri =404;
                       root /usr/share/;
                       fastcgi_pass 127.0.0.1:9000;
                       fastcgi_param HTTPS $fastcgi_https; # <-- add this line
                       fastcgi_index index.php;
                       fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
                       include /etc/nginx/fastcgi_params;
                       fastcgi_buffer_size 128k;
                       fastcgi_buffers 256 4k;
                       fastcgi_busy_buffers_size 256k;
                       fastcgi_temp_file_write_size 256k;
                       fastcgi_intercept_errors on;
               }
               location ~* ^/squirrelmail/(.+\.(jpg|jpeg|gif|css|png|js|ico|html|xml|txt))$ {
                       root /usr/share/;
               }
        }
        location /webmail {
               rewrite ^/* /squirrelmail last;
        }

The Perfect Server - Debian Squeeze (Debian 6.0) With BIND, Dovecot &Nginx [ISPConfig 3] - Page 7

21 Installa ISPConfig 3

Before you start the ISPConfig installation ensure that Apache is stopped because phpMyAdmin will have installed Apache as a dependency. Should Apache2 already be installed on the system stop it now:

/etc/init.d/apache2 stop

and remove Apache's system startup links if you have not already done so in a previous step:

insserv -r apache2

Make sure that nginx is running:

/etc/init.d/nginx restart

If you have both Apache and nginx installed, the installer asks you which one you want to use:Apache and nginx detected. Select server to use for ISPConfig:(apache,nginx) [apache]:

Type nginx. If only Apache or nginx are installed, this is automatically detected by the installer, and no question is asked.

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


--------------------------------------------------------------------------------
 _____ ___________   _____              __ _         ____
|_   _/  ___| ___ \ /  __ \            / _(_)       /__  \
  | | \ `--.| |_/ / | /  \/ ___  _ __ | |_ _  __ _    _/ /
  | | `--. \  __/  | | / _ \| '_ \| _| |/ _` | |_ |
 _| |_/\__/ / | | \__/\ (_) | | | | | | | (_| | ___\ \
 \___/\____/\_|      \____/\___/|_| |_|_| |_|\__, | \____/
                                              __/ |
                                             |___/
--------------------------------------------------------------------------------


>> Initial configuration

Operating System: Debian or compatible, unknown version.

    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 []: <-- yourrootsqlpassword

MySQL database to create [dbispconfig]: <-- ENTER

MySQL charset [utf8]: <-- ENTER

Apache and nginx detected. Select server to use for ISPConfig: (apache,nginx) [apache]: <-- nginx

Generating a 2048 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 (eg, YOUR name) []: <-- ENTER
Email Address []: <-- ENTER
Configuring Jailkit
Configur ing SASL
Configuring PAM
Configuring Courier
Configuring Spamassassin
Configuring Amavisd
Configuring Getmail
Configuring Pureftpd
Configuring BIND
Configuring nginx
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 q uite 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 (eg, 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. ferma mysql ; avvia mysql. The restart(8) utility is also available.
mysql stop/waiting
mysql start/running, process 2463
 * Stopping Postfix Mail Transport Agent postfix
   ...done.
 * Starting Postfix Mail Transport Agent postfix
   ...done.
 * Stopping SASL Authentication Daemon saslauthd
   ...done.
 * Starting SASL Authentication Daemon saslauthd
   ...done.
Stopping amavisd: amavisd-new.
Starting amavisd: amavisd-new.
 * Stopping ClamAV daemon clamd
   ...done.
 * Starting ClamAV daemon clamd
Bytecode: Security mode set to "TrustSigned".
   ...done.
 * Stopping Courier authentication services authdaemond
   ...done.
 * Starting Courier authentication services authdaemond
   ...done.
 * Stopping Courier IMAP server imapd
   ...done.
 * Starting Courier IMAP server imapd
   ...done.
 * Stopping Courier IMAP-SSL server imapd-ssl
   ...done.
 * Starting Courier IMAP-SSL se rver imapd-ssl
   ...done.
 * Stopping Courier POP3 server...
   ...done.
 * Starting Courier POP3 server...
   ...done.
 * Stopping Courier POP3-SSL server...
   ...done.
 * Starting Courier POP3-SSL server...
   ...done.
 * Restarting Mailman master qrunner mailmanctl
 * Waiting...
   ...fail!
The master qrunner lock could not be acquired because it appears as if another
master qrunner is already running.

   ...done.
 * Reloading PHP5 FastCGI Process Manager php5-fpm
   ...done.
Reloading nginx configuration: nginx.
Restarting ftp server: Running: /usr/sbin/pure-ftpd-mysql-virtualchroot -l mysql:/etc/pure-ftpd/db/mysql.conf -l pam -8 UTF-8 -O clf:/var/log/pure-ftpd/transfer.log -D -H -b -A -E -u 1000 -Y 1 -B
Installation completed.
You have mail in /var/mail/root
[email protected]:/tmp/ispconfig3_install/install#

Il programma di installazione configura automaticamente tutti i servizi sottostanti, quindi non è necessaria alcuna configurazione manuale.

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]:.

You can then access ISPConfig 3 under http(s)://server1.example.com:8080/ or http(s)://192.168.0.100: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 and possibly edit the admin username after your first login):

If your browser indicates a 502 Bad Gateway error, just restart PHP-FPM and try the URL again:

/etc/init.d/php5-fpm restart

It can take a couple of minutes for the control panel to be accessible. The system should be ready to be used except if you have an error in your mail.log then read the note below.

21.1 Manuale di ISPConfig 3

Per imparare a usare ISPConfig 3, consiglio vivamente di scaricare il Manuale di ISPConfig 3.

Su circa 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.

21.2 App ISPConfig Monitor per Android

Con l'app ISPConfig Monitor, puoi controllare lo stato del tuo server e scoprire se tutti i servizi funzionano come previsto. Puoi controllare le porte TCP e UDP ed eseguire il ping dei tuoi server. In aggiunta a ciò, puoi utilizzare questa app per richiedere dettagli dai server su cui è installato ISPConfig (tieni presente che la versione minima di ISPConfig 3 installata con supporto per l'app ISPConfig Monitor è 3.0.3.3! ); questi dettagli includono tutto ciò che sai dal modulo Monitor nel pannello di controllo di ISPConfig (ad es. servizi, log di posta e di sistema, coda di posta, informazioni su CPU e memoria, utilizzo del disco, quota, dettagli del sistema operativo, registro RKHunter, ecc.) e ovviamente , poiché ISPConfig è compatibile con più server, puoi controllare tutti i server controllati dal tuo server principale ISPConfig.

Per le istruzioni di download e utilizzo, visitare http://www.ispconfig.org/ispconfig-3/ispconfig-monitor-app-for-android/.

22 Note aggiuntive

22.1 It is likely that emails are not sent or received so to correct this follow the steps below.

Postfix/Dovecot - warning SASL:Connect to private/auth failed:No such file or directory

Error: Postfix/Dovecot - warning: SASL: Connect to private/auth failed: No such file or directory

Similar error messages will appear in your mail log (cat /var/log/mail.log):

Aug 23 15:55:01 server1 postfix/smtpd[15194]: warning: SASL: Connect to private/auth failed: No such file or directory
Aug 23 15:55:01 server1 postfix/smtpd[15194]: fatal: no SASL authentication mechanisms
Aug 23 15:55:02 server1 postfix/master[3979]: warning: process /usr/libexec/postfix/smtpd pid 15194 exit status 1
Aug 23 15:55:02 server1 postfix/master[3979]: warning: /usr/libexec/postfix/smtpd: bad command startup -- throttling

Solution (this config should already exist after this tutorial):

Open your dovecot.conf /etc/dovecot/dovecot.conf, and make sure you have the following lines in it:

vi /etc/dovecot/dovecot.conf
[...]
client {
       path = /var/spool/postfix/private/auth
       mode = 0660
       user = postfix
       group = postfix
}
[...]

Restart Dovecot.

Then check if /var/spool/postfix/private/auth got created:

ls -l /var/spool/postfix/private/auth

Also make sure you add the following line into your /etc/postfix/main.cf file, sensibly on the line next to readme_directory =/usr/share/doc/postfix and restart postfix.

[...]
queue_directory = /var/spool/postfix
[...]
/etc/init.d/postfix restart

22.1 OpenVZ

If the Debian server that you have just set up in this tutorial is an OpenVZ container (virtual machine), you should do this on the host system, 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

  • Debian:http://www.debian.org/
  • Configurazione ISP:http://www.ispconfig.org/

Panels
  1. Il server perfetto - Ubuntu 14.10 (nginx, BIND, Dovecot, ISPConfig 3)

  2. Il server perfetto - Ubuntu 15.04 (nginx, BIND, Dovecot e ISPConfig 3)

  3. Il server perfetto - Ubuntu 12.10 (nginx, BIND, Dovecot, ISPConfig 3)

  4. Il server perfetto - Debian 8.6 (nginx, BIND, Dovecot, ISPConfig 3.1)

  5. Il server perfetto - Debian 9 (Nginx, BIND, Dovecot, ISPConfig 3.1)

Il server perfetto - OpenSUSE 12.2 x86_64 (nginx, Dovecot, ISPConfig 3)

Il server perfetto - CentOS 6.3 x86_64 (nginx, Dovecot, ISPConfig 3)

Il server perfetto - Debian Wheezy (nginx, BIND, Dovecot, ISPConfig 3)

Il server perfetto - Ubuntu 13.04 (Apache2, BIND, Dovecot, ISPConfig 3)

Il server perfetto - CentOS 6.4 x86_64 (nginx, Dovecot, ISPConfig 3)

Il server perfetto - Debian Wheezy (Apache2, BIND, Dovecot, ISPConfig 3)