Serveur · 6 min read · Jan 14, 2026
Le Serveur Parfait - CentOS 5.7 x86_64 [ISPConfig 3] - Page 5
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.
mod_fcgid n’est pas disponible dans les dépôts officiels de CentOS, mais il existe un paquet pour CentOS 5.x dans le dépôt de test centos.karan.org. Nous activons le dépôt comme suit :
cd /etc/yum.repos.d/
wget http://centos.karan.org/kbsingh-CentOS-Extras.repo
Ensuite, nous ouvrons /etc/yum.repos.d/kbsingh-CentOS-Extras.repo…
vi /etc/yum.repos.d/kbsingh-CentOS-Extras.repo… et définissons gpgcheck à 0 et enabled à 1 dans la section [kbs-CentOS-Testing] :
| [...] # pkgs dans le dépôt -Testing ne sont pas signés gpg [kbs-CentOS-Testing] name=CentOS.Karan.Org-EL$releasever - Testing gpgcheck=0 gpgkey=http://centos.karan.org/RPM-GPG-KEY-karan.org.txt enabled=1 baseurl=http://centos.karan.org/el$releasever/extras/testing/$basearch/RPMS/ |
Après cela, nous pouvons installer Apache2 avec mod_php5, mod_fcgid, et PHP5 :
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-mhash php-mssql php-snmp php-soap php-tidy curl curl-devel perl-libwww-perl ImageMagick libxml2 libxml2-devel mod_fcgid php-cli httpd-develEnsuite, 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 ajoutons cgi.fix_pathinfo = 1 à la fin du fichier :
| [...] ;error_reporting = E_ALL error_reporting = E_ALL & ~E_NOTICE [...] cgi.fix_pathinfo = 1 |
Ensuite, nous installons suPHP :
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 où tous les scripts doivent être 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érifier 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écifier 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 restart15.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 5.7, 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-develEnsuite, 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 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 |
… et redémarrons Apache :
/etc/init.d/httpd restart15.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-ftpdEnsuite, 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 permettre 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, il suffit d’exécuter :
yum install opensslOuvrez /etc/pure-ftpd/pure-ftpd.conf…
vi /etc/pure-ftpd/pure-ftpd.confSi 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/Après cela, 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.pemNom du pays (code à 2 lettres) [GB]: <– Entrez le nom de votre pays (par exemple, “DE”).
Nom de l’État ou de la province (nom complet) [Berkshire]: <– Entrez le nom de votre État ou province.
Nom de la localité (par exemple, ville) [Newbury]: <– Entrez votre ville.
Nom de l’organisation (par exemple, entreprise) [My Company 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, “server1.example.com”).
Adresse e-mail []: <– Entrez votre adresse e-mail.
Changez les permissions du certificat SSL :
chmod 600 /etc/ssl/private/pure-ftpd.pemEnfin, redémarrez PureFTPd :
/etc/init.d/pure-ftpd restartC’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 un Serveur DNS Chrooté (BIND9)
Pour installer un BIND9 chrooté, nous faisons ceci :
yum install bind-chrootEnsuite, faites ceci :
chmod 755 /var/named/
chmod 775 /var/named/chroot/
chmod 775 /var/named/chroot/var/
chmod 775 /var/named/chroot/var/named/
chmod 775 /var/named/chroot/var/run/
chmod 777 /var/named/chroot/var/run/named/
cd /var/named/chroot/var/named/
ln -s ../../ chroot
touch /var/named/chroot/var/named/named.local
cp /usr/share/doc/bind-9.3.6/sample/var/named/named.root /var/named/chroot/var/named/named.root
touch /var/named/chroot/etc/named.conf.local
vi /var/named/chroot/etc/named.conf
| // named.conf // Fournie 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/chroot/var/named"; dump-file "/var/named/chroot/var/named/data/cache_dump.db"; statistics-file "/var/named/chroot/var/named/data/named_stats.txt"; memstatistics-file "/var/named/chroot/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.root"; }; include "/var/named/chroot/var/named/named.local"; |
chkconfig –levels 235 named on
/etc/init.d/named start
BIND fonctionnera dans une prison chrootée sous /var/named/chroot/var/named/. J’utiliserai ISPConfig pour configurer BIND (zones, etc.).
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-Buildercd /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 chrooter 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
Ceci est optionnel mais recommandé, car le moniteur ISPConfig essaie d’afficher le journal :
yum install fail2banchkconfig –levels 235 fail2ban on
/etc/init.d/fail2ban start
21 Installer rkhunter
rkhunter peut être installé comme suit :
yum install rkhunterRecevez de nouveaux articles dans votre boîte de réception.
Aucun spam. Désabonnez-vous à tout moment.