Serveur · 7 min read · Dec 28, 2025

Le Serveur Parfait - Fedora 14 x86_64 [ISPConfig 3] - Page 5

15 Installation de 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-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* pour PATH_INFO/PATH_TRANSLATED pour CGI. Le comportement précédent de PHP était de définir PATH_TRANSLATED à SCRIPT_FILENAME, et de ne pas comprendre ce qu'est PATH_INFO. Pour plus d'informations sur PATH_INFO, voir les spécifications cgi. Le réglage de ceci à 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 auparavant. 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 :

cd /tmp
wget http://www.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

Puis 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 se trouver 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é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 Fedora 14, 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 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 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 restart

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 chiffré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 chiffrement SSL/TLS (par défaut). # 1 : accepter à la fois les sessions traditionnelles et chiffrées. # 2 : refuser les connexions qui n'utilisent pas les mécanismes de sécurité SSL/TLS, # y compris les sessions anonymes. # Ne pas décommenter 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 - voir le chapitre suivant pour savoir comment faire cela avec FileZilla.

17 Installer BIND

Nous pouvons installer BIND comme suit :

yum install bind bind-utils

Ensuite, ouvrez /etc/sysconfig/named…

vi /etc/sysconfig/named

… et commentez la ligne ROOTDIR=/var/named/chroot :

| # Options du processus BIND nommé # ~~~~~~~~~~~~~~~~~~~~~~~~~~ # Actuellement, vous pouvez utiliser les options suivantes : # # ROOTDIR="/var/named/chroot" -- exécutera nommé 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 "$AddUnixListenSocket /var/named/chroot/dev/log" # ligne à votre fichier /etc/rsyslog.conf. Sinon, votre journalisation devient # cassée lorsque le démon rsyslogd est redémarré (par exemple, suite à une mise à jour). # # OPTIONS="whatever" -- Ces options supplémentaires seront passées à nommé # 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 |

Ensuite, nous créons les liens de démarrage :

chkconfig --levels 235 named on

Nous ne démarrons pas BIND maintenant car il doit d’abord être configuré - cela sera fait automatiquement par l’installateur ISPConfig 3 plus tard.

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.13.tar.gz
tar xvfz jailkit-2.13.tar.gz
cd jailkit-2.13
./configure
make
make install
cd ..
rm -rf jailkit-2.13*

20 Installer fail2ban

Ceci est optionnel mais recommandé, car le moniteur ISPConfig essaie de montrer 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.