Serveur Web · 4 min read · Oct 07, 2025

Le Serveur Parfait - CentOS 5.3 i386 [ISPConfig 2] - Page 6

12 Apache2 Avec PHP, Ruby, Python

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 en

| [...] 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 le 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 # la tâche des développeurs pour écrire des pages web générées dynamiquement. # 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.3, 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://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 |

… et redémarrons Apache :

/etc/init.d/httpd restart

12.3 Installation de mod_python

Pour installer mod_python, il suffit d’exécuter…

yum install mod_python

… et de redémarrer Apache ensuite :

/etc/init.d/httpd restart

13 ProFTPd

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

yum remove vsftpd

Parce que 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.2.tar.gz  
tar xvfz proftpd-1.3.2.tar.gz  
cd proftpd-1.3.2/  
./configure --sysconfdir=/etc  
make  
make install  
cd ..  
rm -fr proftpd-1.3.2*

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éez 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 # Check that networking is up. [ ${NETWORKING} = "no" ] && exit 0 [ -x /usr/sbin/proftpd ] || exit 0 RETVAL=0 prog="proftpd" start() { echo -n "$"Démarrage $prog: " daemon proftpd RETVAL=$? echo [ $RETVAL -eq 0 ] && touch /var/lock/subsys/proftpd } stop() { echo -n "$"Arrêt de $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 "$"Relecture de la configuration de $prog: " 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 en 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 "Serveur FTP prêt." [...] |

Pour vous assurer que les utilisateurs FTP peuvent utiliser la commande chmod, commentez la section :

| [...] # Interdire l'utilisation de SITE CHMOD par défaut # # DenyAll # [...] |

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.