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-develEnsuite, éditez /etc/httpd/conf/httpd.conf:
vi /etc/httpd/conf/httpd.confet 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 onDémarrez Apache :
/etc/init.d/httpd start12.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 restart12.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-develEnsuite, 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 installEnfin, 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 restart13 ProFTPd
ISPConfig a un meilleur support pour proftpd que vsftpd, donc supprimons vsftpd :
yum remove vsftpdComme 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/proftpdMaintenant, 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/proftpdEnsuite, 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 onEt enfin, nous démarrons Proftpd :
/etc/init.d/proftpd startRecevez de nouveaux articles dans votre boîte de réception.
Aucun spam. Désabonnez-vous à tout moment.