Serveur Web · 4 min read · Jan 19, 2026

Le Serveur Parfait - CentOS 5.2 - Page 6

12 Apache2 Avec PHP & Ruby

Maintenant nous installons Apache avec PHP (c’est PHP 5.1.6):

yum install php php-devel php-gd php-imap php-ldap php-mysql php-odbc php-pear php-xml php-xmlrpc curl curl-devel perl-libwww-perl ImageMagick libxml2 libxml2-devel

Ensuite, éditez /etc/httpd/conf/httpd.conf:

vi /etc/httpd/conf/httpd.conf

et changez DirectoryIndex à

| [...] DirectoryIndex index.html index.htm index.shtml index.cgi index.php index.php3 index.pl [...] |

Maintenant configurez votre système pour démarrer Apache au démarrage :

chkconfig --levels 235 httpd on

Démarrez Apache :

/etc/init.d/httpd start

12.1 Désactiver PHP Globalement

(Si vous ne prévoyez pas d’installer ISPConfig sur ce serveur, veuillez sauter cette section !)

Dans ISPConfig, vous configurerez PHP sur une base par site web, c’est-à-dire que vous pouvez spécifier quel site web peut exécuter des scripts PHP et lequel ne peut pas. Cela ne peut fonctionner que si PHP est désactivé globalement car sinon tous les sites web pourraient exécuter des scripts PHP, peu importe ce que vous spécifiez dans ISPConfig.

Pour désactiver PHP globalement, nous éditons /etc/httpd/conf.d/php.conf et commentons les lignes AddHandler et AddType :

vi /etc/httpd/conf.d/php.conf

| # # PHP est un langage de script intégré dans HTML qui tente de faciliter # l'écriture de pages web générées dynamiquement pour les développeurs. # LoadModule php5_module modules/libphp5.so # # Fait que l'interpréteur PHP gère les fichiers avec une extension .php. # #AddHandler php5-script .php #AddType text/html .php # # Ajoute index.php à la liste des fichiers qui seront servis comme index # de répertoire. # DirectoryIndex index.php # # Décommentez la ligne suivante pour permettre à PHP d'afficher joliment les fichiers .phps # comme code source PHP : # #AddType application/x-httpd-php-source .phps |

Ensuite, nous redémarrons Apache :

/etc/init.d/httpd restart

12.2 Installation de mod_ruby

Pour CentOS 5.2, il n’y a pas de package 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://www.modruby.net/archive/mod_ruby-1.2.6.tar.gz  
tar zxvf mod_ruby-1.2.6.tar.gz  
cd mod_ruby-1.2.6/  
./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 |

… et redémarrons Apache :

/etc/init.d/httpd restart

13 ProFTPd

ISPConfig a un meilleur support pour proftpd que vsftpd, donc supprimons vsftpd :

yum remove vsftpd

Comme CentOS n’a pas de package proftpd, nous devons compiler Proftpd manuellement :

cd /tmp/  
wget --passive-ftp ftp://ftp.proftpd.org/distrib/source/proftpd-1.3.1.tar.gz  
tar xvfz proftpd-1.3.1.tar.gz  
cd proftpd-1.3.1/  
./configure --sysconfdir=/etc  
make  
make install  
cd ..  
rm -fr proftpd-1.3.1*

Le binaire proftpd est installé dans /usr/local/sbin, mais nous en avons besoin dans /usr/sbin, donc nous créons un lien symbolique :

ln -s /usr/local/sbin/proftpd /usr/sbin/proftpd

Maintenant, créons le script d’initialisation /etc/init.d/proftpd :

vi /etc/init.d/proftpd

| #!/bin/sh # $Id: proftpd.init,v 1.1 2004/02/26 17:54:30 thias Exp $ # # proftpd Ce script shell s'occupe de démarrer et d'arrêter # proftpd. # # chkconfig: - 80 30 # description: ProFTPD est un serveur FTP amélioré axé sur la \ # simplicité, la sécurité et la facilité de configuration. \ # Il présente une syntaxe de configuration très similaire à Apache, \ # et une infrastructure de serveur hautement personnalisable, \ # y compris le support pour plusieurs serveurs FTP 'virtuels', \ # FTP anonyme, et la visibilité des répertoires basée sur les permissions. # processname: proftpd # config: /etc/proftp.conf # pidfile: /var/run/proftpd.pid # Source function library. . /etc/rc.d/init.d/functions # Source networking configuration. . /etc/sysconfig/network # Vérifiez que le réseau est actif. [ ${NETWORKING} = "no" ] && exit 0 [ -x /usr/sbin/proftpd ] || exit 0 RETVAL=0 prog="proftpd" start() { echo -n "$Starting $prog: " daemon proftpd RETVAL=$? echo [ $RETVAL -eq 0 ] && touch /var/lock/subsys/proftpd } stop() { echo -n "$Shutting down $prog: " killproc proftpd RETVAL=$? echo [ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/proftpd } # Voir comment nous avons été appelés. case "$1" in start) start ;; stop) stop ;; status) status proftpd RETVAL=$? ;; restart) stop start ;; condrestart) if [ -f /var/lock/subsys/proftpd ]; then stop start fi ;; reload) echo -n "$Re-reading $prog configuration: " killproc proftpd -HUP RETVAL=$? echo ;; *) echo "Usage: $prog {start|stop|restart|reload|condrestart|status}" exit 1 esac exit $RETVAL |

Ensuite, nous rendons le script d’initialisation exécutable :

chmod 755 /etc/init.d/proftpd

Ensuite, nous ouvrons /etc/proftpd.conf et changeons Group à nobody :

vi /etc/proftpd.conf

| [...] Group nobody [...] |

Pour des raisons de sécurité, vous pouvez également ajouter les lignes suivantes à /etc/proftpd.conf (merci à Reinaldo Carvalho ; plus d’informations peuvent être trouvées ici : http://proftpd.org/localsite/Userguide/linked/userguide.html) :

vi /etc/proftpd.conf

| [...] DefaultRoot ~ IdentLookups off ServerIdent on "FTP Server ready." [...] |

Maintenant, nous pouvons créer les liens de démarrage système pour Proftpd :

chkconfig --levels 235 proftpd on

Et enfin, nous démarrons Proftpd :

/etc/init.d/proftpd start
Share: X/Twitter LinkedIn

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

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