Configurazione Server · 5 min read · Jan 06, 2026

Hosting Virtuale Come Fare Con Virtualmin Su CentOS 5.1 - Pagina 5

Configurazione di Clamav Milter

  • Modifica /etc/sysconfig/clamav-milter:
CLAMAV_FLAGS="
        --config-file=/etc/clamd.conf
        --force-scan
        --local
        --max-children=5
        --sendmail-cf=
        --outgoing
        --quiet
"
SOCKET_ADDRESS="local:/var/clamav/clmilter.socket"
  • Applica la patch al file init per correggere i permessi del socket:
wget http://www.topdog-software.com/files/clamav-milter.patch  
patch /etc/init.d/clamav-milter < clamav-milter.patch

Configurazione di MySQL

Configurazione di Base

  • Ascolta solo l’localhost, modifica /etc/my.cnf nella sezione mysqld:
bind-address = 127.0.0.1

Imposta la Password di Root

  • Imposta la password di root:
service mysqld start  
mysqladmin -u root password NEWPASSWORD

Configurazione di SpamAssassin

Configurazione di Base

required_hits 5
report_safe 0
rewrite_header Subject [SPAM]

Crea il Database MySQL

  • Crea il database:
mysqladmin -p create bayes
  • Popola il database:
mysql -p bayes < /usr/share/doc/spamassassin-$(rpm --qf %{VERSION} -q spamassassin)/sql/bayes_mysql.sql
  • Crea l’utente:
mysql -p  
mysql> GRANT ALL ON bayes.* TO bayes@localhost IDENTIFIED BY 'password';

Configura per Usare il DB

  • Modifica il file /etc/mail/spamassassin/local.cf e aggiungi:
bayes_store_module  Mail::SpamAssassin::BayesStore::MySQL
bayes_sql_dsn       DBI:mysql:bayes:localhost
bayes_sql_override_username bayes
bayes_sql_username  bayes
bayes_sql_password  password

Configura FuzzyOCR

Memorizzeremo gli hash delle immagini in un database mysql per migliorare le prestazioni in modo che le immagini che abbiamo già scansionato non vengano scansionate di nuovo poiché l’OCR è un’attività che richiede molte risorse.

Crea il Database MySQL

  • Lo script sql crea il database e le tabelle e aggiunge un utente fuzzyocr con la password fuzzyocr:
mysql -p < /usr/local/src/devel/FuzzyOcr.mysql
  • Cambia la password:
mysqladmin -u fuzzyocr -p fuzzyocr password

Impostazioni di Base

  • Modifica /etc/mail/spamassassin/FuzzyOCR.cf e imposta le opzioni di base:
focr_path_bin /usr/bin:/usr/local/bin
focr_minimal_scanset 1
focr_autosort_scanset 1
focr_enable_image_hashing 3
focr_logfile /tmp/FuzzyOcr.log

Fai Usare FuzzyOCR al Database

  • Modifica il file /etc/mail/spamassassin/FuzzyOcr.cf e aggiungi:
focr_mysql_db FuzzyOcr
focr_mysql_hash Hash
focr_mysql_safe Safe
focr_mysql_user fuzzyocr
focr_mysql_pass password
focr_mysql_host localhost
focr_mysql_port 3306
focr_mysql_socket /var/lib/mysql/mysql.sock

Aggiornamenti delle Regole SARE

  • Importa la chiave GPG utilizzata per firmare le regole:
mkdir /etc/mail/spamassassin/sa-update-keys/  
chmod 700 /etc/mail/spamassassin/sa-update-keys/  
wget http://daryl.dostech.ca/sa-update/sare/GPG.KEY  
sa-update --import GPG.KEY
  • Crea il file dei canali /etc/mail/spamassassin/sare-sa-update-channels.txt:
updates.spamassassin.org
72_sare_redirect_post3.0.0.cf.sare.sa-update.dostech.net
70_sare_evilnum0.cf.sare.sa-update.dostech.net
70_sare_bayes_poison_nxm.cf.sare.sa-update.dostech.net
70_sare_html0.cf.sare.sa-update.dostech.net
70_sare_html_eng.cf.sare.sa-update.dostech.net
70_sare_header0.cf.sare.sa-update.dostech.net
70_sare_header_eng.cf.sare.sa-update.dostech.net
70_sare_specific.cf.sare.sa-update.dostech.net
70_sare_adult.cf.sare.sa-update.dostech.net
72_sare_bml_post25x.cf.sare.sa-update.dostech.net
99_sare_fraud_post25x.cf.sare.sa-update.dostech.net
70_sare_spoof.cf.sare.sa-update.dostech.net
70_sare_random.cf.sare.sa-update.dostech.net
70_sare_oem.cf.sare.sa-update.dostech.net
70_sare_genlsubj0.cf.sare.sa-update.dostech.net
70_sare_genlsubj_eng.cf.sare.sa-update.dostech.net
70_sare_unsub.cf.sare.sa-update.dostech.net
70_sare_uri0.cf.sare.sa-update.dostech.net
70_sare_obfu0.cf.sare.sa-update.dostech.net
70_sare_stocks.cf.sare.sa-update.dostech.net
  • Crea uno script di aggiornamento /usr/local/bin/update-sa:
#!/bin/bash
#
#
sa-update -D --channelfile /etc/mail/spamassassin/sare-sa-update-channels.txt --gpgkey 856AA88A &>/var/log/sa-updates.log
  • Rendi eseguibile e aggiungi a cron:
chmod +x /usr/local/bin/update-sa  
ln -s /usr/local/bin/update-sa /etc/cron.daily/  
ln -s /usr/local/bin/update-sa /etc/cron.hourly/

Configurazione di Spamass-milter

Configurazione di Base

  • Modifica /etc/sysconfig/spamass-milter:
SOCKET=/var/run/spamass.sock
EXTRA_FLAGS="-m -r 8"

Patch

Dobbiamo applicare una patch al file init per correggere i permessi del socket creato in modo che postfix possa utilizzare il socket.

wget http://www.topdog-software.com/files/spamass-milter.patch  
patch /etc/rc.d/init.d/spamass-milter < spamass-milter.patch

Configurazione di Apache

Disabilita Moduli

Disabiliteremo alcuni moduli che non stiamo utilizzando, liberando così memoria e migliorando anche la sicurezza.

  • Modifica /etc/httpd/conf/httpd.conf e commenta i moduli come di seguito.
#LoadModule ldap_module modules/mod_ldap.so
#LoadModule authnz_ldap_module modules/mod_authnz_ldap.so
#LoadModule dav_module modules/mod_dav.so
#LoadModule status_module modules/mod_status.so
#LoadModule dav_fs_module modules/mod_dav_fs.so
#LoadModule proxy_module modules/mod_proxy.so
#LoadModule proxy_balancer_module modules/mod_proxy_balancer.so
#LoadModule proxy_ftp_module modules/mod_proxy_ftp.so
#LoadModule proxy_http_module modules/mod_proxy_http.so
#LoadModule proxy_connect_module modules/mod_proxy_connect.so
#LoadModule cache_module modules/mod_cache.so
#LoadModule disk_cache_module modules/mod_disk_cache.so
#LoadModule file_cache_module modules/mod_file_cache.so
#LoadModule mem_cache_module modules/mod_mem_cache.so
  • Modifica /etc/httpd/conf.d/proxy_ajp.conf e commenta come di seguito:
#LoadModule proxy_ajp_module modules/mod_proxy_ajp.so

Ascolta su un IP per HTTPS

Apache deve essere configurato per ascoltare su un solo indirizzo per la porta 443 poiché webmin utilizzerà la stessa porta. Modifica /etc/httpd/conf.d/ssl:

Listen 192,168.1.6:443

Abilita Compressione Gzip

Impostiamo la compressione gzip tramite il modulo mod_deflate per migliorare le prestazioni del server web e ridurre l’uso della larghezza di banda comprimendo le risposte al client.

SetOutputFilter DEFLATE
BrowserMatch ^Mozilla/4 gzip-only-text/html
BrowserMatch ^Mozilla/4\.0[678] no-gzip
BrowserMatch \bMSIE !no-gzip !gzip-only-text/html
SetEnvIfNoCase Request_URI \
\.(?:gif|jpe?g|png)$ no-gzip dont-vary
Header append Vary User-Agent env=!dont-vary

Imposta il logging per il modulo deflate:

DeflateFilterNote deflate_ratio
LogFormat "%v %h %l %u %t \"%r\" %>s %b mod_deflate: %{deflate_ratio}n pct." vhost_with_deflate_info
CustomLog logs/deflate_access_log vhost_with_deflate_info

Aumenta la Memoria Massima PHP

Modifica il file /etc/php.ini e imposta quanto segue:

memory_limit = 64M

Abilita Hosting Virtuale

NameVirtualHost *:80

Crea l’Host Virtuale Predefinito

Questo deve essere il primo host virtuale, sarà il predefinito sul server, l’equivalente del server senza hosting virtuale.


        Servername localhost.localdomain
        Serveradmin [email protected]

Configurazione di Roundcube Webmail

Crea Database

  • Crea il database e aggiungi l’utente roundcube.
mysqladmin -p create roundcube  
mysql -p  
mysql> GRANT ALL ON roundcube.* TO roundcube@localhost IDENTIFIED BY 'password';
  • Inizializza il database:
mysql -u roundcube -p roundcube < /usr/share/doc/roundcube-0.1/SQL/mysql5.initial.sql

Configurazione di Base

  • Configura il DSN del database in /var/www/roundcube/config/db.inc.php:
$rcmail_config['db_dsnw'] = 'mysql://roundcube:password@localhost/roundcube';
  • Configura roundcube in /var/www/roundcube/config/main.inc.php:
$rcmail_config['default_host'] = 'localhost';
$rcmail_config['default_port'] = 143;
$rcmail_config['virtuser_file'] = '/etc/postfix/virtual';
$rcmail_config['smtp_server'] = 'localhost';
$rcmail_config['smtp_port'] = 25;
$rcmail_config['smtp_helo_host'] = 'localhost';

Imposta l’Host Virtuale Catch All

Poiché forniremo webmail per tutti i domini creati sul sistema, dobbiamo impostare un host virtuale catch all che possa visualizzare roundcube ogni volta che un utente accede a http://webmail.domainname. Modifica /etc/httpd/conf/httpd.conf e aggiungi:


ServerName webmail.example.com
ServerAlias webmail.*
DocumentRoot /var/www/roundcube

Options -Indexes IncludesNOEXEC FollowSymLinks
allow from all

Configurazione del Firewall

Introduzione

Questo è un firewall di base, potrebbe non soddisfare le tue esigenze, il firewalling è un’arte quindi ti consiglio di approfondire per migliorare questo di base.

Configurazione di Base

Aggiungi queste regole nel tuo file di configurazione /etc/sysconfig/iptables:

*raw
:PREROUTING ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
COMMIT
*nat
:PREROUTING ACCEPT [0:0]
:POSTROUTING ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
COMMIT
*mangle
:PREROUTING ACCEPT [0:0]
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
:POSTROUTING ACCEPT [0:0]
COMMIT
*filter
:FORWARD DROP [0:0]
:INPUT DROP [0:0]
:OUTPUT DROP [0:0]
-A INPUT -i lo -j ACCEPT
-A INPUT -p tcp -m tcp --dport 22 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 21 -j ACCEPT
-A INPUT -p tcp -m multiport -j ACCEPT --dports 80,443,25,110,143,53
-A INPUT -p udp -m udp --dport 53 -j ACCEPT
-A INPUT -p icmp -m icmp -m limit --icmp-type 8 --limit 5/min -j ACCEPT
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A OUTPUT -s 127.0.0.1 -j ACCEPT
-A OUTPUT -s 192.168.1.5 -j ACCEPT
-A OUTPUT -s 192.168.1.6 -j ACCEPT
COMMIT

Attiva la Configurazione

service iptables restart
Share: X/Twitter LinkedIn

Ricevi i nuovi post nella tua casella di posta.

Nessuno spam. Disiscriviti in qualsiasi momento.