Installation d'Apache 2, PHP 5 et mod_perl 2 sous Mac OS X
Par Xyzo le samedi 18 août 2007, 14:47 - Apple / Mac / iPhone - Lien permanent
Après avoir bien fait joujou quelques jours avec mon MacBook Pro 15", je passe aux choses sérieuses avec l'installation d'Apache 2, PHP 5 et mod_perl. Mac OS X 10.4.10 (aka Tiger) est installé par défaut avec la version 1.3.33 d'Apache, version qui, bien que très stable, commence sérieusement à dater : le but du jeu est donc d'installer Apache 2 en lieu et place de la version 1.3.33.

Un prochain billet viendra compléter celui-ci en expliquant comment configurer Tiger et Apache 2 pour que celui-ci se lance automatiquement au démarrage de Mac OS X et pour qu'il puisse être arrêté et redémarré via le module "Sharing" du panneau des préférences systèmes de Mac OS X.
N.B. - Les instructions données ci-dessous sont basées sur des recherches effectuées sur le Net. Je les livre telles qu'elles fonctionnent sur ma configuration (MacBook Pro sous Mac OS X 10.4.10) : elles doivent être adaptées en fonction de votre propre plate-forme. Il est même possible que certaines soient erronées ! Pour rappel, l'objectif principal de ce blog est de centraliser et de me permettre de retrouver facilement différentes infos me permettant de ré-installer ou re-configurer mes différentes machines et applications : si cela peut servir à d'autres, j'en suis très heureux :o)
1ère étape : Apache 2
La dernière version stable d'Apache 2 à ce jour est la 2.2.4, elle est disponible, par exemple, sur le FTP de l'INRIA : ftp://ftp.inria.fr/pub/Apache/httpd/.
Pour l'installation, rien de très compliqué : on décompresse, on configure, on compile et on installe, soit en gros (libre à vous de changer de répertoire et/ou de paramètres).
% cd /tmp % tar xvfj ~/Desktop/httpd-2.2.4.tar.bz2 % cd httpd-2.2.4 % ./configure --prefix=/usr/local/apache2 --enable-modules=all --enable-mods-shared=all % make % sudo make install
NDLR : C'est fou ce qu'elle mouline vite cette nouvelle bécane. Mon G4 est définitivement à la rue sur ce genre de manip' :o)
2ème étape : PHP 5
La dernière version stable à ce jour de PHP est la 5.2.3 disponible ici : http://fr3.php.net/get/php-5.2.3.tar.bz2/from/fr.php.net/mirror.
En gros, on suit la même procédure que pour Apache : décompression, configuration, compilation, test et installation.
Pour info, mes paramètres de configuration n'incluent pas la prise en charge de MySQL, de PostgreSQL ou encore de la librairie GD : ils sont inspirés d'infos trouvées à droite, à gauche sur le Net (cf. les liens en fin de billet), et vous pouvez les adapter en fonction de vos besoins.
% cd /tmp % tar xvfj ~/Desktop/php-5.2.3.tar.bz2 % cd php-5.2.3 % ./configure \ --prefix=/usr/local/php5 \ --with-zlib \ --with-xml \ --with-ldap=/usr \ --enable-cli \ --with-zlib-dir=/usr \ --enable-exif \ --enable-ftp \ --enable-mbstring \ --enable-mbregex \ --enable-dbx \ --enable-sockets \ --with-iodbc=/usr \ --with-curl=/usr \ --with-apxs2=/usr/local/apache2/bin/apxs % make % make test % sudo make install
Une fois l'installation terminée, il faut ajouter la ligne suivante dans le fichier /usr/local/apache2/conf/httpd.conf après les autres lignes AddType par exemple :
AddType application/x-httpd-php .php .phtml
3ème étape : mod_perl 2
Dans la mesure où l'on utilise la version 2 d'Apache, il convient d'utiliser également la version 2 de mod_perl : cf. http://perl.apache.org/download.
La version stable la plus récente est la 2.0.3, téléchargeable sur cette même page.
Concernant la configuration et l'installation, je vous invite à vous reporter la page suivante : http://perl.apache.org/docs/2.0/user/install/install.html. De mon côté, la procédure suivante semble avoir été la bonne :
% cd /tmp % tar xvfz ~/Desktop/mod_perl-2.0-current.tar.gz % cd mod_perl-2.0.3 % perl Makefile.PL MP_AP_PREFIX=/usr/local/apache2 % make % make test % sudo make install
Pour info, le make test a généré par mal de lignes d'erreurs ou d'avertissements : disons que je ne vais pas trop m'en soucier pour l'instant, on verra plus tard si ça fonctionne correctement ou pas 
De plus, le make install n'a pas mis à jour la fichier httpd.conf d'Apache. Si elle ne figure pas déjà dans votre fichier /usr/local/apache2/conf/httpd.conf, il convient donc d'y ajouter cette ligne (après la ligne LoadModule de PHP, par exemple) :
LoadModule perl_module modules/mod_perl.so
4ème étape : fin des opérations
Bon, tout s'étant à peu près bien passé, on doit pouvoir tester cette nouvelle configuration.
Il faut d'abord s'assurer que l'Apache installé par défaut par Tiger n'est pas en train de tourner : un clic sur le bouton Stop de l'option Personal Web Sharing du panneau System Preferences/Sharing/Services doit permettre d'arrêter le daemon httpd, si besoin. Puis, quelque chose comme ps ax | grep httpd doit permettre de s'assurer que tout est bien arrêté.
Ensuite, il faut lancer la version d'Apache nouvellement installée :
sudo /usr/local/apache2/bin/apachectl start
Si aucun message ne s'affiche, c'est qu'a priori tout va bien. Un petit coup d'oeil dans le fichier de logs d'Apache permet de s'en assurer :
% tail /usr/local/apache2/logs/error_log [Sat Aug 18 15:58:21 2007] [notice] Apache/2.2.4 (Unix) PHP/5.2.3 mod_perl/2.0.3 Perl/v5.8.8 configured -- resuming normal operations
On voit bien apparaître les bonnes versions d'Apache, PHP, mod_perl et Perl : ça semble rouler...
Pour info, pour arrêter Apache 2, on utilise la même commande que plus haut mais avec le paramètre stop, soit :
sudo /usr/local/apache2/bin/apachectl stop
Conclusion
Voilà... Ici s'achève ce premier post sur le couple Tiger & Apache 2. Comme indiqué en introduction, un autre billet suivra pour expliquer comment configurer Apache 2 pour qu'il se comporte comme la version 1.3.33 installée par défaut, et puisse de ce fait être lancé et arrêté via le panneau des préférences systèmes de Tiger : affaire à suivre donc...
Pour plus de détails, vous pouvez vous reporter aux pages suivantes dont je me suis inspiré pour ce post :
- Building and Installing Apache 2.2.4 and PHP 5.1.4 on Mac OS X 10.4.6
- Building Apache2 and PHP5 on the command line in OS X
- Tutorial: Install Apache 2.0 on Tiger, part 2 of 2
Edit: 20/08/2007 @ 15:46 - La ligne de commande ./configure d'Apache 2 a été corrigée et modifiée pour charger tous les modules.
Edit: 30/08/2007 @ 18:06 - La ligne AddType application/x-httpd-php .php .phtml doit être ajoutée au fichier de configuration d'Apache (httpd.conf) pour que les URL PHP soient reconnues.

Commentaires
Je note que si "make" ne marche pas, c'est qu'il faut makefile qui est dans les outils "Developer Tools" de chez Apple; ils ne sont pas sur toutes les machines Mac par défaut. Faut s'enregistrer avec apple,mas c'est gratuit. voilà le link: http://developer.apple.com/tools/do...
En tout cas superbe "How To", en faite il ne meanque plus que mysql maintenant!
Ce tuto t'a été utile : tant mieux, c'est le but de la chose
Pour ce qui est de Mysql, je ne l'ai pas encore activé sur mon MacBook Pro (Leopard) mais je posterais un bref tutoriel lorsque je l'aurai fait.
Super !
Il ne me manque plus qu'à trouver un prefpane ou remplacer Apache1 par Apache2 dans le prefpane Sharing
Pour mySQL, il y a des binaires pas mal dispos chez le créateur, qui ont aussi ajouté un panneau de préférences.
Le tutoriel est bien pratique mais le soucis rencontré au moment du make test ne relève-t-il pas une erreur importante? Pour ma part, par exemple, quand je cherche à tester le module en utilisant le ModPerl::Registry, j'obtiens une erreur grave: failed to resolve handler `ModPerl::Registry': Can't find 'boot_Apache2__ServerUtil' symbol in /opt/local/lib/perl5/site_perl/5.8.7/darwin-2level/auto/Apache2/ServerUtil/ServerUtil.bundle !
Alors qu'au démarrage, j'ai bien la ligne classique:
Apache/2.0.63 (Unix) mod_perl/2.0.4 Perl/v5.8.7 configured -- resuming normal operations
As tu déjà rencontré cette erreur? Je suis sur le point de refaire une installation complète: Perl + Apache 2 + Mod_perl...
Nike is your choice , welcome to my site:http://www.chaussuresniketnfr.com
therefore each woman's compassion has left a beautiful dream to become a cute lady. In authenticity present are some designers who have his own present a pair of skilful hands, have complete pairs of superior towering heels which assist incalculable women construct their dreams get nearer right. http://www.frlouboutinpascher.com