Configuration Serveur · 5 min read · Jan 06, 2026
Configuration de l'hébergement virtuel avec Virtualmin sur CentOS 5.1 - Page 5
Configuration de Clamav Milter
- Éditez /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"- Appliquez le patch au fichier d’initialisation pour corriger les permissions du socket:
wget http://www.topdog-software.com/files/clamav-milter.patch
patch /etc/init.d/clamav-milter < clamav-milter.patchConfiguration de MySQL
Configuration de base
- Écoutez uniquement sur localhost, éditez /etc/my.cnf sous la section mysqld:
bind-address = 127.0.0.1Définir le mot de passe root
- Définissez le mot de passe root:
service mysqld start
mysqladmin -u root password NEWPASSWORDConfiguration de SpamAssassin
Configuration de base
required_hits 5
report_safe 0
rewrite_header Subject [SPAM]Créer la base de données MySQL
- Créez la base de données:
mysqladmin -p create bayes- Remplissez la base de données:
mysql -p bayes < /usr/share/doc/spamassassin-$(rpm --qf %{VERSION} -q spamassassin)/sql/bayes_mysql.sql- Créez l’utilisateur:
mysql -p
mysql> GRANT ALL ON bayes.* TO bayes@localhost IDENTIFIED BY 'password';Configurer pour utiliser la base de données
- Éditez le fichier /etc/mail/spamassassin/local.cf et ajoutez:
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 passwordConfigurer FuzzyOCR
Nous allons stocker les hachages d’images dans une base de données MySQL pour améliorer les performances afin que les images déjà scannées ne soient pas scannées à nouveau, car l’OCR est une activité gourmande en ressources.
Créer la base de données MySQL
- Le script SQL crée la base de données et les tables et ajoute un utilisateur fuzzyocr avec le mot de passe fuzzyocr:
mysql -p < /usr/local/src/devel/FuzzyOcr.mysql- Changez le mot de passe:
mysqladmin -u fuzzyocr -p fuzzyocr passwordParamètres de base
- Éditez /etc/mail/spamassassin/FuzzyOCR.cf et définissez les options de 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.logFaire en sorte que FuzzyOCR utilise la base de données
- Éditez le fichier /etc/mail/spamassassin/FuzzyOcr.cf et ajoutez:
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.sockMises à jour des règles SARE
- Importez la clé GPG utilisée pour signer les règles:
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- Créez le fichier des canaux /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- Créez un script de mise à jour /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- Rendez-le exécutable et ajoutez-le à 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/Configuration de Spamass-milter
Configuration de base
- Éditez /etc/sysconfig/spamass-milter:
SOCKET=/var/run/spamass.sock
EXTRA_FLAGS="-m -r 8"Patch
Nous devons appliquer un patch au fichier d’initialisation pour corriger les permissions du socket créé afin que postfix puisse utiliser le socket.
wget http://www.topdog-software.com/files/spamass-milter.patch
patch /etc/rc.d/init.d/spamass-milter < spamass-milter.patchConfiguration d’Apache
Désactiver des modules
Nous allons désactiver certains modules que nous n’utilisons pas, libérant ainsi de la mémoire et améliorant également la sécurité.
- Éditez /etc/httpd/conf/httpd.conf et commentez les modules comme ci-dessous.
#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- Éditez /etc/httpd/conf.d/proxy_ajp.conf et commentez comme ci-dessous:
#LoadModule proxy_ajp_module modules/mod_proxy_ajp.soÉcouter sur une IP pour HTTPS
Apache doit être configuré pour écouter sur une seule adresse pour le port 443 car webmin utilisera le même port. Éditez /etc/httpd/conf.d/ssl:
Listen 192,168.1.6:443Activer la compression Gzip
Nous configurons la compression gzip via le module mod_deflate pour améliorer les performances du serveur web et réduire l’utilisation de la bande passante en compressant les réponses au 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-varyConfigurez la journalisation pour le module 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_infoAugmenter la mémoire maximale de PHP
Éditez le fichier /etc/php.ini et définissez ce qui suit:
memory_limit = 64MActiver l’hébergement virtuel
NameVirtualHost *:80Créer l’hôte virtuel par défaut
Ceci doit être le premier hôte virtuel, il sera le défaut sur le serveur, l’équivalent du serveur sans hébergement virtuel.
Servername localhost.localdomain
Serveradmin [email protected]
Configuration de Roundcube Webmail
Créer la base de données
- Créez la base de données et ajoutez l’utilisateur roundcube.
mysqladmin -p create roundcube
mysql -p
mysql> GRANT ALL ON roundcube.* TO roundcube@localhost IDENTIFIED BY 'password';- Initialisez la base de données:
mysql -u roundcube -p roundcube < /usr/share/doc/roundcube-0.1/SQL/mysql5.initial.sqlConfiguration de base
- Configurez le DSN de la base de données dans /var/www/roundcube/config/db.inc.php:
$rcmail_config['db_dsnw'] = 'mysql://roundcube:password@localhost/roundcube';- Configurez roundcube dans /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';Configurer un hôte virtuel catch-all
Comme nous fournirons un webmail pour tous les domaines créés sur le système, nous devons configurer un hôte virtuel catch-all qui peut afficher roundcube chaque fois qu’un utilisateur accède à http://webmail.domainname. Éditez /etc/httpd/conf/httpd.conf et ajoutez:
ServerName webmail.example.com
ServerAlias webmail.*
DocumentRoot /var/www/roundcube
Options -Indexes IncludesNOEXEC FollowSymLinks
allow from all
Configuration du pare-feu
Introduction
Ceci est un pare-feu de base, il peut ne pas convenir à vos besoins, le pare-feu est un art, donc je recommande de lire à ce sujet pour améliorer ce modèle de base.
Configuration de base
Ajoutez ces règles dans votre fichier de configuration /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
COMMITActiver la configuration
service iptables restartRecevez de nouveaux articles dans votre boîte de réception.
Aucun spam. Désabonnez-vous à tout moment.