Serveur Web · 4 min read · Nov 21, 2025
Le Serveur Parfait - CentOS 5.2 x86_64 - 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-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 par 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-devel apr-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 restart12.3 Installation de mod_python
Pour installer mod_python, nous exécutons simplement…
yum install mod_python… et redémarrons Apache ensuite :
/etc/init.d/httpd restart13 ProFTPd
ISPConfig a un meilleur support pour proftpd que vsftpd, donc supprimons vsftpd :
yum remove vsftpdParce 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.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é avec un accent 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 "$"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/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 "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 # |
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.