Serveur Web · 5 min read · Dec 17, 2025
Le Serveur Parfait - Fedora 11 x86_64 [ISPConfig 2] - Page 5
11 Apache2 Avec PHP, Ruby, Python, WebDAV
Maintenant, nous installons Apache avec PHP5 (c’est PHP 5.2.9):
yum install php php-devel php-gd php-imap php-ldap php-mysql php-odbc php-pear php-xml php-xmlrpc php-eaccelerator php-magickwand php-magpierss php-mapserver php-mbstring php-mcrypt php-mhash php-mssql php-shout php-snmp php-soap php-tidy 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 start11.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 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 # l'écriture de pages web générées dynamiquement pour les développeurs. # |
Ensuite, nous redémarrons Apache :
/etc/init.d/httpd restart11.2 Ruby
À partir de la version 2.2.20, ISPConfig a un support intégré pour Ruby. Au lieu d’utiliser CGI/FastCGI, ISPConfig dépend de la disponibilité de mod_ruby dans l’Apache du serveur.
Pour Fedora 11, il n’y a pas de package mod_ruby disponible, donc nous devons le compiler nous-mêmes. Tout 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://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 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émarrez Apache :
/etc/init.d/httpd restartVous pouvez trouver plus de détails sur mod_ruby dans cet article.
11.3 Installer mod_python
Pour installer mod_python, il suffit d’exécuter…
yum install mod_python… et redémarrez Apache ensuite :
/etc/init.d/httpd restart11.4 WebDAV
WebDAV devrait déjà être activé, mais pour vérifier cela, ouvrez /etc/httpd/conf/httpd.conf et assurez-vous que les deux modules suivants sont actifs :
vi /etc/httpd/conf/httpd.conf| [...] LoadModule dav_module modules/mod_dav.so [...] LoadModule dav_fs_module modules/mod_dav_fs.so [...] |
Si vous devez modifier /etc/httpd/conf/httpd.conf, n’oubliez pas de redémarrer Apache ensuite :
/etc/init.d/httpd restart12 ProFTPd
ISPConfig a un meilleur support pour proftpd que vsftpd, donc supprimons vsftpd et installons proftpd :
yum remove vsftpdyum install proftpdMaintenant, nous pouvons créer les liens de démarrage système pour Proftpd et le démarrer :
chkconfig --levels 235 proftpd on
/etc/init.d/proftpd start13 Webalizer
Pour installer webalizer, il suffit d’exécuter
yum install webalizer14 Synchroniser L’Horloge Système
Si vous souhaitez synchroniser l’horloge système avec un serveur NTP, faites ce qui suit :
yum install ntpchkconfig --levels 235 ntpd on
tpdate 0.pool.ntp.org
/etc/init.d/ntpd start15 Installer Quelques Modules Perl
ISPConfig est livré avec SpamAssassin qui nécessite quelques modules Perl pour fonctionner. Nous installons les modules Perl requis avec une seule commande :
yum install perl-HTML-Parser perl-DBI perl-Net-DNS perl-Digest-SHA1 perl-ExtUtils-AutoInstall16 ISPConfig
La configuration du serveur est maintenant terminée. Vous pouvez maintenant installer ISPConfig dessus, en suivant ces instructions : http://www.ispconfig.org/manual_installation.htm
Avant d’installer ISPConfig, il y a une chose importante que vous devez faire. Ouvrez /usr/include/stdio.h et remplacez getline par parseline à la ligne 653 :
vi /usr/include/stdio.h| [...] /* Comme `getdelim', mais lit jusqu'à une nouvelle ligne. Cette fonction ne fait pas partie de POSIX et donc pas de point d'annulation officiel. Mais en raison de la similarité avec une interface POSIX ou en raison de l'implémentation, c'est un point d'annulation et donc pas marqué avec __THROW. */ extern _IO_ssize_t parseline (char **__restrict __lineptr, size_t *__restrict __n, FILE *__restrict __stream) __wur; #endif [...] |
Si vous ne faites pas cela, l’installation échouera à cause de l’erreur suivante :
htpasswd.c:101: erreur : types conflictuels pour âgetlineâ
/usr/include/stdio.h:653: note : la déclaration précédente de âgetlineâ était ici
make[2]: * [htpasswd.o] Erreur 1
make[2]: Leaving directory `/home/install_ispconfig/compile_aps/apache_1.3.41/src/support'
make[1]: * [build-support] Erreur 1
make[1]: Leaving directory `/home/install_ispconfig/compile_aps/apache_1.3.41'
make: *** [build] Erreur 2
ERROR: Impossible de créer ApacheVous pouvez annuler le changement dans /usr/include/stdio.h après l’installation réussie d’ISPConfig (mais n’oubliez pas de le changer à nouveau chaque fois que vous souhaitez mettre à jour ISPConfig!).
16.1 Une Remarque Sur SuExec
Si vous souhaitez exécuter des scripts CGI sous suExec, vous devez spécifier /var/www comme racine web pour les sites créés par ISPConfig, car le suExec de Fedora est compilé avec /var/www comme Doc_Root. Exécutez
/usr/sbin/suexec -Vet la sortie devrait ressembler à ceci :
[root@server1 ~]# /usr/sbin/suexec -V
-D AP_DOC_ROOT="/var/www"
-D AP_GID_MIN=100
-D AP_HTTPD_USER="apache"
-D AP_LOG_EXEC="/var/log/httpd/suexec.log"
-D AP_SAFE_PATH="/usr/local/bin:/usr/bin:/bin"
-D AP_UID_MIN=500
-D AP_USERDIR_SUFFIX="public_html"
[root@server1 ~]#Donc, si vous souhaitez utiliser suExec avec ISPconfig, ne changez pas la racine web par défaut (qui est /var/www) si vous utilisez le mode expert lors de l’installation d’ISPConfig (en mode standard, vous ne pouvez de toute façon pas changer la racine web, donc vous pourrez utiliser suExec dans tous les cas).
17 Liens
- Fedora: http://fedoraproject.org
- ISPConfig: http://www.ispconfig.org
Recevez de nouveaux articles dans votre boîte de réception.
Aucun spam. Désabonnez-vous à tout moment.