Serveur · 8 min read · Nov 07, 2025

Le Serveur Parfait - CentOS 6.0 x86_64 [ISPConfig 3] - Page 5

14 Installer Amavisd-new, SpamAssassin Et ClamAV

Pour installer amavisd-new, spamassassin et clamav, exécutez la commande suivante :

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

Ensuite, nous démarrons freshclam, amavisd et clamd :

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

15 Installer Apache2 Avec mod_php, mod_fcgi/PHP5, Et suPHP

ISPConfig 3 vous permet d’utiliser mod_php, mod_fcgi/PHP5, cgi/PHP5 et suPHP sur une base par site web.

Nous pouvons installer Apache2 avec mod_php5, mod_fcgid et PHP5 comme suit :

yum install php php-devel php-gd php-imap php-ldap php-mysql php-odbc php-pear php-xml php-xmlrpc php-eaccelerator php-mbstring php-mcrypt php-mssql php-snmp php-soap php-tidy curl curl-devel perl-libwww-perl ImageMagick libxml2 libxml2-devel mod_fcgid php-cli httpd-devel 

Ensuite, nous ouvrons /etc/php.ini…

vi /etc/php.ini

… et changeons le rapport d’erreurs (pour que les notifications ne soient plus affichées) et décommentons cgi.fix_pathinfo=1 :

| [...] ;error_reporting = E_ALL & ~E_DEPRECATED error_reporting = E_ALL & ~E_NOTICE [...] ; cgi.fix_pathinfo fournit un support *réel* de PATH_INFO/PATH_TRANSLATED pour CGI. PHP's ; le comportement précédent était de définir PATH_TRANSLATED sur SCRIPT_FILENAME, et de ne pas comprendre ; ce qu'est PATH_INFO. Pour plus d'informations sur PATH_INFO, voir les spécifications cgi. Définir ; cela à 1 fera en sorte que PHP CGI corrige ses chemins pour se conformer à la spécification. Un réglage ; de zéro fait que PHP se comporte comme avant. La valeur par défaut est 1. Vous devriez corriger vos scripts ; pour utiliser SCRIPT_FILENAME plutôt que PATH_TRANSLATED. ; http://www.php.net/manual/en/ini.core.php#ini.cgi.fix-pathinfo cgi.fix_pathinfo=1 [...] |

Ensuite, nous installons suPHP (il existe un paquet mod_suphp disponible dans les dépôts, mais malheureusement il n’est pas compatible avec ISPConfig, donc nous devons construire suPHP nous-mêmes) :

cd /tmp
wget http://suphp.org/download/suphp-0.7.1.tar.gz
tar xvfz suphp-0.7.1.tar.gz
cd suphp-0.7.1/
./configure –prefix=/usr –sysconfdir=/etc –with-apr=/usr/bin/apr-1-config –with-apxs=/usr/sbin/apxs –with-apache-user=apache –with-setid-mode=owner –with-php=/usr/bin/php-cgi –with-logfile=/var/log/httpd/suphp_log –enable-SUPHP_USE_USERGROUP=yes
make
make install

Ensuite, nous ajoutons le module suPHP à notre configuration Apache…

vi /etc/httpd/conf.d/suphp.conf

| LoadModule suphp_module modules/mod_suphp.so |

… et créons le fichier /etc/suphp.conf comme suit :

vi /etc/suphp.conf

| [global] ;Chemin vers le fichier journal logfile=/var/log/httpd/suphp.log ;Niveau de journalisation loglevel=info ;Utilisateur sous lequel Apache s'exécute webserver_user=apache ;Chemin que tous les scripts doivent respecter docroot=/ ;Chemin vers chroot() avant d'exécuter le script ;chroot=/mychroot ; Options de sécurité allow_file_group_writeable=true allow_file_others_writeable=false allow_directory_group_writeable=true allow_directory_others_writeable=false ;Vérifiez si le script est dans DOCUMENT_ROOT check_vhost_docroot=true ;Envoyer les messages d'erreur mineurs au navigateur errors_to_browser=false ;Variable d'environnement PATH env_path=/bin:/usr/bin ;Umask à définir, spécifiez en notation octale umask=0077 ; UID minimum min_uid=100 ; GID minimum min_gid=100 [handlers] ;Gestionnaire pour les scripts php x-httpd-suphp="php:/usr/bin/php-cgi" ;Gestionnaire pour les scripts CGI x-suphp-cgi="execute:!self" |

Enfin, nous redémarrons Apache :

/etc/init.d/httpd restart

15.1 Ruby

À partir de la version 3.0.3, ISPConfig 3 a un support intégré pour Ruby. Au lieu d’utiliser CGI/FastCGI, ISPConfig dépend de mod_ruby étant disponible dans l’Apache du serveur.

Pour CentOS 6.0, il n’y a pas de paquet mod_ruby disponible, donc nous devons le compiler nous-mêmes. D’abord, nous installons quelques prérequis :

yum install httpd-devel ruby ruby-devel

Ensuite, nous téléchargeons et installons mod_ruby comme suit :

cd /tmp
wget http://modruby.net/archive/mod_ruby-1.3.0.tar.gz
tar zxvf mod_ruby-1.3.0.tar.gz
cd mod_ruby-1.3.0/
./configure.rb –with-apr-includes=/usr/include/apr-1
make
make install

Enfin, nous devons ajouter le module mod_ruby à la configuration d’Apache, donc nous créons le fichier /etc/httpd/conf.d/ruby.conf…

vi /etc/httpd/conf.d/ruby.conf

| LoadModule ruby_module modules/mod_ruby.so RubyAddPath /1.8 |

… et redémarrons Apache :

/etc/init.d/httpd restart

(Si vous omettez la directive RubyAddPath /1.8, vous verrez des erreurs comme celles-ci dans le journal d’erreurs d’Apache lorsque vous appelez des fichiers Ruby :

[Thu May 26 02:05:05 2011] [error] mod_ruby: ruby:0:in `require’: aucun fichier à charger – apache/ruby-run (LoadError)
[Thu May 26 02:05:05 2011] [error] mod_ruby: échec de l’exigence apache/ruby-run
[Thu May 26 02:05:05 2011] [error] mod_ruby: erreur dans ruby ) #### 15.2 WebDAV WebDAV devrait déjà être activé, mais pour vérifier cela, ouvrez /etc/httpd/conf/httpd.conf et assurez-vous que les trois modules suivants sont actifs : vi /etc/httpd/conf/httpd.conf | [...] LoadModule auth_digest_module modules/mod_auth_digest.so [...] LoadModule dav_module modules/mod_dav.so [...] LoadModule dav_fs_module modules/mod_dav_fs.so [...] | Si vous devez modifier /etc/httpd/conf/httpd.conf, n’oubliez pas de redémarrer Apache ensuite : /etc/init.d/httpd restart ### 16 Installer PureFTPd PureFTPd peut être installé avec la commande suivante : yum install pure-ftpd Ensuite, créez les liens de démarrage système et démarrez PureFTPd : chkconfig –levels 235 pure-ftpd on
/etc/init.d/pure-ftpd start Maintenant, nous configurons PureFTPd pour autoriser les sessions FTP et TLS. FTP est un protocole très peu sécurisé car tous les mots de passe et toutes les données sont transférés en texte clair. En utilisant TLS, toute la communication peut être cryptée, rendant ainsi FTP beaucoup plus sécurisé. OpenSSL est nécessaire pour TLS ; pour installer OpenSSL, nous exécutons simplement : yum install openssl Ouvrez /etc/pure-ftpd/pure-ftpd.conf… vi /etc/pure-ftpd/pure-ftpd.conf Si vous souhaitez autoriser les sessions FTP et TLS, définissez TLS à 1 : | [...] # Cette option peut accepter trois valeurs : # 0 : désactiver la couche de cryptage SSL/TLS (par défaut). # 1 : accepter à la fois les sessions traditionnelles et cryptées. # 2 : refuser les connexions qui n'utilisent pas les mécanismes de sécurité SSL/TLS, # y compris les sessions anonymes. # Ne décommentez pas cela à la légère. Assurez-vous que : # 1) Votre serveur a été compilé avec le support SSL/TLS (--with-tls), # 2) Un certificat valide est en place, # 3) Seuls des clients compatibles se connecteront. TLS 1 [...] | Pour utiliser TLS, nous devons créer un certificat SSL. Je le crée dans /etc/ssl/private/, donc je crée d’abord ce répertoire : mkdir -p /etc/ssl/private/ Ensuite, nous pouvons générer le certificat SSL comme suit : openssl req -x509 -nodes -days 7300 -newkey rsa:2048 -keyout /etc/ssl/private/pure-ftpd.pem -out /etc/ssl/private/pure-ftpd.pem Nom du pays (code à 2 lettres) [XX]: <– Entrez le nom de votre pays (par exemple, “FR”).
Nom de l’État ou de la province (nom complet) []: <– Entrez le nom de votre État ou province.
Nom de la localité (par exemple, ville) [Ville par défaut]: <– Entrez votre ville.
Nom de l’organisation (par exemple, entreprise) [Société par défaut Ltd]: <– Entrez le nom de votre organisation (par exemple, le nom de votre entreprise).
Nom de l’unité organisationnelle (par exemple, section) []: <– Entrez le nom de votre unité organisationnelle (par exemple, “Département IT”).
Nom commun (par exemple, votre nom ou le nom d’hôte de votre serveur) []: <– Entrez le nom de domaine complet du système (par exemple, “serveur1.exemple.com”).
Adresse e-mail []: <– Entrez votre adresse e-mail. Changez les permissions du certificat SSL : chmod 600 /etc/ssl/private/pure-ftpd.pem Enfin, redémarrez PureFTPd : /etc/init.d/pure-ftpd restart C’est tout. Vous pouvez maintenant essayer de vous connecter en utilisant votre client FTP ; cependant, vous devez configurer votre client FTP pour utiliser TLS. ### 17 Installer BIND Nous pouvons installer BIND comme suit : yum install bind bind-utils Ensuite, ouvrez /etc/sysconfig/named… vi /etc/sysconfig/named … et assurez-vous que la ligne ROOTDIR=/var/named/chroot est commentée : | # Options du processus BIND nommé # ~~~~~~~~~~~~~~~~~~~~~~~~~~ # Actuellement, vous pouvez utiliser les options suivantes : # # ROOTDIR="/var/named/chroot" -- fera fonctionner named dans un environnement chroot. # vous devez configurer l'environnement chroot # (installer le paquet bind-chroot) avant # de faire cela. # REMARQUE : # Ces répertoires sont automatiquement montés dans chroot s'ils sont # vides dans le répertoire ROOTDIR. Cela simplifiera la maintenance de votre # environnement chroot. # - /var/named # - /etc/pki/dnssec-keys # - /etc/named # - /usr/lib64/bind ou /usr/lib/bind (dépendant de l'architecture) # # Ces fichiers sont également montés si le fichier cible n'existe pas dans # chroot. # - /etc/named.conf # - /etc/rndc.conf # - /etc/rndc.key # - /etc/named.rfc1912.zones # - /etc/named.dnssec.keys # - /etc/named.iscdlv.key # # N'oubliez pas d'ajouter la ligne "$AddUnixListenSocket /var/named/chroot/dev/log" # à votre fichier /etc/rsyslog.conf. Sinon, votre journalisation devient # cassée lorsque le démon rsyslogd est redémarré (en raison d'une mise à jour, par exemple). # # OPTIONS="whatever" -- Ces options supplémentaires seront passées à named # au démarrage. N'ajoutez pas -t ici, utilisez ROOTDIR à la place. # # KEYTAB_FILE="/dir/file" -- Spécifiez le fichier de clé de service nommé (pour GSS-TSIG) #ROOTDIR=/var/named/chroot | Faites une sauvegarde de l’ancien fichier /etc/named.conf et créez-en un nouveau comme suit : cp /etc/named.conf /etc/named.conf_bak
cat /dev/null > /etc/named.conf
vi /etc/named.conf | // named.conf // // Fournit par le paquet bind de Red Hat pour configurer le serveur DNS ISC BIND nommé(8) // comme un serveur de noms uniquement en cache (comme un résolveur DNS localhost uniquement). // // Voir /usr/share/doc/bind*/sample/ pour des exemples de fichiers de configuration nommés. 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"; | Créez le fichier /etc/named.conf.local qui est inclus à la fin de /etc/named.conf ( /etc/named.conf.local sera ensuite peuplé par ISPConfig si vous créez des zones DNS dans ISPConfig) : touch /etc/named.conf.local Ensuite, nous créons les liens de démarrage et démarrons BIND : chkconfig –levels 235 named on
/etc/init.d/named start ### 18 Installer Vlogger, Webalizer, Et AWStats Vlogger, webalizer et AWStats peuvent être installés comme suit : yum install webalizer awstats perl-DateTime-Format-HTTP perl-DateTime-Format-Builder cd /tmp
wget http://n0rp.chemlab.org/vlogger/vlogger-1.3.tar.gz
tar xvfz vlogger-1.3.tar.gz
mv vlogger-1.3/vlogger /usr/sbin/
rm -rf vlogger ### 19 Installer Jailkit Jailkit est nécessaire uniquement si vous souhaitez chroot les utilisateurs SSH. Il peut être installé comme suit (important : Jailkit doit être installé avant ISPConfig - il ne peut pas être installé après !) : cd /tmp
wget http://olivier.sessink.nl/jailkit/jailkit-2.14.tar.gz
tar xvfz jailkit-2.14.tar.gz
cd jailkit-2.14
./configure
make
make install
cd ..
rm -rf jailkit-2.14
### 20 Installer fail2ban C’est optionnel mais recommandé, car le moniteur ISPConfig essaie d’afficher le journal : yum install fail2ban chkconfig –levels 235 fail2ban on
/etc/init.d/fail2ban start ### 21 Installer rkhunter rkhunter peut être installé comme suit : yum install rkhunter

Share: X/Twitter LinkedIn

Recevez de nouveaux articles dans votre boîte de réception.

Aucun spam. Désabonnez-vous à tout moment.