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

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

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

Questo tutorial mostra come preparare un server CentOS 6.4 x86_64 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 web server, Postfix server di posta, MySQL, server dei nomi BIND, PureFTPd, SpamAssassin, ClamAV, Mailman e molti altri. Dalla versione 3.0.4, ISPConfig viene fornito con il supporto completo per il server web nginx oltre ad Apache; questo tutorial copre la configurazione di un server che utilizza nginx, non Apache.

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

  • Scarica i due DVD di CentOS 6.4 da un mirror accanto a te (l'elenco dei mirror è disponibile qui:http://isoredirect.centos.org/centos/6/isos/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 Installa il sistema di base

Avvia dal tuo primo DVD CentOS 6.4 (DVD 1). Seleziona Installa o aggiorna un sistema esistente:

Il test del supporto di installazione può richiedere molto tempo, quindi saltiamo questo test qui:

Viene visualizzata la schermata di benvenuto del programma di installazione di CentOS. Fare clic su Avanti:

Scegli la lingua successiva:

Seleziona il layout della tastiera:

Presumo che utilizzi un disco rigido collegato localmente, quindi dovresti selezionare Dispositivi di archiviazione di base qui:

Potrebbe essere visualizzato il seguente avviso - Errore durante l'elaborazione dell'unità. Se vedi questo clicca sul pulsante Reinizializza tutto per procedere:

Inserisci il nome host del server (es. server1.example.com), quindi fai clic sul pulsante Configura rete:

Vai alla scheda Wired, seleziona l'interfaccia di rete (probabilmente eth0) e fai clic su Modifica...:

Seleziona la casella di controllo Connetti automaticamente e vai alla scheda Impostazioni IPv4 e seleziona Manuale nel menu a discesa Metodo. Compila uno, due o tre nameserver (separati da virgola) nel campo Server DNS (es. 8.8.8.8,8.8.4.4), quindi clicca sul pulsante Aggiungi accanto all'area Indirizzi:

Ora dai alla tua scheda di rete un indirizzo IP statico e una maschera di rete (in questo tutorial sto usando l'indirizzo IP 192.168.0.100 e la maschera di rete 255.255.255.0 a scopo dimostrativo; se non sei sicuro dei valori corretti, http://www. subnetmask.info potrebbe aiutarti). Compila anche il tuo gateway (es. 192.168.0.1) e fai clic sul pulsante Applica...:

La configurazione di rete è ora terminata. Fare clic sul pulsante Avanti:

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

4 Regola /etc/hosts

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

vi /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
192.168.0.100   server1.example.com     server1

::1         localhost localhost.localdomain localhost6 localhost6.localdomain6

5 Configura il firewall

(Puoi saltare questo capitolo se hai già disabilitato il firewall al termine dell'installazione di base del sistema.)

Voglio installare ISPConfig alla fine di questo tutorial che viene fornito con il proprio firewall. Ecco perché ora disabilito il firewall CentOS predefinito. Naturalmente, sei libero di lasciarlo acceso e configurarlo in base alle tue esigenze (ma in seguito non dovresti utilizzare nessun altro firewall poiché molto probabilmente interferirà con il firewall CentOS).

Corri

system-config-firewall

e disabilitare il firewall.

Per verificare che il firewall sia stato davvero disabilitato, puoi eseguire

iptables -L 

dopo. L'output dovrebbe essere simile a questo:

[[email protected] ~]# iptables -L
Chain INPUT (policy ACCEPT)
target     prot opt source              destinazione

Chain FORWARD (policy ACCEPT)
target prot opt sorgente              destinazione

CHAIN OUTPUT (policy ACCEPT)
target     prot opt source              destinazione
[[email protected] ~]#

6 Disattiva SELinux

SELinux è un'estensione di sicurezza di CentOS 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 SELinux stava causando il problema). Pertanto lo disabilito (questo è un must se vuoi installare ISPConfig in un secondo momento).

Modifica /etc/selinux/config e imposta SELINUX=disabled:

vi /etc/selinux/config
# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
#     enforcing - SELinux security policy is enforced.
#     permissive - SELinux prints warnings instead of enforcing.
#     disabled - No SELinux policy is loaded.
SELINUX=disabled
# SELINUXTYPE= can take one of these two values:
#     targeted - Targeted processes are protected,
#     mls - Multi Level Security protection.
SELINUXTYPE=targeted

Successivamente dobbiamo riavviare il sistema:

reboot

7 Abilita repository aggiuntivi e installa alcuni software

Per prima cosa importiamo le chiavi GPG per i pacchetti software:

rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY*

Quindi abilitiamo i repository RPMforge ed EPEL sul nostro sistema CentOS poiché molti dei pacchetti che installeremo nel corso di questo tutorial non sono disponibili nei repository CentOS 6.4 ufficiali:

rpm --import http://dag.wieers.com/rpm/packages/RPM-GPG-KEY.dag.txt

cd /tmp
wget http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.2-2.el6.rf.x86_64.rpm
rpm -ivh rpmforge-release- 0.5.2-2.el6.rf.x86_64.rpm

(Se il link sopra non funziona più, puoi trovare la versione corrente di rpmforge-release qui:http://packages.sw.be/rpmforge-release/)

rpm --import https://fedoraproject.org/static/0608B895.txt
wget http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch. rpm
rpm -ivh epel-release-6-8.noarch.rpm

Dobbiamo anche abilitare il repository RPM Remi che contiene il pacchetto php-fpm che installeremo in seguito:

rpm --import http://rpms.famillecollet.com/RPM-GPG-KEY-remi
rpm -ivh http://rpms.famillecollet.com/enterprise/remi-release-6.rpm

yum install yum-priorities

Modifica /etc/yum.repos.d/epel.repo...

vi /etc/yum.repos.d/epel.repo

... e aggiungi la linea priority=10 alla sezione [epel]:

[epel]
name=Extra Packages for Enterprise Linux 6 - $basearch
#baseurl=http://download.fedoraproject.org/pub/epel/6/$basearch
mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=epel-6&arch=$basearch
failovermethod=priority
enabled=1
priority=10
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6
[...]

Quindi fai lo stesso per la sezione [remi] in /etc/yum.repos.d/remi.repo, oltre a modificare abilitato a 1:

vi /etc/yum.repos.d/remi.repo
[remi]
name=Les RPM de remi pour Enterprise Linux $releasever - $basearch
#baseurl=http://rpms.famillecollet.com/enterprise/$releasever/remi/$basearch/
mirrorlist=http://rpms.famillecollet.com/enterprise/$releasever/remi/mirror
enabled=1
priority=10
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-remi
failovermethod=priority

[remi-test]
name=Les RPM de remi en test pour Enterprise Linux $releasever - $basearch
#baseurl=http://rpms.famillecollet.com/enterprise/$releasever/test/$basearch/
mirrorlist=http://rpms.famillecollet.com/enterprise/$releasever/test/mirror
enabled=0
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-remi

Quindi aggiorniamo i nostri pacchetti esistenti sul sistema:

yum update

Ora installiamo alcuni pacchetti software che saranno necessari in seguito:

yum groupinstall 'Development Tools'

8 Quota

(Se hai scelto uno schema di partizionamento diverso dal mio, devi modificare questo capitolo in modo che la quota si applichi alle partizioni dove ne hai bisogno.)

Per installare quota, eseguiamo questo comando:

yum install quota

Modifica /etc/fstab e aggiungi ,usrjquota=aquota.user,grpjquota=aquota.group,jqfmt=vfsv0 alla partizione / (/dev/mapper/vg_server1-lv_root):

vi /etc/fstab
#
# /etc/fstab
# Created by anaconda on Wed Jul 11 17:52:57 2012
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
/dev/mapper/vg_server1-lv_root /                       ext4    defaults,usrjquota=aquota.user,grpjquota=aquota.group,jqfmt=vfsv0        1 1
UUID=806910a1-dbdf-4746-bd94-cbe73ce81493 /boot                   ext4    defaults        1 2
/dev/mapper/vg_server1-lv_swap swap                    swap    defaults        0 0
tmpfs                   /dev/shm                tmpfs   defaults        0 0
devpts                  /dev/pts                devpts  gid=5,mode=620  0 0
sysfs                   /sys                    sysfs   defaults        0 0
proc                    /proc                   proc    defaults        0 0

Quindi esegui

mount -o remount /

quotacheck -avugm
quotaon -avug

per abilitare la quota.

9 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

yum install ntp

e l'ora del tuo sistema sarà sempre sincronizzata.

10 Installa MySQL

Installa MySQL come segue:

yum install mysql mysql-server

Quindi crea i collegamenti di avvio del sistema per MySQL e avvialo:

chkconfig --levels 235 mysqld su
/etc/init.d/mysqld start

Imposta le password per l'account root MySQL:

mysql_secure_installation

[[email protected] tmp]# mysql_secure_installation




NOTA: L'ESECUZIONE DI TUTTE LE PARTI DI QUESTO SCRIPT È CONSIGLIATA PER TUTTI MySQL
      SERVER IN PRODUZIONE UTILIZZO! PER FAVORE, LEGGERE ATTENTAMENTE OGNI PASSO!


Per accedere a MySQL per proteggerlo, avremo necessità della password
corrente per l'utente root. Se hai appena installato MySQL e
non hai impostato la password root, la password sarà vuota,
quindi dovresti premere invio qui.

Invio password corrente per root (inserire per nessuno):
OK, password utilizzata con successo, in corso...

L'impostazione della password di root assicura che nessuno possa accedere alla root di MySQL
utente senza l'appropriata autorizzazione.

Impostare la password di root? [S/n] <-- ENTER
Nuova password: <-- yourrootsqlpassword
Reinserire nuova password: <-- yourrootsqlpassword
Password aggiornata con successo!
Ricaricamento tabelle privilegi. .
 ... Successo!


Per impostazione predefinita, un'installazione MySQL ha un utente anonimo, consentendo a chiunque
di accedere a MySQL senza deve avere un account utente creato per
loro. Questo è destinato solo a test e a rendere l'installazione
andare un po' più agevole. Dovresti rimuoverli prima di trasferirti in un ambiente di produzione.

Rimuovere utenti anonimi? [S/n] <-- ENTER
 ... Successo!

Normalmente, a root dovrebbe essere consentito di connettersi da 'localhost'. Questo
garantisce che qualcuno non riesca a indovinare la password root dalla rete.

Disconsentire l'accesso root da remoto? [S/n] <-- ENTER
 ... Successo!

Per impostazione predefinita, MySQL viene con un database denominato 'test' a cui chiunque può
accedere. Questo è anche destinato solo a test, e dovrebbe essere rimosso
prima di trasferirsi in un ambiente di produzione.

Rimuovere database di test e accedere ad esso? [S/n] <-- ENTER
 - Dropping database di test...
 ... Successo!
 - Rimozione privilegi sul database di test...
 ... Successo !

Ricaricare le tabelle di privilegi garantirà che tutte le modifiche apportate finora
diventeranno immediatamente effettive.

Ricaricare le tabelle privilegi adesso? [S/n] <-- ENTER
 ... Successo!

Pulizia ...



Fatto! Se hai completato tutti i passaggi precedenti, l'installazione di MySQL
dovrà essere protetta.

Grazie per aver utilizzato MySQL!


[esempio @unixlinux.online tmp]#

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

11 Installa Dovecot

Dovecot può essere installato come segue:

yum install dovecot dovecot-mysql
mkdir /etc/dovecot
touch /etc/dovecot/dovecot-sql.conf
ln -s /etc/dovecot/dovecot-sql.conf /etc/ dovecot-sql.conf

Ora crea i link di avvio del sistema e avvia Dovecot:

chkconfig --levels 235 dovecot su
/etc/init.d/dovecot start

12 Installa Postfix

Postfix può essere installato come segue:

yum installa suffisso

Quindi disattiva Sendmail e avvia Postfix:

chkconfig --levels 235 sendmail off
chkconfig --levels 235 postfix on
/etc/init.d/sendmail stop
/etc/init.d/postfix restart

13 Installa Getmail

Getmail può essere installato come segue:

yum installa getmail

14 Installa Amavisd-new, SpamAssassin e ClamAV

Per installare amavisd-new, spamassassin e clamav, eseguire il comando seguente:

yum install amavisd-new spamassassin clamav clamd decomprimi bzip2 unrar perl-DBD-mysql

Quindi iniziamo freshclam, amavisd e clamd.amavisd:

sa-update
chkconfig --levels 235 amavisd su
chkconfig --del clamd
chkconfig --levels 235 clamd.amavisd su
/usr/bin/freshclam
/etc/init.d/amavisd start
/etc/init.d/clamd.amavisd start

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

Nginx è disponibile come pacchetto per CentOS 6.4 (da EPEL) che possiamo installare come segue:

yum installa nginx

Aggiungi la seguente sezione alla sezione http {} in /etc/nginx/nginx.conf (prima di qualsiasi riga di inclusione) che determina se il visitatore utilizza http o https e imposta la variabile $https di conseguenza - questo è necessario perché la versione di nginx è in arrivo con CentOS è 1.0.15 e la variabile $https è stata introdotta in nginx nella versione 1.1.11 e ISPConfig utilizza questa variabile:

vi /etc/nginx/nginx.conf

[...]
http {
[...]
    ## Detect when HTTPS is used
    map $scheme $https {
      default off;
      https on;
    }
[...]
}
[...]

Se Apache2 è già installato sul sistema, interrompilo ora...

/etc/init.d/httpd stop

... e rimuovi i collegamenti di avvio del sistema di Apache:

chkconfig --del httpd

Quindi creiamo i collegamenti di avvio del sistema per nginx e lo avviamo:

chkconfig --levels 235 nginx su
/etc/init.d/nginx start

(Se sono installati sia Apache2 che nginx, il programma di installazione di ISPConfig 3 ti chiederà quale vuoi usare - rispondi a nginx in questo caso. Se è installato solo uno di entrambi, ISPConfig eseguirà automaticamente la configurazione necessaria.)

Possiamo far funzionare PHP5 in nginx tramite PHP-FPM (PHP-FPM (FastCGI Process Manager) è un'implementazione PHP FastCGI alternativa con alcune funzionalità aggiuntive utili per siti di qualsiasi dimensione, in particolare i siti più affollati). Possiamo installare php-fpm insieme a php-cli e alcuni moduli PHP5 come php-mysql di cui hai bisogno se vuoi usare MySQL dai tuoi script PHP come segue:

yum install php-fpm php-cli php-mysql php-gd php-imap php-ldap php-odbc php-pear php-xml php-xmlrpc php-pecl-apc php-magickwand php-magpierss php-mbstring php-mcrypt php -mssql php-shout php-snmp php-soap php-tidy

Quindi apriamo /etc/php.ini...

vi /etc/php.ini

... e modificare la segnalazione degli errori (in modo che gli avvisi non vengano più visualizzati):

[...]
;error_reporting = E_ALL & ~E_DEPRECATED & ~E_STRICT
error_reporting = E_ALL & ~E_NOTICE
[...]

Imposta anche cgi.fix_pathinfo=0:

vi /etc/php.ini

[...]
; cgi.fix_pathinfo provides *real* PATH_INFO/PATH_TRANSLATED support for CGI.  PHP's
; previous behaviour was to set PATH_TRANSLATED to SCRIPT_FILENAME, and to not grok
; what PATH_INFO is.  For more information on PATH_INFO, see the cgi specs.  Setting
; this to 1 will cause PHP CGI to fix its paths to conform to the spec.  A setting
; of zero causes PHP to behave as before.  Default is 1.  You should fix your scripts
; to use SCRIPT_FILENAME rather than PATH_TRANSLATED.
; http://www.php.net/manual/en/ini.core.php#ini.cgi.fix-pathinfo
cgi.fix_pathinfo=0
[...]

(Leggi http://wiki.nginx.org/Pitfalls per scoprire perché dovresti farlo.)

Inoltre, per evitare errori come

[08-Aug-2011 18:07:08] Avviso PHP:phpinfo():non è sicuro fare affidamento sulle impostazioni del fuso orario del sistema. È *necessario* utilizzare l'impostazione date.timezone o la funzione date_default_timezone_set(). Nel caso in cui tu abbia utilizzato uno di questi metodi e continui a ricevere questo avviso, molto probabilmente hai sbagliato a scrivere l'identificatore del fuso orario. Abbiamo selezionato "Europa/Berlino" per "CEST/2.0/DST" invece in /usr/share/nginx/html/info.php alla riga 2

... in /var/log/php-fpm/www-error.log quando chiami uno script PHP nel tuo browser, dovresti impostare date.timezone in /etc/php.ini:

[...]
[Date]
; Defines the default timezone used by the date functions
; http://www.php.net/manual/en/datetime.configuration.php#ini.date.timezone
date.timezone = "Europe/Berlin"
[...]

Puoi scoprire il fuso orario corretto per il tuo sistema eseguendo:

cat /etc/sysconfig/clock

[[email protected] tmp]# cat /etc/sysconfig/clock
ZONE="Europe/Berlin"
[[email protected] tmp]#

Quindi crea i collegamenti di avvio del sistema per php-fpm e avvialo:

chkconfig --levels 235 php-fpm su
/etc/init.d/php-fpm start

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

Per ottenere il supporto CGI in nginx, installiamo Fcgiwrap.

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.

Poiché non esiste un pacchetto fcgiwrap per CentOS 6.4, dobbiamo costruirlo da soli. Per prima cosa installiamo alcuni prerequisiti:

yum install fcgi-devel

Ora possiamo costruire fcgiwrap come segue:

cd /usr/local/src/
git clone git://github.com/gnosek/fcgiwrap.git
cd fcgiwrap
autoreconf -i
./configure
make
make install

Questo installa fcgiwrap su /usr/local/sbin/fcgiwrap.

Quindi installiamo il pacchetto spawn-fcgi che ci permette di eseguire fcgiwrap come demone:

yum install spawn-fcgi

Apri /etc/sysconfig/spawn-fcgi...

vi /etc/sysconfig/spawn-fcgi

... e modifica il file come segue:

# You must set some working options before the "spawn-fcgi" service will work.
# If SOCKET points to a file, then this file is cleaned up by the init script.
#
# See spawn-fcgi(1) for all possible options.
#
# Example :
#SOCKET=/var/run/php-fcgi.sock
#OPTIONS="-u apache -g apache -s $SOCKET -S -M 0600 -C 32 -F 1 -P /var/run/spawn-fcgi.pid -- /usr/bin/php-cgi"

FCGI_SOCKET=/var/run/fcgiwrap.socket
FCGI_PROGRAM=/usr/local/sbin/fcgiwrap
FCGI_USER=apache
FCGI_GROUP=apache
FCGI_EXTRA_OPTIONS="-M 0770"
OPTIONS="-u $FCGI_USER -g $FCGI_GROUP -s $FCGI_SOCKET -S $FCGI_EXTRA_OPTIONS -F 1 -P /var/run/spawn-fcgi.pid -- $FCGI_PROGRAM"

Ora aggiungi l'utente nginx al gruppo apache:

usermod -a -G apache nginx

Crea i collegamenti di avvio del sistema per spawn-fcgi...

chkconfig --levels 235 spawn-fcgi su

... e avvialo come segue:

/etc/init.d/spawn-fcgi start

Ora dovresti trovare il socket fcgiwrap in /var/run/fcgiwrap.socket, di proprietà dell'utente e del gruppo apache (alcuni script, ad esempio Mailman, si aspettano di essere eseguiti dall'utente/gruppo apache, ecco perché non eseguiamo spawn -fcgi come utente/gruppo nginx, ma invece aggiungi nginx al gruppo apache).

15.1 Versioni PHP aggiuntive

A partire da ISPConfig 3.0.5, è possibile avere più versioni di PHP su un server (selezionabile tramite ISPConfig) che può essere eseguito tramite FastCGI e PHP-FPM. La procedura per creare versioni PHP aggiuntive su CentOS è descritta in questo tutorial:Come utilizzare più versioni PHP (PHP-FPM e FastCGI) con ISPConfig 3 (CentOS 6.3)

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

16 Installa phpMyAdmin

Quindi installiamo phpMyAdmin:

yum install phpmyadmin

Quindi cambiamo l'autenticazione in phpMyAdmin da cookie a http:

vi /usr/share/phpmyadmin/config.inc.php
[...]
/* Authentication type */
$cfg['Servers'][$i]['auth_type'] = 'http';
[...]

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

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

L'app ISPConfig 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 perché nginx non ha alias globali (cioè alias che possono essere definiti per tutti i vhost). Pertanto devi definire questi alias per ciascuno vhost da cui vuoi accedere a phpMyAdmin.

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

        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 $request_filename;
                       include /etc/nginx/fastcgi_params;
                       fastcgi_param PATH_INFO $fastcgi_script_name;
                       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 utilizzi https invece di http per il tuo vhost, dovresti aggiungere la riga fastcgi_param HTTPS su; 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 $request_filename;
                       include /etc/nginx/fastcgi_params;
                       fastcgi_param PATH_INFO $fastcgi_script_name;
                       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 sia http che https per il tuo vhost, puoi usare la variabile $https - vai di nuovo al campo Direttive nginx e invece di fastcgi_param HTTPS su; aggiungi la riga fastcgi_param HTTPS $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 $https; # <-- add this line
                       fastcgi_index index.php;
                       fastcgi_param SCRIPT_FILENAME $request_filename;
                       include /etc/nginx/fastcgi_params;
                       fastcgi_param PATH_INFO $fastcgi_script_name;
                       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;
        }

17 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:

yum install mailman

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

/usr/lib/mailman/bin/newlist mailman

[[email protected] tmp]# /usr/lib/mailman/bin/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 di post mailman"
mailman-admin:        "|/usr/lib/mailman/mail/mailman admin mailman"
mailman-bounces:      "|/usr/lib/mailman/mail/mailman bounces mailman"
mailman-confirm:      "|/usr/lib/mailman/mail/mailman confirm mailman"
mailman-join:         "|/usr/lib/mailman/mail/mailman join mailman"
mailman -leave:        "|/usr/lib/mailman/mail/mailman leave mailman"
mailman-owner:        "|/usr/lib/mailman/mail/mailman owner mailman"
mailman-request:      " |/usr/lib/mailman/mail/mailman request mailman"
mailman-subscribe:    "|/usr/lib/mailman/mail/mailman subscribe mailman"
mailma n-unsubscribe:  "|/usr/lib/mailman/mail/mailman unsubscribe mailman"

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

[esempio @unixlinux.online tmp]#

Apri /etc/alias in seguito...

vi /etc/aliases

... e aggiungi le seguenti righe:

[...]
mailman:              "|/usr/lib/mailman/mail/mailman post mailman"
mailman-admin:        "|/usr/lib/mailman/mail/mailman admin mailman"
mailman-bounces:      "|/usr/lib/mailman/mail/mailman bounces mailman"
mailman-confirm:      "|/usr/lib/mailman/mail/mailman confirm mailman"
mailman-join:         "|/usr/lib/mailman/mail/mailman join mailman"
mailman-leave:        "|/usr/lib/mailman/mail/mailman leave mailman"
mailman-owner:        "|/usr/lib/mailman/mail/mailman owner mailman"
mailman-request:      "|/usr/lib/mailman/mail/mailman request mailman"
mailman-subscribe:    "|/usr/lib/mailman/mail/mailman subscribe mailman"
mailman-unsubscribe:  "|/usr/lib/mailman/mail/mailman unsubscribe mailman"

Corri

newaliases

in seguito e riavvia Postfix:

/etc/init.d/postfix restart

Crea i collegamenti di avvio del sistema per Mailman e avvialo:

chkconfig --levels 235 mailman su
/etc/init.d/mailman start

Ora dobbiamo creare questo collegamento simbolico per far funzionare Mailman con ISPConfig:

cd /usr/lib/mailman/cgi-bin/
ln -s ./ mailman

Se vuoi usare Mailman dai tuoi siti web creati tramite ISPConfig, questo è un po' più complicato rispetto ad Apache perché nginx non ha alias globali (cioè alias che possono essere definiti per tutti i vhost). Pertanto devi definire questi alias per ciascuno vhost da cui vuoi accedere a Mailman.

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

        location /cgi-bin/mailman {
               alias /usr/lib/mailman/cgi-bin;
               fastcgi_split_path_info (^/cgi-bin/mailman/[^/]*)(.*)$;
               include /etc/nginx/fastcgi_params;
               fastcgi_param SCRIPT_FILENAME /usr/lib/mailman$fastcgi_script_name;
               fastcgi_param PATH_INFO $fastcgi_path_info;
               fastcgi_param PATH_TRANSLATED /usr/lib/mailman$fastcgi_path_info;
               fastcgi_intercept_errors on;
               fastcgi_pass unix:/var/run/fcgiwrap.socket;
        }
        location /images/mailman {
               alias /usr/lib/mailman/icons;
        }
        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.

18 Installa PureFTPd

PureFTPd può essere installato con il seguente comando:

yum install pure-ftpd

Quindi crea i collegamenti di avvio del sistema e avvia PureFTPd:

chkconfig --levels 235 pure-ftpd su
/etc/init.d/pure-ftpd start

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.

OpenSSL è necessario per TLS; per installare OpenSSL, eseguiamo semplicemente:

yum install openssl

Apri /etc/pure-ftpd/pure-ftpd.conf...

vi /etc/pure-ftpd/pure-ftpd.conf

Se desideri consentire sessioni FTP e TLS, imposta TLS su 1:

[...]
# This option can accept three values :
# 0 : disable SSL/TLS encryption layer (default).
# 1 : accept both traditional and encrypted sessions.
# 2 : refuse connections that don't use SSL/TLS security mechanisms,
#     including anonymous sessions.
# Do _not_ uncomment this blindly. Be sure that :
# 1) Your server has been compiled with SSL/TLS support (--with-tls),
# 2) A valid certificate is in place,
# 3) Only compatible clients will log in.
TLS                      1
[...]

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) [XX]:<-- Inserisci il nome del tuo Paese (ad es. "DE").
Nome Stato o Provincia (nome completo) []:<-- Inserisci il nome del tuo Stato o Provincia .
Nome località (es. città) [Città predefinita]:<-- Inserisci la tua città.
Nome organizzazione (es. società) [Default Company Ltd]:<-- Inserisci il nome della tua organizzazione (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 o il nome host del tuo server) []:<-- 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

Infine riavvia PureFTPd:

 /etc/init.d/pure-ftpd restart

Questo è tutto. Ora puoi provare a connetterti usando il tuo client FTP; tuttavia, dovresti configurare il tuo client FTP per utilizzare TLS.

19 Installa BIND

Possiamo installare BIND come segue:

yum install bind bind-utils

Quindi apri /etc/sysconfig/named...

vi /etc/sysconfig/named

... e assicurati che la riga ROOTDIR=/var/named/chroot sia commentata:

# BIND named process options
# ~~~~~~~~~~~~~~~~~~~~~~~~~~
# Currently, you can use the following options:
#
# ROOTDIR="/var/named/chroot"  --  will run named in a chroot environment.
#                            you must set up the chroot environment
#                            (install the bind-chroot package) before
#                            doing this.
#       NOTE:
#         Those directories are automatically mounted to chroot if they are
#         empty in the ROOTDIR directory. It will simplify maintenance of your
#         chroot environment.
#          - /var/named
#          - /etc/pki/dnssec-keys
#          - /etc/named
#          - /usr/lib64/bind or /usr/lib/bind (architecture dependent)
#
#         Those files are mounted as well if target file doesn't exist in
#         chroot.
#          - /etc/named.conf
#          - /etc/rndc.conf
#          - /etc/rndc.key
#          - /etc/named.rfc1912.zones
#          - /etc/named.dnssec.keys
#          - /etc/named.iscdlv.key
#
#       Don't forget to add "$AddUnixListenSocket /var/named/chroot/dev/log"
#       line to your /etc/rsyslog.conf file. Otherwise your logging becomes
#       broken when rsyslogd daemon is restarted (due update, for example).
#
# OPTIONS="whatever"     --  These additional options will be passed to named
#                            at startup. Don't add -t here, use ROOTDIR instead.
#
# KEYTAB_FILE="/dir/file"    --  Specify named service keytab file (for GSS-TSIG)
#
# DISABLE_ZONE_CHECKING  -- By default, initscript calls named-checkzone
#                           utility for every zone to ensure all zones are
#                           valid before named starts. If you set this option
#                           to 'yes' then initscript doesn't perform those
#                           checks.

Fai un backup del file /etc/named.conf esistente e creane uno nuovo come segue:

cp /etc/named.conf /etc/named.conf_bak
cat /dev/null> /etc/named.conf
vi /etc/named.conf

//
// named.conf
//
// Provided by Red Hat bind package to configure the ISC BIND named(8) DNS
// server as a caching only nameserver (as a localhost DNS resolver only).
//
// See /usr/share/doc/bind*/sample/ for example named configuration files.
//
options {
        listen-on port 53 { any; };
        listen-on-v6 port 53 { any; };
        directory       "/var/named";
        dump-file       "/var/named/data/cache_dump.db";
        statistics-file "/var/named/data/named_stats.txt";
        memstatistics-file "/var/named/data/named_mem_stats.txt";
        allow-query     { any; };
        recursion no;
        allow-recursion { none; };
};
logging {
        channel default_debug {
                file "data/named.run";
                severity dynamic;
        };
};
zone "." IN {
        type hint;
        file "named.ca";
};
include "/etc/named.conf.local";

Crea il file /etc/named.conf.local che è incluso alla fine di /etc/named.conf (/etc/named.conf.local verrà successivamente popolato da ISPConfig se crei zone DNS in ISPConfig):

touch /etc/named.conf.local

Quindi creiamo i collegamenti di avvio e avviamo BIND:

chkconfig --levels 235 denominato su
/etc/init.d/named start

20 Installa Webalizer e AWStats

Webalizer e AWStats possono essere installati come segue:

yum install webalizer awstats perl-DateTime-Format-HTTP perl-DateTime-Format-Builder

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

21 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!):

cd /tmp
wget http://olivier.sessink.nl/jailkit/jailkit-2.15.tar.gz
tar xvfz jailkit-2.15.tar.gz
cd jailkit-2.15
./configure
make
make install
cd ..
rm -rf jailkit-2.15*

22 Installa fail2ban

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

yum install fail2ban

Dobbiamo configurare fail2ban per accedere al file di registro /var/log/fail2ban.log perché questo è il file di registro che viene monitorato dal modulo ISPConfig Monitor. Apri /etc/fail2ban/fail2ban.conf...

vi /etc/fail2ban/fail2ban.conf

... e commenta la riga logtarget =SYSLOG e aggiungi logtarget =/var/log/fail2ban.log:

[...]
# Option:  logtarget
# Notes.:  Set the log target. This could be a file, SYSLOG, STDERR or STDOUT.
#          Only one log target can be specified.
# Values:  STDOUT STDERR SYSLOG file  Default:  /var/log/fail2ban.log
#
#logtarget = SYSLOG
logtarget = /var/log/fail2ban.log
[...]

Quindi crea i collegamenti di avvio del sistema per fail2ban e avvialo:

chkconfig --levels 235 fail2ban su
/etc/init.d/fail2ban start

23 Installa rkhunter

rkhunter può essere installato come segue:

yum install rkhunter

24 Installa SquirrelMail

Per installare il client webmail di SquirrelMail, esegui...

yum install squirrelmail

Quindi configura SquirrelMail:

/usr/share/squirrelmail/config/conf.pl

Dobbiamo dire a SquirrelMail che stiamo usando Dovecot:

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   Disattiva 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 nota che dovrai sempre andare attraverso e assicurarti
tutto è corretto. Questo non cambia tutto. Ci sono
solo alcune impostazioni che verranno modificate.

Seleziona il 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 verrà
imposta alcune impostazioni predefinite per quel server.

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

Seleziona il 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 >> corriere

imap_server_type =corriere
default_folder_prefix =INBOX.
cush_folder =cesto
sent_folder =SENT
Draft_Folder =Draft
show_prefix_option =false
          default_sub_of_inbox = false
show_contain_subfolders_option =false
            optional_delimiter = .
                cancella_cartella = true

Premi invio per continuare... <-- premi INVIO


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

D. Imposta impostazioni predefinite per server IMAP specifici

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

Comando >> <--Q

Un'ultima cosa che dobbiamo fare è modificare il file /etc/squirrelmail/config_local.php e commentare la variabile $default_folder_prefix - se non lo fai, vedrai il seguente messaggio di errore in SquirrelMail dopo aver effettuato l'accesso :Query:CREATE "Sent" Motivo fornito:nome della casella di posta non valido.

vi /etc/squirrelmail/config_local.php
<?php

/**
 * Local config overrides.
 *
 * You can override the config.php settings here.
 * Don't do it unless you know what you're doing.
 * Use standard PHP syntax, see config.php for examples.
 *
 * @copyright &copy; 2002-2006 The SquirrelMail Project Team
 * @license http://opensource.org/licenses/gpl-license.php GNU Public License
 * @version $Id: config_local.php,v 1.2 2006/07/11 03:33:47 wtogami Exp $
 * @package squirrelmail
 * @subpackage config
 */

//$default_folder_prefix                = '';
?>

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 ha alias globali (cioè, alias che possono essere definiti per tutti i vhost). Pertanto devi definire questi alias per ciascuno 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 $request_filename;
                       include /etc/nginx/fastcgi_params;
                       fastcgi_param PATH_INFO $fastcgi_script_name;
                       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;
        }

Se utilizzi https invece di http per il tuo vhost, dovresti aggiungere la riga fastcgi_param HTTPS su; alla tua configurazione di SquirrelMail in questo modo:

        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 $request_filename;
                       include /etc/nginx/fastcgi_params;
                       fastcgi_param PATH_INFO $fastcgi_script_name;
                       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;
        }

Se usi sia http che https per il tuo vhost, puoi usare la variabile $https - vai di nuovo al campo Direttive nginx e invece di fastcgi_param HTTPS su; aggiungi la riga fastcgi_param HTTPS $https; in modo da poter utilizzare SquirrelMail sia per le richieste http che per https:

        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 $https; # <-- add this line
                       fastcgi_index index.php;
                       fastcgi_param SCRIPT_FILENAME $request_filename;
                       include /etc/nginx/fastcgi_params;
                       fastcgi_param PATH_INFO $fastcgi_script_name;
                       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;
        }

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

25 Installa ISPConfig 3

Prima di avviare l'installazione di ISPConfig, assicurati che Apache sia interrotto (se è installato, è possibile che alcuni dei tuoi pacchetti installati abbiano installato Apache come dipendenza a tua insaputa). Se Apache2 è già installato sul sistema, interrompilo ora...

/etc/init.d/httpd stop

... e rimuovi i collegamenti di avvio del sistema di Apache:

chkconfig --del httpd

Assicurati che nginx sia in esecuzione:

/etc/init.d/nginx restart

(Se hai installato sia Apache che nginx, il programma di installazione ti chiede quale vuoi usare:Apache e nginx rilevati. Seleziona il server da usare per ISPConfig:(apache, nginx) [apache]:

Digita nginx. Se sono installati solo Apache o nginx, questo viene rilevato automaticamente dal programma di installazione e non viene posta alcuna domanda.)

Scarica la versione corrente di ISPConfig 3 e installala. Il programma di installazione di ISPConfig configurerà per te tutti i servizi come Postfix, Dovecot, ecc. Non è più necessaria una configurazione manuale come richiesto per ISPConfig 2.

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

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

Il prossimo passo è eseguire

php -q install.php

Questo avvierà il programma di installazione di ISPConfig 3:

[[email protected] install]# php -q install.php


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


>> Configurazione iniziale

Sistema operativo: Redhat o compatibile, versione sconosciuta.

    Di seguito saranno alcune 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 il programma di 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 server MySQL [localhost]: <-- ENTER

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

password root MySQL []: <- - yourrootsqlpassword

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

charset MySQL [utf8]: <-- ENTER

Apache e nginx rilevato. Seleziona il server da utilizzare per ISPConfig: (apache, nginx) [apache]: <-- nginx

Generazione di una chiave privata RSA a 2048 bit
........... .................................................. .........++++
................................ .............+++
scrittura di nuova chiave privata su 'smtpd.key'
-----
Stai per essere chiesto di inserisci le informazioni che saranno incorporate
nella richiesta di certificato.
Quello che stai per inserire è quello che viene chiamato un Nome distinto o DN.
Ci sono alcuni campi ma puoi lasciare alcuni vuoti
Per alcuni campi ci sarà un valore predefinito,
Se inserisci '.', il campo rimarrà vuoto.
-----
Nome del paese ( 2 lettera codice) [XX]: <-- INVIO
Stato o Provincia Nome (nome completo) []: <-- INVIO
Località Nome (ad es. città) [Città predefinita]: <-- INVIO
Nome organizzazione (ad es. società) [Società predefinita Ltd]: <-- INVIO
Nome unità organizzativa (ad es. sezione) []: <-- INVIO
Nome comune (ad es. il tuo n ame o il nome host del tuo server) []: <-- ENTER
Indirizzo e-mail []: <-- ENTER
Configurazione Jailkit
Configurazione Dovecot
Configurazione Spamassassin
Configurazione Amavisd
Configurazione Getmail
Configurazione Pureftpd
Configurazione BIND
Configurazione nginx
Configurazione Vlogger
Configurazione Apps vhost
Configurazione Bastille Firewall
Configurazione Fail2ban
Installazione di ISPConfig
ISPConfig Port [8080]: <-- ENTER

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

Generazione chiave privata RSA, modulo lungo 4096 bit
........................ ...................................++
......... .................................................. ................++
e is 65537 (0x10001)
Stai per verrai chiesto di inserire informazioni che verranno incorporate
in la tua richiesta di certificato.
Quello che stai per inserire è quello che viene chiamato nome distinto o DN.
Lì sono pochi campi ma puoi lasciare alcuni vuoti
Per alcuni campi ci sarà un valore predefinito,
Se inserisci '.', il campo rimarrà vuoto.
--- --
Nome del paese (codice di 2 lettere) [XX]: <-- ENTER
Nome dello stato o provincia (nome completo) []: <-- ENTER
Nome località (ad es. città ) [Città predefinita]: <-- INVIO
Nome organizzazione (ad esempio società) [Società predefinita Ltd]: <-- INVIO
Nome unità organizzativa (ad esempio sezione) []: <-- INVIO
Nome comune (ad es. il tuo nome o il nome host del server) []: <-- ENTER
Indirizzo e-mail []: <-- ENTER

Inserisci il seguente 'extra ' attributi
da inviare con la vostra richiesta di certificato
Una password challenge []: <-- ENTER
Un nome di azienda facoltativo []: <-- ENTER
scrivendo una chiave RSA
Configurazione di DBServer
Installazione di ISPConfig crontab
nessun crontab per root
nessun crontab per getmail
Riavvio dei servizi ...
Interruzione di mysqld:                                         [ / OK  ]
>Inizio mysqld:[ok]
Spegnere postfisso:[ok]
Avvio postfix:[OK]
Stop Saslauthd:[fallito]
Avvio di Saslauthd:[OK]
Spegnere Amavisd:Daemon [1554] terminato da Sigterm
[OK]
Amavisd si è fermato
Avvio di Amavisd:[OK]

fermando Clamd.AMAVISD:[OK]
Avvia Clamd.Amavisd:[OK]
Ferma DoveCot IMAP:[OK]
IMAP DOVECOT Avvia:[OK]
Ricarica Php-FPM:[OK]
Ricaricare nginx:                         [OK]
Ferma puro-ftpd:[OK]
Avvio di puro-ftpd:[OK]
Installazione completata.
[[email protected] Installa]#

Per correggere gli errori di Mailman che potresti ricevere durante l'installazione di ISPConfig, apri /usr/lib/mailman/Mailman/mm_cfg.py...

vi /usr/lib/mailman/Mailman/mm_cfg.py

... e imposta DEFAULT_SERVER_LANGUAGE ='en':

[...]
#-------------------------------------------------------------
# The default language for this server.
DEFAULT_SERVER_LANGUAGE = 'en'
[...]

Riavvia Mailman:

/etc/init.d/mailman restart 

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.

Se desideri utilizzare gli indirizzi IPv6 con i tuoi vhost nginx, esegui le seguenti operazioni prima di creare vhost IPv6 in ISPConfig:

Apri /etc/sysctl.conf...

vi /etc/sysctl.conf

... e aggiungi la riga net.ipv6.bindv6only =1:

[...]
net.ipv6.bindv6only = 1

Corri...

sysctl -p

... in seguito affinché la modifica abbia effetto.

25.1 Manuale di ISPConfig 3

Per imparare a usare ISPConfig 3, consiglio vivamente di scaricare il manuale 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.

25.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 master ISPConfig.

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

  • CentOS:http://www.centos.org/
  • Configurazione ISP:http://www.ispconfig.org/

Informazioni sull'autore

Falko Timme è il proprietario di Timme Hosting (hosting web nginx ultra veloce). È il principale manutentore di HowtoForge (dal 2005) e uno dei principali sviluppatori di ISPConfig (dal 2000). Ha anche contribuito al libro di O'Reilly "Linux System Administration".


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

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

  3. Il server perfetto - CentOS 5.6 x86_64 [ISPConfig 2]

  4. Il server perfetto - CentOS 6.1 x86_64 con Apache2 [ISPConfig 3]

  5. Il server perfetto - OpenSUSE 12.1 x86_64 con Nginx [ISPConfig 3]

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

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

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

Il server perfetto - CentOS 6.3 x86_64 (Apache2, Courier, ISPConfig 3)

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

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