Server Setup · 8 min read · Oct 07, 2025
Il Server Perfetto - CentOS 6.3 x86_64 (nginx, Dovecot, ISPConfig 3) - Pagina 5
16 Installa phpMyAdmin
Successivamente installiamo phpMyAdmin:
yum install phpmyadminSuccessivamente cambiamo l’autenticazione in phpMyAdmin da cookie a http:
vi /usr/share/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 sulla 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 utilizzare 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 vhosts). 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, devi aggiungere la seguente sezione alla sezione http {} in /etc/nginx/nginx.conf (prima di qualsiasi riga include) che determina se il visitatore utilizza http o https e imposta la variabile $fastcgi_https (che utilizzeremo nella nostra configurazione di phpMyAdmin) di conseguenza:
vi /etc/nginx/nginx.conf| [...] http { [...] ## Rileva quando viene utilizzato HTTPS map $scheme $fastcgi_https { default off; https on; } [...] } [...] |
Non dimenticare di ricaricare nginx dopo:
/etc/init.d/nginx reload Quindi torna di nuovo al campo Direttive nginx, e invece di fastcgi_param HTTPS on; aggiungi la riga fastcgi_param HTTPS $fastcgi_https; in modo da poter utilizzare phpMyAdmin per entrambe le richieste http e https:
| location /phpmyadmin { root /usr/share/; index index.php index.html index.htm; location ~ ^/phpmyadmin/(.+\.php)$ { try_files $uri =404; root /usr/share/; fastcgi_pass 127.0.0.1:9000; fastcgi_param HTTPS $fastcgi_https; # <-- 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; } |
17 Installa Mailman
Dalla versione 3.0.4, ISPConfig consente anche di gestire (creare/modificare/eliminare) le liste di distribuzione di Mailman. Se desideri utilizzare questa funzionalità, installa Mailman come segue:
yum install mailmanPrima di poter avviare Mailman, deve essere creata una prima lista di distribuzione chiamata mailman:
/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…
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" |
Esegui
newaliasesdopo e riavvia Postfix:
/etc/init.d/postfix restartCrea i collegamenti di avvio del sistema per Mailman e avvialo:
chkconfig –levels 235 mailman on
/etc/init.d/mailman start
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 vhosts). 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://
Sotto http://
18 Installa PureFTPd
PureFTPd può essere installato con il seguente comando:
yum install pure-ftpdQuindi crea i collegamenti di avvio del sistema e avvia PureFTPd:
chkconfig –levels 235 pure-ftpd on
/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ì FTP molto più sicuro.
OpenSSL è necessario per TLS; per installare OpenSSL, eseguiamo semplicemente:
yum install opensslApri /etc/pure-ftpd/pure-ftpd.conf…
vi /etc/pure-ftpd/pure-ftpd.confSe 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 decommentare questo alla leggera. Assicurati che : # 1) Il tuo server è stato compilato con supporto SSL/TLS (--with-tls), # 2) Un certificato valido è 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/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 a 2 lettere) [XX]: <– Inserisci il nome del tuo paese (ad esempio, “DE”).
Nome dello Stato o della Provincia (nome completo) []: <– Inserisci il nome del tuo stato o provincia.
Nome della Località (ad es., città) [Città Predefinita]: <– Inserisci la tua città.
Nome dell’Organizzazione (ad es., azienda) [Azienda Predefinita Ltd]: <– Inserisci il nome della tua organizzazione (ad esempio, il nome della tua azienda).
Nome dell’Unità Organizzativa (ad es., sezione) []: <– Inserisci il nome della tua unità organizzativa (ad esempio, “Reparto IT”).
Nome Comune (ad es., il tuo nome o il nome host del tuo server) []: <– Inserisci il Nome di Dominio Completo del sistema (ad esempio, “server1.example.com”).
Indirizzo Email []: <– Inserisci il tuo indirizzo email.
Cambia i permessi del certificato SSL:
chmod 600 /etc/ssl/private/pure-ftpd.pemInfine riavvia PureFTPd:
/etc/init.d/pure-ftpd restartQuesto è tutto. Ora puoi provare a connetterti utilizzando 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-utilsSuccessivamente apri /etc/sysconfig/named…
vi /etc/sysconfig/named… e assicurati che la riga ROOTDIR=/var/named/chroot sia commentata:
| # Opzioni del processo BIND named # ~~~~~~~~~~~~~~~~~~~~~~~~~~ # Attualmente, puoi utilizzare le seguenti opzioni: # # ROOTDIR="/var/named/chroot" -- eseguirà named in un ambiente chroot. # devi impostare l'ambiente chroot # (installa il pacchetto bind-chroot) prima # di farlo. # NOTA: # Queste directory vengono montate automaticamente in chroot se sono # vuote nella directory ROOTDIR. Semplificherà la manutenzione del tuo # ambiente chroot. # - /var/named # - /etc/pki/dnssec-keys # - /etc/named # - /usr/lib64/bind o /usr/lib/bind (dipendente dall'architettura) # # Questi file vengono montati anche se il file di destinazione non esiste in # chroot. # - /etc/named.conf # - /etc/rndc.conf # - /etc/rndc.key # - /etc/named.rfc1912.zones # - /etc/named.dnssec.keys # - /etc/named.iscdlv.key # # Non dimenticare di aggiungere la riga "$AddUnixListenSocket /var/named/chroot/dev/log" # al tuo file /etc/rsyslog.conf. Altrimenti, la tua registrazione diventa # rotta quando il demone rsyslogd viene riavviato (a causa di un aggiornamento, ad esempio). # # OPTIONS="whatever" -- Queste opzioni aggiuntive verranno passate a named # all'avvio. Non aggiungere -t qui, usa invece ROOTDIR. # # KEYTAB_FILE="/dir/file" -- Specifica il file keytab del servizio named (per GSS-TSIG) # # DISABLE_ZONE_CHECKING -- Per impostazione predefinita, lo script di avvio chiama l'utility named-checkzone # per ogni zona per garantire che tutte le zone siano # valide prima che named parta. Se imposti questa opzione # su 'yes', allora lo script di avvio non esegue quei # controlli. |
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 // 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 file di configurazione named di esempio. 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.localQuindi creiamo i collegamenti di avvio e avviamo BIND:
chkconfig –levels 235 named on
/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-BuilderRicevi i nuovi post nella tua casella di posta.
Nessuno spam. Disiscriviti in qualsiasi momento.