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

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

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

Questo tutorial mostra come preparare un server Ubuntu 12.10 (Quantal Quetzal) (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 Apache (anziché nginx), BIND (anziché MyDNS) e Dovecot (anziché Courier).

Tieni presente che questa configurazione non funziona per ISPConfig 2 ! È valido solo per ISPConfig 3!

Non garantisco che questo funzionerà per te!

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.

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

1 Requisiti

Per installare un tale sistema avrai bisogno di quanto segue:

  • il CD del server Ubuntu 12.10, disponibile qui:http://releases.ubuntu.com/releases/12.10/ubuntu-12.10-server-i386.iso (i386) o http://releases.ubuntu.com/releases /12.10/ubuntu-12.10-server-amd64.iso (x86_64)
  • una connessione Internet veloce.

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 Ubuntu nel tuo sistema e avvia da esso. Seleziona la tua lingua:

Quindi seleziona Installa Ubuntu Server:

Scegli di nuovo 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 (ti verrà chiesto di premere alcuni tasti e il programma di installazione proverà a rilevare il layout di tastiera in base ai tasti premuti):

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

Immettere il nome host. In questo esempio, il mio sistema si chiama server1.example.com , quindi inserisco server1 :

Crea un utente, ad esempio l'utente Amministratore con il nome utente amministratore (non utilizzare il nome utente admin in quanto è un nome riservato su Ubuntu 12.10):

Il server perfetto - Ubuntu 12.10 (Apache2, BIND, Dovecot, ISPConfig 3) - Pagina 2

Non ho bisogno di una directory privata crittografata, quindi scelgo No qui:

Si prega di verificare se l'installatore ha rilevato correttamente il fuso orario. In tal caso, seleziona Sì, altrimenti No:

Ora devi partizionare il tuo disco rigido. Per semplicità seleziono Guidato - usa l'intero disco e configura LVM - questo creerà un gruppo di volumi con due volumi logici, uno per il file system / e un altro per lo scambio (ovviamente, il partizionamento dipende totalmente da te - se sai cosa stai facendo, puoi anche configurare le tue partizioni manualmente).

Seleziona il disco che vuoi partizionare:

Quando ti viene chiesto Scrivi le modifiche sui dischi e configura LVM?, seleziona Sì:

Se hai selezionato Guidato - usa l'intero disco e imposta LVM, il partizionatore creerà un grande gruppo di volumi che utilizza tutto lo spazio su disco. È ora possibile specificare la quantità di spazio su disco che deve essere utilizzata dai volumi logici per / e swap. Ha senso lasciare un po' di spazio inutilizzato in modo da poter espandere in seguito i volumi logici esistenti o crearne di nuovi:questo ti dà maggiore flessibilità.

Al termine, premi Sì quando ti viene chiesto Scrivi le modifiche sui dischi?:

Successivamente, le tue nuove partizioni vengono create e formattate.

Ora è in corso l'installazione del sistema di base:

Successivamente viene configurato il gestore di pacchetti apt. Lascia vuota la riga del proxy HTTP a meno che tu non stia utilizzando un server proxy per la connessione a Internet:

Sono un po' vecchio stile e mi piace aggiornare manualmente i miei server per avere un maggiore controllo, quindi seleziono Nessun aggiornamento automatico. Naturalmente, sta a te scegliere cosa selezionare qui:

Abbiamo bisogno di un server DNS, di posta e LAMP, ma tuttavia non ne seleziono nessuno ora perché mi piace avere il pieno controllo su ciò che viene installato sul mio sistema. Installeremo i pacchetti necessari manualmente in seguito. L'unico elemento che seleziono qui è il server OpenSSH in modo da potermi collegare immediatamente al sistema con un client SSH come PuTTY al termine dell'installazione:

L'installazione continua:

Viene installato il boot loader GRUB:

Seleziona Sì quando ti viene chiesto Installa il caricatore di avvio GRUB nel record di avvio principale?:

L'installazione del sistema di base è ora terminata. Rimuovere il CD di installazione dall'unità CD e premere Continua per riavviare il sistema:

Al passaggio successivo...

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

4 Ottieni i privilegi di root

Dopo il riavvio è possibile effettuare il login con il nome utente creato in precedenza (es. amministratore). Poiché dobbiamo eseguire tutti i passaggi di questo tutorial con i privilegi di root, possiamo anteporre tutti i comandi in questo tutorial con la stringa sudo, oppure diventare root in questo momento digitando

sudo su

(Puoi anche abilitare il login di root eseguendo

sudo passwd root

e dando una password a root. Puoi quindi accedere direttamente come root, ma questo è disapprovato dagli sviluppatori e dalla comunità di Ubuntu per vari motivi. Vedi http://ubuntuforums.org/showthread.php?t=765414.)

5 Installa il server SSH (opzionale)

Se non hai installato il server OpenSSH durante l'installazione del sistema, puoi farlo ora:

apt-get install ssh openssh-server

D'ora in poi puoi utilizzare un client SSH come PuTTY e connetterti dalla tua workstation al tuo server Ubuntu 12.10 e seguire i passaggi rimanenti di questo tutorial.

6 Installa vim-nox (opzionale)

Userò vi come editor di testo in questo tutorial. Il programma vi predefinito ha uno strano comportamento su Ubuntu e Debian; per risolvere questo problema, installiamo vim-nox:

apt-get install vim-nox

(Non devi farlo se usi un editor di testo diverso come joe o nano.)

7 Configura la rete

Poiché il programma di installazione di Ubuntu ha configurato il nostro sistema per ottenere le sue impostazioni di rete tramite DHCP, dobbiamo cambiarlo ora perché un server dovrebbe avere un indirizzo IP statico. Modifica /etc/network/interfaces e adattarlo alle tue esigenze (in questa configurazione di esempio userò l'indirizzo IP 192.168.0.100 e i server DNS 8.8.8.8 e 8.8.4.4 - a partire da Ubuntu 12.04, non puoi più modificare direttamente /etc/resolv.conf, ma devi specificare i tuoi server dei nomi nella configurazione di rete - vedi

man risolvconf

per maggiori dettagli):

vi /etc/network/interfaces
# Questo file descrive le interfacce di rete disponibili sul tuo sistema# e come attivarle. Per ulteriori informazioni, vedere interfaces(5).# The loopback network interfaceauto loiface lo inet loopback# The primary network interfaceauto eth0iface eth0 inet indirizzo statico 192.168.0.100 netmask 255.255.255.0 rete 192.168.0.0 broadcast 192.168.0.255 gateway 192.168.0.1 dns- server dei nomi 8.8.8.8 8.8.4.4

Quindi riavvia la rete:

/etc/init.d/riavvio della rete

Quindi modifica /etc/hosts. Rendilo simile a questo:

vi /etc/hosts
127.0.0.1 localhost.localdomain localhost192.168.0.100 server1.example.com server1# Le seguenti righe sono auspicabili per host compatibili con IPv6::1 ip6 -localhost ip6-loopbackfe00::0 ip6-localnetff00::0 ip6-mcastprefixff02::1 ip6-allnodesff02::2 ip6-allrouter

Ora corri

echo server1.example.com> /etc/hostname
/etc/init.d/hostname riavvia

Successivamente, corri

nome host
nome host -f

Entrambi dovrebbero mostrare server1.example.com ora.

8 Modifica /etc/apt/sources.list e aggiorna la tua installazione Linux

Modifica /etc/apt/sources.list. Commenta o rimuovi il CD di installazione dal file e assicurati che i repository Universe e Multiverse siano abilitati. Dovrebbe assomigliare a questo:

vi /etc/apt/sources.list
## deb cdrom:[Ubuntu-Server 12.10 _Quantal Quetzal_ - Release amd64 (20121017.2)]/ quantal main limited#deb cdrom:[Ubuntu-Server 12.10 _Quantal Quetzal_ - Release amd64 (20121017.2)]/ quantal main limited# Vedi http://help.ubuntu.com/community/UpgradeNotes per come aggiornare a# versioni più recenti di distribution.deb http://de.archive. ubuntu.com/ubuntu/ quantal main limiteddeb-src http://de.archive.ubuntu.com/ubuntu/ quantal main limited## Aggiornamenti importanti per la correzione dei bug prodotti dopo il rilascio finale di ## distribution.deb http:// de.archive.ubuntu.com/ubuntu/ quantal-updates main limiteddeb-src http://de.archive.ubuntu.com/ubuntu/ quantal-updates main limited## N.B. il software di questo repository NON è COMPLETAMENTE SUPPORTATO dal team di Ubuntu##. Inoltre, tieni presente che il software nell'universo NON riceverà alcuna ## recensione o aggiornamento dal team di sicurezza di Ubuntu.deb http://de.archive.ubuntu.com/ubuntu/ quantal universedeb-src http://de.archive. ubuntu.com/ubuntu/ quantal universedeb http://de.archive.ubuntu.com/ubuntu/ quantal-updates universedeb-src http://de.archive.ubuntu.com/ubuntu/ quantal-updates universe## N.B. il software di questo repository NON è COMPLETAMENTE SUPPORTATO dal team di Ubuntu## e potrebbe non essere soggetto a una licenza gratuita. Ti preghiamo di soddisfare ## i tuoi diritti di utilizzare il software. Inoltre, tieni presente che il software in## multiverse NON riceverà alcuna recensione o aggiornamento da Ubuntu## security team.deb http://de.archive.ubuntu.com/ubuntu/ quantal multiversedeb-src http://de. archive.ubuntu.com/ubuntu/ quantal multiversedeb http://de.archive.ubuntu.com/ubuntu/ quantal-updates multiversedeb-src http://de.archive.ubuntu.com/ubuntu/ quantal-updates multiverse## NB il software di questo repository potrebbe non essere stato testato in modo completo## come quello contenuto nella versione principale, sebbene includa## versioni più recenti di alcune applicazioni che potrebbero fornire funzionalità utili.## Inoltre, tieni presente che il software nei backport NON riceverà qualsiasi recensione## o aggiornamento dal team di sicurezza di Ubuntu.deb http://de.archive.ubuntu.com/ubuntu/ quantal-backports universo con restrizioni principali multiversedeb-src http://de.archive.ubuntu.com/ubuntu/ quantal-backports universo ristretto principale multiversedeb http://security.ubuntu.com/ubuntu quantal-security main limiteddeb-src http://security.ubuntu.com/ubuntu quantal-security main limiteddeb http://security.ubuntu.com /ubuntu quantal-security universedeb-src http://security.ubuntu.com/ubuntu quantal-security universedeb http://security.ubuntu.com/ubuntu quantal-security multiversedeb-src http://security.ubuntu.com/ ubuntu quantal-security multiverse## Decommenta le due righe seguenti per aggiungere software dalla parte## 'di Canonical ner' repository.## Questo software non fa parte di Ubuntu, ma è offerto da Canonical e dai## rispettivi fornitori come servizio agli utenti di Ubuntu.# deb http://archive.canonical.com/ubuntu quantal partner# deb- src http://archive.canonical.com/ubuntu quantal partner## Decommenta le due righe seguenti per aggiungere software dal repository ## 'extras' di Ubuntu.## Questo software non fa parte di Ubuntu, ma è offerto da terze parti ## sviluppatori che desiderano spedire il loro software più recente.# deb http://extras.ubuntu.com/ubuntu quantal main# deb-src http://extras.ubuntu.com/ubuntu quantal 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:

riavvio

9 Modifica la shell predefinita

/bin/sh è un collegamento simbolico a /bin/dash, tuttavia abbiamo bisogno di /bin/bash, non di /bin/dash. Pertanto facciamo questo:

trattino di riconfigurazione dpkg

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

In caso contrario, l'installazione di ISPConfig avrà esito negativo.

10 Disattiva AppArmor

AppArmor è un'estensione di sicurezza (simile a SELinux) che dovrebbe fornire una sicurezza estesa. Secondo me non è necessario per configurare un sistema sicuro e di solito causa più problemi che vantaggi (pensaci dopo aver fatto una settimana di risoluzione dei problemi perché alcuni servizi non funzionavano come previsto, e quindi scopri che era tutto ok, solo AppArmor stava causando il problema). Pertanto lo disabilito (questo è un must se vuoi installare ISPConfig in un secondo momento).

Possiamo disabilitarlo in questo modo:

/etc/init.d/apparmor stop
update-rc.d -f apparmor remove
apt-get remove apparmor apparmor-utils

11 Sincronizzare 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.

Il server perfetto - Ubuntu 12.10 (Apache2, BIND, Dovecot, ISPConfig 3) - Pagina 4

12 Installa Postfix, Dovecot, MySQL, phpMyAdmin, rkhunter, binutils

Possiamo installare Postfix, Dovecot, MySQL, rkhunter e binutils con un solo comando:

apt-get install postfix postfix-mysql postfix-doc mysql-client mysql-server openssl getmail4 rkhunter binutils dovecot-imapd dovecot-pop3d dovecot-mysql dovecot-sieve sudo

Ti verranno poste le seguenti domande:

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

Quindi apri le porte TLS/SSL e di invio in Postfix:

vi /etc/postfix/master.cf

Decommenta le sezioni di invio e smtps (lascia -o milter_macro_daemon_name=ORIGINATING perché non ne abbiamo bisogno):

[...]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 milter_macro_daemon_name=ORIGINATINGsmtps 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 milter_macro_daemon_name=ORIGINATING[ ...]

Riavvia Postfix in seguito:

/etc/init.d/postfix riavvia

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
[...]# Invece di saltare la rete, l'impostazione predefinita ora è ascoltare solo su# localhost che è più compatibile e non meno sicuro. #indirizzo-bind =127.0.0.1[...]

Quindi riavviamo MySQL:

/etc/init.d/mysql riavvia

Ora controlla che la rete sia abilitata. Corri

netstat -tocca | grep mysql

L'output dovrebbe essere simile a questo:

[email protected]:~# netstat -tap | grep mysql
tcp        0      0 *:mysql                *:*                    ASCOLTA      21298/mysqld
[email protected]:~#

13 Installa Amavisd-new, SpamAssassin e Clamav

Per installare amavisd-new, SpamAssassin e ClamAV, eseguiamo

apt-get install amavisd-new spamassassin clamav clamav-daemon zoo unzip bzip2 arj nomarch lzop cabextract apt-listchanges libnet-ldap-perl libauthen-sasl-perl clamav-docs daemon libio-string-perl libio-socket-ssl- perl libnet-ident-perl zip libnet-dns-perl

La configurazione di ISPConfig 3 utilizza amavisd che carica internamente la libreria dei filtri SpamAssassin, quindi possiamo fermare SpamAssassin per liberare un po' di RAM:

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

14 Installa Apache2, PHP5, phpMyAdmin, FCGI, suExec, Pear e mcrypt

Apache2, PHP5, phpMyAdmin, FCGI, suExec, Pear e mcrypt possono essere installati come segue:

apt-get install apache2 apache2.2-common apache2-doc apache2-mpm-prefork apache2-utils libexpat1 ssl-cert libapache2-mod-php5 php5 php5-common php5-gd php5-mysql php5-imap phpmyadmin php5-cli php5-cgi php5-curl libapache2-mod-fcgid apache2-suexec php-pear php-auth php5-mcrypt mcrypt php5-imagick imagemagick libapache2-mod-suphp libruby libapache2-mod-ruby libapache2-mod-python libapache2-mod-perl2

Vedrai la seguente domanda:

Server Web da riconfigurare automaticamente:<-- apache2
Configurare 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 riscrivi azioni SSL include
a2enmod dav_fs dav auth_digest

Quindi apri /etc/apache2/mods-available/suphp.conf...

vi /etc/apache2/mods-available/suphp.conf

... e commenta la sezione e aggiungi la riga AddType application/x-httpd-suphp .php .php3 .php4 .php5 .phtml - altrimenti tutti i file PHP sarà gestito da SuPHP:

 # # SetHandler application/x-httpd-suphp # Applicazione AddType/x-httpd-suphp .php .php3 .php4 .php5 .phtml suPHP_AddHandler application/x-httpd-suphp  suPHP_Engine su  # Per impostazione predefinita, disabilita suPHP per i pacchetti Debian le applicazioni web come file # sono di proprietà di root e non possono essere eseguite da suPHP a causa di min_uid.  suPHP_Engine off # # Usa un file di configurazione php specifico (una directory che contiene un file php.ini)# suPHP_ConfigPath /etc/php5/cgi/suphp/# ​​# Dice a mod_suphp di NON gestire richieste con il tipo .# suPHP_RemoveHandler 

Riavvia Apache in seguito:

/etc/init.d/apache2 riavvia

Se vuoi ospitare file Ruby con estensione .rb sui tuoi siti web creati tramite ISPConfig, devi commentare la riga application/x-ruby rb in /etc/mime.types:

vi /etc/mime.types
[...]#application/x-ruby rb[...]

(Questo è necessario solo per i file .rb; i file Ruby con estensione .rbx funzionano immediatamente.)

Riavvia Apache in seguito:

/etc/init.d/apache2 riavvia

14.1 Xcache

Xcache è un cacher di codice operativo PHP gratuito e aperto per la memorizzazione nella cache e l'ottimizzazione del codice intermedio PHP. È simile ad altri cacher di codice operativo PHP, come eAccelerator e APC. Si consiglia vivamente di averne uno installato per velocizzare la tua pagina PHP.

Xcache può essere installato come segue:

apt-get install php5-xcache

Ora riavvia Apache:

/etc/init.d/apache2 riavvia

14.2 PHP-FPM

A partire dalla prossima ISPConfig 3.0.5, ci sarà una modalità PHP aggiuntiva che puoi selezionare per l'utilizzo con Apache:PHP-FPM. Se prevedi di utilizzare questa modalità PHP, ha senso configurare il tuo sistema ora in modo che in seguito, quando esegui l'aggiornamento a ISPConfig 3.0.5, il tuo sistema sia preparato (l'ultima versione di ISPConfig al momento della stesura di questo articolo è ISPConfig 3.0 .4.6).

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
/etc/init.d/apache2 restart

14.3 Versioni PHP aggiuntive

A partire dal prossimo ISPConfig 3.0.5, sarà possibile avere più versioni di PHP su un server (selezionabile tramite ISPConfig) che può essere eseguito tramite FastCGI e PHP-FPM. La versione PHP fornita con Ubuntu 12.10 è 5.4.6, quindi mostrerò ora come creare PHP 5.3.18 in modo che possa essere utilizzato sullo stesso server mentre è installato il PHP predefinito di Ubuntu. Installerò PHP 5.3.18 nella directory /opt/php-5.3.18.

Scarica ed estrai PHP 5.3.18:

mkdir /opt/php-5.3.18
mkdir /usr/local/src/php5-build
cd /usr/local/src/php5-build
wget http:/ /de.php.net/get/php-5.3.18.tar.bz2/from/this/mirror -O php-5.3.18.tar.bz2
tar jxf php-5.3.18.tar.bz2
cd php-5.3.18/

Installa i prerequisiti per la creazione di PHP5:

apt-get build-dep php5
apt-get install libfcgi-dev libfcgi0ldbl libjpeg62-dbg libmcrypt-dev libssl-dev

Configura una build PHP 5.3.18 come segue (puoi adattare il comando ./configure alle tue esigenze, dai un'occhiata a

./configure --help

per vedere tutte le opzioni disponibili; se si utilizza un comando ./configure diverso, è possibile che siano necessarie librerie aggiuntive o che il processo di compilazione non riesca) - PHP-FPM e FastCGI si escludono a vicenda in PHP 5.3, ecco perché mostro due modi per creare PHP 5.3, uno per PHP-FPM, uno per FastCGI, tuttavia puoi compilare PHP due volte con entrambe le opzioni di configurazione per ottenerle entrambe:

14.3.1 PHP-FPM

./configure \
--prefix=/opt/php-5.3.18 \
--with-pdo-pgsql \
--with-zlib-dir \
--with-freetype-dir \
--enable-fpm \
--enable-mbstring \
--with-libxml-dir=/usr \
- -enable-soap \
--enable-calendar \
--with-curl --with-mcrypt \
--with-zlib \
--with-gd \
--with-pgsql \
--disable-rpath \
--enable-inline-optimization \
--with-bz2 \
--with- zlib \
--enable-sockets \
--enable-sysvsem \
--enable-sysvshm \
--enable-pcntl \
--enable- mbregex \
--with-mhash \
--enable-zip \
--with-pcre-regex \
--with-mysql \
-- with-pdo-mysql \
--with-mysqli \
--with-jpeg-dir=/usr \
--with-png-dir=/usr \
--enable-gd-native-ttf \
--with-openssl \
--with-fpm-user=www-data \
--with-fpm-group=www- dati \
--with-libdir=/lib/x86_64-linux-gnu
make
make install

Copia php.ini e php-fpm.conf (se hai compilato PHP con FPM) nelle posizioni corrette:

cp /usr/local/src/php5-build/php-5.3.18/php.ini-production /opt/php-5.3.18/lib/php.ini
cp /opt/php-5.3.18/etc/php-fpm.conf.default /opt/php-5.3.18/etc/php-fpm.conf

Apri /opt/php-5.3.18/etc/php-fpm.conf e regola le seguenti impostazioni:nella riga di ascolto devi utilizzare una porta non utilizzata (ad esempio 8999; la porta 9000 potrebbe essere già utilizzata dal PHP-FPM predefinito di Ubuntu ), e devi aggiungere la riga include=/opt/php-5.3.18/etc/pool.d/*.conf alla fine:

vi /opt/php-5.3.18/etc/php-fpm.conf
[...]pid =run/php-fpm.pid[...]user =www-datagroup =www-data[.. .]ascolta =127.0.0.1:8999[...]include=/opt/php-5.3.18/etc/pool.d/*.conf

Crea la directory del pool per PHP-FPM:

mkdir /opt/php-5.3.18/etc/pool.d

Quindi crea uno script di inizializzazione per PHP-FPM:

vi /etc/init.d/php-5.3.18-fpm
#! /bin/sh### BEGIN INIT INFO# Fornisce:php-5.3.18-fpm# Richiesto-Start:$all# Richiesto-Stop:$all# Default-Start:2 3 4 5# Default-Stop:0 1 6# Breve descrizione:avvia php-5.3.18-fpm# Descrizione:avvia il demone PHP FastCGI Process Manager### END INIT INFOphp_fpm_BIN=/opt/php-5.3.18/sbin/php-fpmphp_fpm_CONF=/opt/php -5.3.18/etc/php-fpm.confphp_fpm_PID=/opt/php-5.3.18/var/run/php-fpm.pidphp_opts="--fpm-config $php_fpm_CONF"wait_for_pid () { try=0 while test $provare -lt 35; do case "$1" in 'created') if [ -f "$2" ]; quindi prova='' break fi;; 'rimosso') se [ ! -f "$2" ]; quindi prova='' break fi;; esac echo -n . try=`expr $try + 1` sleep 1 done}case "$1" all'inizio) echo -n "Avvio di php-fpm " $php_fpm_BIN $php_opts if [ "$?" !=0 ]; quindi echo "fallito" esci 1 fi wait_for_pid ha creato $php_fpm_PID if [ -n "$try" ]; quindi echo "fallito" esci 1 else echo "fatto" fi;; stop) echo -n "Chiudere con grazia php-fpm" if [ ! -r $php_fpm_PID ]; quindi echo "avviso, nessun file pid trovato - php-fpm non è in esecuzione?" exit 1 fi kill -QUIT `cat $php_fpm_PID` wait_for_pid rimosso $php_fpm_PID if [ -n "$try" ]; quindi echo "fallito. Usa uscita forzata" uscita 1 else echo "fatto" echo "fatto" fi;; force-quit) echo -n "Terminazione di php-fpm" if [ ! -r $php_fpm_PID ]; quindi echo "avviso, nessun file pid trovato - php-fpm non è in esecuzione?" exit 1 fi kill -TERM `cat $php_fpm_PID` wait_for_pid rimosso $php_fpm_PID if [ -n "$try" ]; quindi echo "fallito" esci 1 else echo "fatto" fi;; riavvio) $0 stop $0 inizio;; reload) echo -n "Ricarica servizio php-fpm" if [ ! -r $php_fpm_PID ]; quindi echo "avviso, nessun file pid trovato - php-fpm non è in esecuzione?" exit 1 fi kill -USR2 `cat $php_fpm_PID` echo " done";; *) echo "Utilizzo:$0 {start|stop|force-quit|restart|reload}" exit 1;;esac

Rendi eseguibile lo script init e crea i collegamenti di avvio del sistema:

chmod 755 /etc/init.d/php-5.3.18-fpm
insserv php-5.3.18-fpm

Finalmente avvia PHP-FPM:

/etc/init.d/php-5.3.18-fpm start

14.3.2 PHP con FastCGI

./configure \
--prefix=/opt/php-5.3.18 \
--with-pdo-pgsql \
--with-zlib-dir \
--with-freetype-dir \
--enable-cgi \
--enable-mbstring \
--with-libxml-dir=/usr \
- -enable-soap \
--enable-calendar \
--with-curl --with-mcrypt \
--with-zlib \
--with-gd \
--with-pgsql \
--disable-rpath \
--enable-inline-optimization \
--with-bz2 \
--with- zlib \
--enable-sockets \
--enable-sysvsem \
--enable-sysvshm \
--enable-pcntl \
--enable- mbregex \
--with-mhash \
--enable-zip \
--with-pcre-regex \
--with-mysql \
-- with-pdo-mysql \
--with-mysqli \
--with-jpeg-dir=/usr \
--with-png-dir=/usr \
--enable-gd-native-ttf \
--with-openssl \
--with-libdir=/lib/x86_64-linux-gnu
make
make install

Copia php.ini nella posizione corretta:

cp /usr/local/src/php5-build/php-5.3.18/php.ini-production /opt/php-5.3.18/lib/php.ini

14.3.3 Configurazione ISPConfig

In ISPConfig 3.0.5, puoi configurare la nuova versione PHP in Sistema> Versioni PHP aggiuntive. Nella scheda Nome, inserisci semplicemente un nome per la versione PHP (ad es. PHP 5.3.18):questa versione PHP sarà elencata con questo nome nelle impostazioni del sito Web in ISPConfig:

Se desideri utilizzare questa versione PHP con FastCGI, vai alla scheda Impostazioni FastCGI (la scheda Impostazioni PHP-FPM può essere lasciata vuota) e compila i campi come segue:

Se desideri utilizzare questa versione PHP con PHP-FPM, vai alla scheda Impostazioni PHP-FPM (la scheda Impostazioni FastCGI può essere lasciata vuota) e compila i campi come segue:

Il server perfetto - Ubuntu 12.10 (Apache2, BIND, Dovecot, ISPConfig 3) - Pagina 5

15 Installa Mailman

Dalla versione 3.0.4, ISPConfig permette anche di gestire (creare/modificare/cancellare) le mailing list di Mailman. Se vuoi utilizzare questa funzione, installa Mailman come segue:

apt-get install mailman

Seleziona almeno una lingua, ad es.:

Lingue supportate:<-- it (inglese)
Elenco dei siti mancanti <-- Ok

Prima di poter avviare Mailman, è necessario creare una prima mailing list chiamata mailman:

postino della nuova lista

[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 file/etc/alias (o
equivalente) aggiungendo le righe seguenti ed eventualmente eseguendo il programma
`newaliases':

## mailing list di mailman
mailman:             "|/var/lib/mailman/mail/mailman post mailman"
mailman-admin:        "|/var/lib/mailman/mail/mailman admin mailman"
mailman-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 mailm an"
mailman-unsubscribe:  "|/var/lib/mailman/mail/mailman unsubscribe mailman"

Premi invio per notificare il proprietario del mailman... <-- ENTER

[email protected]:~#

Apri /etc/alias in seguito...

vi /etc/alias

... e aggiungi le seguenti righe:

[...]## mailing list mailmanmailman:"|/var/lib/mailman/mail/mailman post mailman"mailman-admin:" |/var/lib/mailman/mail/mailman admin mailman"mailman-bounces:"|/var/lib/mailman/mail/mailman rimbalza mailman"mailman-confirm:"|/var/lib/mailman/mail/mailman confirm mailman"mailman-join:"|/var/lib/mailman/mail/mailman unisciti a mailman"mailman-leave:"|/var/lib/mailman/mail/mailman lascia mailman"mailman-owner:"|/var/lib /mailman/mail/mailman proprietario mailman"mailman-request:"|/var/lib/mailman/mail/mailman request mailman"mailman-subscribe:"|/var/lib/mailman/mail/mailman iscriviti mailman"mailman-unsubscribe :"|/var/lib/mailman/mail/mailman cancella l'iscrizione mailman"

Corri

newalias

in seguito e riavvia Postfix:

/etc/init.d/postfix riavvia

Infine dobbiamo abilitare la configurazione di Mailman Apache:

ln -s /etc/mailman/apache.conf /etc/apache2/conf.d/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:///cgi-bin/mailman/admin/, e 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.

Riavvia Apache in seguito:

/etc/init.d/apache2 riavvia

Quindi avvia il demone Mailman:

/etc/init.d/mailman start

16 Installa PureFTPd e Quota

PureFTPd e quota possono essere installati con il seguente comando:

apt-get install pure-ftpd-common pure-ftpd-mysql quotatool

Modifica il file /etc/default/pure-ftpd-common...

vi /etc/default/pure-ftpd-common

... e assicurati che la modalità di avvio sia impostata su standalone e imposta VIRTUALCHROOT=true:

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

Ora configuriamo PureFTPd per consentire sessioni FTP e TLS. FTP è un protocollo molto insicuro perché tutte le password e tutti i dati vengono trasferiti in chiaro. Utilizzando TLS, l'intera comunicazione può essere crittografata, rendendo così l'FTP molto più sicuro.

Se vuoi consentire sessioni FTP e TLS, esegui

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

Per utilizzare TLS, dobbiamo creare un certificato SSL. Lo creo in /etc/ssl/private/, quindi creo prima quella directory:

mkdir -p /etc/ssl/private/

Successivamente, possiamo generare il certificato SSL come segue:

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

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

Modifica le autorizzazioni del certificato SSL:

chmod 600 /etc/ssl/private/pure-ftpd.pem

Quindi riavvia PureFTPd:

/etc/init.d/pure-ftpd-mysql restart

Modifica /etc/fstab. Il mio è simile a questo (ho aggiunto ,usrjquota=quota.user,grpjquota=quota.group,jqfmt=vfsv0 alla partizione con il punto di montaggio /):

vi /etc/fstab
# /etc/fstab:informazioni sul file system statico.## Usa 'blkid' per stampare l'identificatore univoco universale per un# dispositivo; questo può essere usato con UUID=come un modo più robusto per denominare i dispositivi# che funzionano anche se i dischi vengono aggiunti e rimossi. Vedere fstab(5).##     
 /dev/mapper/server1-root / ext4 errors=remount-ro,usrjquota=quota.user, grpjquota=quota.group,jqfmt=vfsv0 0 1# /boot era su /dev/sda1 durante l'installazioneUUID=07152d44-158e-4603-a14d-79f1838adebe /boot ext2 defaults 0 2/dev/mapper/server1-swap_1 nessuno swap sw 0 0

Per abilitare la quota, esegui questi comandi:

mount -o remount /
quotacheck -avugm
quotaon -avug

17 Installa il server DNS BIND

BIND può essere installato come segue:

apt-get install bind9 dnsutils

18 Installa Vlogger, Webalizer e AWstats

Vlogger, webalizer e AWstats possono essere installati come segue:

apt-get install vlogger webalizer awstats geoip-database libclass-dbi-mysql-perl

Apri /etc/cron.d/awstats in seguito...

vi /etc/cron.d/awstats

... e commenta tutto in quel file:

#MAILTO=root#*/10 * * * * www-data [ -x /usr/share/awstats/tools/update.sh ] &&/usr/share/awstats/tools/update.sh# Genera rapporti statici:#10 03 * * * www-data [ -x /usr/share/awstats/tools/buildstatic.sh ] &&/usr/share/awstats /tools/buildstatic.sh

19 Installa Jailkit

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

apt-get install build-essential autoconf automake1.9 libtool flex bison debhelper binutils-gold
cd /tmp
wget http://olivier.sessink.nl/jailkit/jailkit-2.15.tar.gz
tar xvfz jailkit-2.15.tar.gz
cd jailkit- 2.15
./debian/rules binario

Ora puoi installare il pacchetto Jailkit .deb come segue:

cd ..
dpkg -i jailkit_2.15-1_*.deb
rm -rf jailkit-2.15*

Il server perfetto - Ubuntu 12.10 (Apache2, BIND, Dovecot, ISPConfig 3) - Pagina 6

20 Installa fail2ban

Questo è facoltativo ma consigliato, perché il monitor ISPConfig tenta di mostrare il registro:

apt-get install fail2ban

Per fare in modo che fail2ban controlli PureFTPd e Dovecot, crea il file /etc/fail2ban/jail.local:

vi /etc/fail2ban/jail.local
[pureftpd]enabled =trueport =ftpfilter =pureftpdlogpath =/var/log/syslogmaxretry =3[dovecot-pop3imap]enabled =truefilter =dovecot-pop3imapaction =iptables-multiport[name=dovecot-pop3imap, port="pop3,pop3s,imap,imaps", protocol=tcp]logpath =/var/log/mail.logmaxretry =5

Quindi crea i seguenti due file di filtro:

vi /etc/fail2ban/filter.d/pureftpd.conf
[Definizione]failregex =.*pure-ftpd:\(.*@\) \[AVVISO\] Autenticazione non riuscita per l'utente. *ignoreregex =
vi /etc/fail2ban/filter.d/dovecot-pop3imap.conf
[Definizione]failregex =(?:pop3-login|imap-login):.*(?:Autenticazione fallita|Accesso interrotto \(autenticazione non riuscita |Accesso interrotto \(tentativo di utilizzo disabilitato|Disconnesso \(autenticazione non riuscita|Accesso interrotto \(\d+ tentativi di autenticazione).*rip=(?P\S*),.*ignoreregex =

Riavvia fail2ban in seguito:

/etc/init.d/fail2ban riavvio

21 Installa SquirrelMail

Per installare il client webmail di SquirrelMail, esegui

apt-get install squirrelmail

Quindi configura SquirrelMail:

configura-squirrelmail

Dobbiamo dire a SquirrelMail che stiamo usando Dovecot-IMAP/-POP3:

Configurazione di SquirrelMail: Leggi: config.php (1.4.0)
---------------------------------- ------------------------
Menu principale --
1.  Preferenze organizzazione
2.  Impostazioni server
3.  Default cartella
4.  Opzioni generali
5.  Temi
6.  Rubriche 
7.  Messaggio del giorno (MOTD)
8.  Plugin
9.  Database
10. Lingue

D.  Imposta impostazioni predefinite per server IMAP specifici

C   Attiva colore
S   Salva data
Q   Esci

Comando >> <-- D


Configurazione SquirrelMail : Leggi: config.php
---- -------------------------------------------------- ---
Mentre stiamo creando 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 
imposterà alcune impostazioni predefinite per quel server.

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

Seleziona il tuo server IMAP:
    bincimap    =server Bincimap IMAP
    courier     = server IMAP Courier
    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 di 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 
imposterà alcune impostazioni predefinite per quel server.

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

Seleziona il tuo server IMAP:
    bincimap    =server Bincimap IMAP
    courier     = server IMAP Courier
    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

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_co ntain_subfolders_option = 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 organizzazione
2.  Impostazioni server
3.  Default cartella
4.  Opzioni generali
5.  Temi
6.  Rubriche
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
D   Esci

Comando >> <-- S


Configurazione di SquirrelMail : Leggi: config.php (1.4.0)
------------------------------------------------ ---------
Menu principale --
1.  Preferenze organizzazione
2.  Impostazioni server
3.  Default cartella
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
D   Esci

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.d/
ln -s ../../squirrelmail/apache.conf squirrelmail.conf
/etc/init.d/apache2 reload

Ora apri /etc/apache2/conf.d/squirrelmail.conf...

vi /etc/apache2/conf.d/squirrelmail.conf

... e aggiungi le seguenti righe al contenitore che assicurati che mod_php venga utilizzato per accedere a SquirrelMail, indipendentemente dalla modalità PHP selezionata per il tuo sito Web in ISPConfig:

[...] Opzioni FollowSymLinks  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   DirectoryIndex index.php  # l'accesso a configtest è limitato per impostazione predefinita per prevenire la perdita di informazioni 
 ordinare nega,consenti nega da tutti consenti da 127.0.0.1 [ ...]

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

Ricarica di nuovo Apache:

/etc/init.d/apache2 ricarica

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

vi /etc/apache2/conf.d/squirrelmail.conf

... e aggiungi la riga Alias ​​/webmail /usr/share/squirrelmail:

Alias ​​/squirrelmail /usr/share/squirrelmailAlias ​​/webmail /usr/share/squirrelmail[...]

Quindi ricarica Apache:

/etc/init.d/apache2 ricarica

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:

vi /etc/apache2/conf.d/squirrelmail.conf
[...] DocumentRoot /usr/share/squirrelmail ServerName webmail.example.com

Assicurati di sostituire 1.2.3.4 con l'indirizzo IP corretto del tuo server. 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...

/etc/init.d/apache2 ricarica

... e puoi accedere a SquirrelMail da http://webmail.example.com!

Il server perfetto - Ubuntu 12.10 (Apache2, BIND, Dovecot, ISPConfig 3) - Pagina 7

22 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: Debian o compatibile, versione sconosciuta.

    Di seguito saranno qualche domande per la configurazione primaria quindi fai attenzione.
    I valori predefiniti sono tra parentesi e possono essere accettati con .
    Tocca "chiudi" (senza virgolette) per interrompere l'installazione.


Seleziona lingua (en,de) [en]: <-- ENTER

Modalità di installazione (standard, esperto) [standard]: <-- ENTER

Nome host completo qualificato (FQDN) del server, es server1.domain.tld  [server1.example.com]: <-- ENTER

Nome host del server MySQL [localhost]: <-- ENTER

MySQL root nome utente [root]: <-- ENTER

Password root MySQL []: <-- yourrootsqlpassword

Database MySQL per creare [dbispconfig]: <-- ENTER

MySQL charset [utf8]: <-- ENTER

Generazione di una chiave privata RSA a 2048 bit
...........+++
............... ......+++
scrittura di una nuova chiave privata in 'smtpd.key'
-----
Stai per essere chiesto di inserire le informazioni che verranno incorporate
nella tua richiesta di certificato.
Quello che stai per inserire è quello che viene chiamato un nome distinto o un DN.
Ci sono alcuni campi ma puoi lasciare alcuni campi vuoti
Per alcuni campi ci saranno un valore predefinito,
Se inserisci '.', il campo rimarrà vuoto.
-----
Nome del paese (codice di 2 lettere) [AU] : <-- ENTER
Nome Stato o Provincia (nome completo) [Stato-Stato]: <-- ENTER
Nome località (ad esempio città) []: <-- ENTER
Organizzazione Nome (ad es. azienda) [Internet Widgits Pty Ltd]: <-- ENTER
Nome dell'unità organizzativa (ad es. sezione) []: <-- ENTER
C comune Nome (ad es. server FQDN 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 di ISPConfig
ISPConfig Port [8080]: <-- ENTER

Desiderate una connessione (SSL) sicura all'interfaccia web ISPConfig (y,n) [y] : <-- ENTER

Generazione RSA chiave privata, 4096 bit long modulus
.......++
........... ................................................++
e is 65537 (0x10001)
Ti sta per essere chiesto di inserire informazioni che saranno incorporate
nella richiesta di certificato.
Ciò che stai per inserire è ciò che viene chiamato un Distinguished Nome o un DN.
Ci sono alcuni campi ma puoi lasciarne alcuni b lank
Per alcuni campi ci sarà un valore predefinito,
Se inserisci '.', il campo rimarrà vuoto.
-----
Nome del paese (2 codice lettera) [AU]: <-- ENTER
Nome Stato o Provincia (nome completo) [Stato-Stato]: <-- ENTER
Nome località (ad esempio città) []: <-- ENTER
Nome dell'organizzazione (ad es. azienda) [Internet Widgits Pty Ltd]: <-- ENTER
Nome dell'unità organizzativa (ad es. sezione) []: <-- ENTER
Nome comune (ad es. server FQDN o IL TUO nome) []: <-- ENTER
Indirizzo e-mail []: <-- ENTER

Inserisci i seguenti attributi "extra"
da inviare con la richiesta di certificato
Una password sfida []: <-- INVIO
Un nome di azienda opzionale []: <-- INVIO
scrittura chiave RSA
Configurazione DBServer
Installazione ISPConfig crontab
no crontab per root
no crontab per getmail
Riavvio dei servizi ...
Anziché richiamare script di 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 di
Upstart, puoi utilizzare anche le utilità stop(8) e quindi start(8),
/> ad es. ferma mysql ; avvia mysql. L'utilità restart(8) è disponibile.
mysql stop/waiting
mysql start/running, process 2543
 * Interruzione di Postfix Mail Transport Agent postfix
/usr/sbin/postconf : avviso: /etc/postfix/master.cf: parametro non utilizzato: smtpd_bind_address=127.0.0.1
   ...fatto.
 * Avvio di Postfix Mail Transport Agent postfix
postconf: avviso: /etc /postfix/master.cf: parametro inutilizzato: smtpd_bind_address=127.0.0.1
postconf: avviso: /etc/postfix/master.cf: parametro non utilizzato: smtpd_bind_address=127.0.0.1
postconf: avviso: /etc /postfix/master.cf: parametro inutilizzato: smtpd_bind_address=127.0.0.1
postconf: avviso: /etc/postfix/master.cf: parametro non utilizzato: smtpd_bind_address=127.0.0.1
postconf: avviso: /etc /postfix/master.cf: parametro non utilizzato: smtpd_bind_address=127.0.0.1
postconf: avviso: /etc/postfix/master.cf:parametro non utilizzato: smtpd_bind_address=127.0.0.1
/usr/sbin/postconf : avviso: /etc/postfix/master.cf: parametro non utilizzato: smtpd_ bind_address=127.0.0.1
/usr/sbin/postconf: warning: /etc/postfix/master.cf: unused parameter: smtpd_bind_address=127.0.0.1
/usr/sbin/postconf: warning: /etc /postfix/master.cf: parametro inutilizzato: smtpd_bind_address=127.0.0.1
/usr/sbin/postconf: avviso: /etc/postfix/master.cf: parametro non utilizzato: smtpd_bind_address=127.0.0.1
/ usr/sbin/postconf: avviso: /etc/postfix/master.cf: parametro inutilizzato: smtpd_bind_address=127.0.0.1
/usr/sbin/postconf: avviso: /etc/postfix/master.cf: parametro non utilizzato:smtpd_bind_address=127.0.0.1
/usr/sbin/postconf: avviso: /etc/postfix/master.cf: parametro non utilizzato: smtpd_bind_address=127.0.0.1
/usr/sbin/postconf: avviso: /etc /postfix/master.cf: parametro inutilizzato: smtpd_bind_address=127.0.0.1
/usr/sbin/postconf: avviso: /etc/postfix/master.cf: parametro non utilizzato: smtpd_bind_address=127.0.0.1
/ usr/sbin/postconf: avviso: /etc/postfix/master.cf: parametro non utilizzato: smtpd_bind_address=127.0.0.1
/usr/sbin/postcon f: avviso: /etc/postfix/master.cf: parametro non utilizzato: smtpd_bind_address=127.0.0.1
/usr/sbin/postconf: avviso: /etc/postfix/master.cf: parametro non utilizzato: smtpd_bind_address=127.0. 0.1
/usr/sbin/postconf: avviso: /etc/postfix/master.cf: parametro inutilizzato: smtpd_bind_address=127.0.0.1
/usr/sbin/postconf: avviso: /etc/postfix/master .cf: parametro non utilizzato: smtpd_bind_address=127.0.0.1
/usr/sbin/postconf: avviso: /etc/postfix/master.cf:parametro non utilizzato: smtpd_bind_address=127.0.0.1
/usr/sbin/ postconf: warning: /etc/postfix/master.cf: unused parameter: smtpd_bind_address=127.0.0.1
   ...fatto.
Arresto di amavisd: (non in esecuzione).
Il daemon amavisd è già in esecuzione, PID: [1126]
Avvio di amavisd: (non riuscito).
 * Arresto di ClamAV daemon clamd
   ...fatto.
 * Avvio di ClamAV daemon clamd
...fatto.
Anziché richiamare gli script init tramite /etc/init.d, utilizzare l'utilità del servizio(8)
, ad es. service dovecot restart

Poiché lo script che stai tentando di invocare è stato convertito a un lavoro di Upstart, puoi utilizzare anche le utilità stop(8) e quindi start(8),
/> ad es. fermata colombaia; inizia dovecot. L'utilità restart(8) è disponibile.
dovecot stop/waiting
dovecot start/running, process 3668
 * Riavvio Mailman master qrunner mailmanctl
 * In attesa...
   ...fatto.
   ...fatto.
 * Riavvio del server web apache2
 ... in attesa . ...fatto.
Riavvio server ftp: In esecuzione: /usr/sbin/pure-ftpd-mysql-virtualchroot -l mysql:/etc/pure-ftpd/db/mysql.conf -l pam -E -H -Y 1 -O clf:/var/log/pure-ftpd/transfer.log -8 UTF-8 -b -D -A -u 1000 -B
Installazione completata.
esempio@unixlinux. online:/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.

22.1 Manuale di 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.

22.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/.

23 Note aggiuntive

23.1 OpenVZ

Se il server Ubuntu che hai appena impostato in questo tutorial è un contenitore OpenVZ (macchina virtuale), dovresti farlo sul sistema host (suppongo che l'ID del contenitore OpenVZ sia 101 - sostituiscilo con il VPSID corretto sul tuo sistema):

VPSID=101
per 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}:su --save
fatto

  • Ubuntu:http://www.ubuntu.com/
  • Configurazione ISP:http://www.ispconfig.org/

Panels
  1. Il server perfetto – CentOS 7 (Apache2, Dovecot, ISPConfig 3)

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

  3. Il server perfetto - OpenSUSE 12.3 x86_64 (Apache2, Dovecot, ISPConfig 3)

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

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

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

Il server perfetto - OpenSUSE 12.2 x86_64 (Apache2, 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 (Apache2, Dovecot, ISPConfig 3)

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