Serveur CentOS · 3 min read · Jan 11, 2026
Configuration du serveur CentOS 5.1 : LAMP, Email, DNS, FTP, ISPConfig (a.k.a. Le serveur parfait) - Page 6
12 Apache2 Avec PHP
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 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 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 ignorer 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 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é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 # 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 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." [...] |
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.