Pages : 1
#1 Le 04/07/2008, à 11:14
- n1ghtm4r3
Double instance d'Apache2
Bonjour
je souhaiterai créer une double instance d'apache, afin de faire tourner l'un avec php4 et l'autre avec php5. Le soucis, c'est que la plus part des tutoriels sur le sujet sont obsolètes.
Le but de cette manip est de pouvoir tester en local des appli php 4 et 5.
Je n'es pas la possibilité d'utiliser le module CGI, merci de ne pas me proposer cette solution que je connais déjà.
Il me faut donc d'abord installer php4 en tant que module, créer la double instance et faire écouter le 2nd serveur sur un autre port. Le principe est bon, mais la manip à réaliser est quelque peut flou... Un petit coup de main s'impose
je rappelle ma config : Hardy 8.04, apache2, php5
merci
Hors ligne
#2 Le 04/07/2008, à 13:12
- Bzh
Re : Double instance d'Apache2
Je te conseille d'installer un autre serveur comme lighthttpd qui est un serveur hyper réactif ( utilisé sur les serveurs de fichiers statiques : photos, vidéos etc ... ).
Tu installes lighthttpd avec la deuxième version de php et tu le fais écouter sur un autre port qu'Apache.
C'est comme cela que je ferais...
Au revoir
Hors ligne
#3 Le 04/07/2008, à 14:06
- n1ghtm4r3
Re : Double instance d'Apache2
Je te remercie, je n'y avais pas penser . D'ailleurs, on peut installer php4 en tant que module sur lighttpd ? Je ne le connais pas du tout.
J'aimerai tout de même savoir si c'est possible de faire qu'avec apache ?
Dernière modification par n1ghtm4r3 (Le 04/07/2008, à 14:27)
Hors ligne
#4 Le 09/07/2008, à 16:30
- n1ghtm4r3
Re : Double instance d'Apache2
La solution
Configuration initiale :
- Apache2/PHP5/MySQL
- Apache2 arrêté (/etc/init.d/apache2 stop)
Retirer tous les modules php de mods_enabled ;
Retirer la/les directive Listen (parfois dans ports.conf ou apache2.conf ou httpd.conf ou directement dans le virtualhost) ;
Créer un fichier apache2-php4.conf dans les dossier de config d'Apache (/etc/apache2) :
Apache2-php4.conf
Include /etc/apache2/apache2.conf
Listen *:81
LoadModule php4_module /usr/lib/apache2/modules/libphp4.so
<IfModule mod_php4.c>
AddType application/x-httpd-php .php .phtml .php3
AddType application/x-httpd-php-source .phps
</IfModule>
De même, créer un fichier apache2-php5.conf
Apache2-php5.conf
Include /etc/apache2/apache2.conf
LockFile /var/lock/apache2/apache2-php5.accept.lock
PidFile /var/run/apache2-php5.pid
ErrorLog /var/log/apache2/error-php5.log
Listen *:80
LoadModule php5_module /usr/lib/apache2/modules/libphp5.so
<IfModule mod_php5.c>
AddType application/x-httpd-php .php .phtml .php3
AddType application/x-httpd-php-source .phps
</IfModule>
Ainsi, c’est php5 qui serra utilise par défaut (sur le port 80). Vous pouvez bien sûr modifier l’ip ou le port d’écoute à votre guise.
Avec la configuration actuelle, si vous essayer de lancer Apache (/etc/init.d/apache2 start), une erreur apparaîtra, normal puisque aucun port d’écoute n’est écouté.
Copier /usr/sbin/apache2ctl v apache2-php4ctl rs /usr/sbin/apache2-php4ctl et /usr/sbin/apache2-php5ctl. Éditez apache2-php4ctl et apache2-php5ctl pour changer "HTTPD" à :
HTTPD='/usr/sbin/apache2 -f /etc/apache2/apache2-php4.conf'
Et,
HTTPD='/usr/sbin/apache2 -f /etc/apache2/apache2-php5.conf'
Un autre script a besoin d'être modifié, il est situé dans /etc/init.d : copiez /etc/init.d/apache2 vers /etc/init.d/apache2-php4 et /etc/init.d/apache2-php5 puis déplacez le fichier vers /etc/init.d/apache2.org et modifiez alors /etc/init.d/apache2-php4 :
APACHE2CTL="$ENV /usr/sbin/apache2-php4ctl"
Mettez tout en commentaires depuis "for i in $PIDS" jusqu'à "done". Puis ajoutez à la place
/etc/init.d/apache2-php4
PIDFILE='/var/run/apache2/apache2-php4.pid'
if [ -e "$PIDFILE" ] ; then
PID=`cat "$PIDFILE"`
fi
Appliquez les mêmes modifications à /etc/init.d/apache2-php5 en conséquence.
Créer un nouveau script /etc/init.d/apache2 (attention aux permissions) qui permettra de gérer les 2 serveurs à la fois avec le contenu suivant :
#!/bin/sh
./apache2-php4 $@
./apache2-php5 $@
Redémarrer les serveurs, soit 1 par 1 (/etc/init.d/apache2-php4 start et /etc/init.d/apache2-php5 start) ou les deux à la fois (/etc/init.d/apache2 start).
source : http://g-rossolini.developpez.com/tutor … imultanes/
Hors ligne
Pages : 1