Installazione Server · 8 min read · Jan 07, 2026

Il Server Perfetto - CentOS 7 x86_64 (nginx, Dovecot, ISPConfig 3) - Pagina 2

15 Installa phpMyAdmin

Successivamente installiamo phpMyAdmin:

yum -y install phpmyadmin

Successivamente cambiamo l’autenticazione in phpMyAdmin da cookie a http:

nano /etc/phpMyAdmin/config.inc.php

[...]
/* Tipo di autenticazione */
$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 vhost di ISPConfig su porta 8081 per nginx viene fornita con una configurazione di phpMyAdmin, quindi puoi usare http://server1.example.com:8081/phpmyadmin o http://server1.example.com:8081/phpMyAdmin per accedere a phpMyAdmin.

Se desideri utilizzare 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 ogni vhost da cui desideri accedere a phpMyAdmin.

Per fare ciò, incolla il seguente codice 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 http s invece di http per il tuo vhost, dovresti aggiungere la riga fastcgi_param HTTPS on; 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; # <-- aggiungi questa riga
                       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 sia http che https per il tuo vhost, puoi utilizzare la variabile $https - vai di nuovo al campo Direttive nginx, e invece di fastcgi_param HTTPS on; aggiungi la riga fastcgi_param HTTPS $https; in modo da poter utilizzare phpMyAdmin sia per le richieste http che 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; # <-- aggiungi questa riga
                       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;
        }

16 Installa Mailman

Dalla versione 3.0.4, ISPConfig consente anche di gestire (creare/modificare/eliminare) liste di distribuzione Mailman. Se desideri utilizzare questa funzionalità, installa Mailman come segue:

yum -y install mailman

Prima di poter avviare Mailman, deve essere creata una prima lista di distribuzione chiamata mailman:

touch /var/lib/mailman/data/aliases
touch /etc/mailman/aliases
/usr/lib/mailman/bin/newlist mailman

[root@server1 tmp]# /usr/lib/mailman/bin/newlist mailman
Inserisci l’email della persona che gestisce la lista: <– indirizzo email dell’amministratore, ad esempio [email protected]
Password iniziale di mailman: <– password dell’amministratore per la lista mailman
Per completare la creazione della tua lista di distribuzione, devi modificare il tuo file /etc/aliases (o equivalente) aggiungendo le seguenti righe, e possibilmente eseguendo il programma newaliases:

lista di distribuzione mailman

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”

Premi invio per notificare il proprietario di mailman… <– INVIO

[root@server1 tmp]#

Apri /etc/aliases dopo…

nano /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"

Esegui

newaliases

dopo e riavvia Postfix:

systemctl restart postfix.service

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

systemctl enable mailman.service
systemctl start mailman.service

Ora dobbiamo creare questo symlink per far funzionare Mailman con ISPConfig:

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

Se desideri utilizzare 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 ogni vhost da cui desideri accedere a Mailman.

Per fare ciò, incolla il seguente codice 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 una lista su http:///cgi-bin/mailman/admin/, e la pagina web per gli utenti di una lista di distribuzione può essere trovata su http:///cgi-bin/mailman/listinfo/.

Sotto http:///pipermail puoi trovare gli archivi delle liste di distribuzione.

17 Installa PureFTPd

PureFTPd può essere installato con il seguente comando:

yum -y install pure-ftpd

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

systemctl enable pure-ftpd.service
systemctl start pure-ftpd.service

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ì FTP molto più sicuro.

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

yum -y install openssl

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

nano /etc/pure-ftpd/pure-ftpd.conf

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

[...]
# Questa opzione può accettare tre valori :
# 0 : disabilita il livello di crittografia SSL/TLS (predefinito).
# 1 : accetta sia sessioni tradizionali che crittografate.
# 2 : rifiuta connessioni che non utilizzano meccanismi di sicurezza SSL/TLS,
#     comprese le sessioni anonime.
# Non _devi_ decommentare questo alla leggera. Assicurati che :
# 1) Il tuo server sia stato compilato con supporto SSL/TLS (--with-tls),
# 2) Un certificato valido sia in atto,
# 3) Solo client compatibili accederanno.

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/

Dopo, 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 a 2 lettere) [XX]: <– Inserisci il Nome del tuo Paese (ad es., “DE”).
Nome dello Stato o della Provincia (nome completo) []: <– Inserisci il Nome del tuo Stato o Provincia.
Nome della Località (es. città) [Città Predefinita]: <– Inserisci la tua Città.
Nome dell’Organizzazione (es. azienda) [Azienda Predefinita Ltd]: <– Inserisci il Nome della tua Organizzazione (ad es., il nome della tua azienda).
Nome dell’Unità Organizzativa (es. sezione) []: <– Inserisci il Nome della tua Unità Organizzativa (ad es. “Reparto IT”).
Nome Comune (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 Email []: <– Inserisci il tuo Indirizzo Email.

Cambia i permessi del certificato SSL:

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

Infine riavvia PureFTPd:

systemctl restart pure-ftpd.service

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

18 Installa BIND

Possiamo installare BIND come segue:

yum -y install bind bind-utils

Successivamente apri /etc/sysconfig/named…

nano /etc/sysconfig/named

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

# Opzioni del processo BIND named
# ~~~~~~~~~~~~~~~~~~~~~~~~~~
#
# OPTIONS="whatever"     --  Queste opzioni aggiuntive verranno passate a named
#                            all'avvio. Non aggiungere -t qui, abilita un file di unità
#                            -chroot.service appropriato.

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

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

// named.conf\
//\
// Fornito dal pacchetto bind di Red Hat per configurare il server DNS ISC BIND named(8)\
// come nameserver solo caching (come risolutore DNS localhost solo).\
//\
// Vedi /usr/share/doc/bind*/sample/ per esempi di file di configurazione named.\
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;\
};\
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 viene 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

Poi creiamo i collegamenti di avvio e avviamo BIND:

systemctl enable named.service
systemctl start named.service

19 Installa Webalizer e AWStats

Webalizer e AWStats possono essere installati come segue:

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

20 Installa Jailkit

Jailkit è necessario solo se desideri chrootare gli utenti SSH. Può essere installato come segue (importante: Jailkit deve essere installato prima di ISPConfig - non può essere installato dopo!):

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

21 Installa fail2ban

Questo è facoltativo ma raccomandato, perché il monitor di ISPConfig cerca di mostrare il log:

yum -y install fail2ban

Dobbiamo configurare fail2ban per registrare nel file di log /var/log/fail2ban.log perché questo è il file di log monitorato dal modulo Monitor di ISPConfig. Apri /etc/fail2ban/fail2ban.conf…

nano /etc/fail2ban/fail2ban.conf

… e assicurati che logtarget = /var/log/fail2ban.log:

[...]
# Opzione: logtarget
# Note.: Imposta il target di log. Questo potrebbe essere un file, SYSLOG, STDERR o STDOUT.
#         Può essere specificato solo un target di log.
#         Se cambi logtarget dal valore predefinito e stai
#         utilizzando logrotate -- regola anche o disabilita la rotazione nel
#         file di configurazione corrispondente
#         (ad es. /etc/logrotate.d/fail2ban sui sistemi Debian)
# Valori: [ STDOUT | STDERR | SYSLOG | FILE ]  Predefinito: STDERR
#
logtarget = /var/log/fail2ban.log

[...]

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

systemctl enable fail2ban.service
systemctl start fail2ban.service

22 Installa rkhunter

rkhunter può essere installato come segue:

yum -y install rkhunter

Share: X/Twitter LinkedIn

Ricevi i nuovi post nella tua casella di posta.

Nessuno spam. Disiscriviti in qualsiasi momento.