Activer PHP sous Mac OS X

Joël Brogniart

Première publication mercredi 28 novembre 2001

Dernière modification mardi 21 janvier 2003 à 19;32.

Introduction

Le langage PHP (version 4.0.6) est installé comme module du logiciel Apache avec Mac OS X 10.1 (version utilisateur et version serveur). Mais avec la configuration initiale d'Apache, le module PHP n'est pas activé. Sauf en cas de besoin spécifique, il n'est donc pas nécessaire de récupérer le code source du module, de le configurer, de le compiler et de l'installer pour pouvoir utilser PHP avec le serveur Apache. Quelques modifications dans le fichier de configuration d'Apache, le démarrage ou redémarrage du serveur web et le tour est joué. Nous allons voir ici ces modifications.

Mise en œuvre

Pour activer le module PHP du logiciel serveur web Apache il va falloir :

1 - faire une copie du fichier "/private/etc/httpd/httpd.conf" ;

2 - modifier le fichier "httpd.conf" pour activer le module PHP ;

3 - faire une copie du fichier "httpd.conf" modifié ;

4 - lancer ou relancer le logiciel Apache pour qu'il prenne en compte les modifications.

Les opérations 1, 2 et 3 doivent être faites à partir d'un shell en tant qu'utilisateur root. Pour cela nous allons utiliser l'application Terminal. Elle se trouve dans le sous dossier "Utilities" (utilitaires) du dossier "Applications".

Réalisation

1 - Copie du fichier "httpd.conf" original

Dans la fenêtre de Terminal tapez la commande suivante.

sudo cp /etc/httpd/httpd.conf /etc/httpd/httpd.conf.apple

La commande sudo permet de lancer une commande en tant que super utilisateur (root). Lors d'une première invocation le mot de passe de l'utilisateur (pas celui de root) est demandé et si l'utilisateur est autorisé, la commande est exécutée. Il est ensuite possible de lancer plusieurs sudo sans que le mot de passe soit demandé. Au bout d'un moment (je crois que le délai normal est de cinq minutes) il est à nouveau nécessaire de taper son mot de passe. La commande cp fait une copie de fichier. Ici le nouveau fichier s'appellera "httpd.conf.apple".

Cette copie nous permettra de revenir à la configuration initiale en cas de pépin.

2 - Modification du fichier "httpd.conf"

Le fichier "httpd.conf" ne peut être modifié que par l'utilisateur "root", nous allons donc utiliser la commande "sudo". Pour éditer le fichier, nous allons utiliser l'éditeur de texte "pico". On ne peut pas utiliser la souris avec cet éditeur, mais il est un peu plus simple à manipuler que l'éditeur "vi". Voici quelques commandes utiles pour utiliser pico.

Dans la fenêtre de terminal lancer l'éditeur pico pour éditer le fichier de configuration d'Apache.

sudo pico /etc/httpd/httpd.conf

Déplacez vous dans le texte jusqu'à arriver à la ligne suivante.

#LoadModule php4_module libexec/httpd/libphp4.so

Effacer le # en début de ligne pour obtenir ce qui suit.

LoadModule php4_module libexec/httpd/libphp4.so

De même, effacez le caractère # au début de la ligne contenant le texte qui suit.

#AddModule mod_php4.c

Ces modifications ont pour but d'activer le module PHP.

Continuez à vous déplacer dans le fichier jusqu'à arriver à la partie suivante.

<IfModule mod_dir.c>
  DirectoryIndex index.html
</IfModule>

Àprès "index.html" ajoutez "index.htm index.php index.php3" ce qui donne la ligne suivante.

DirectoryIndex index.html index.htm index.php index.php3

Cette ligne indique à Apache, que lorsqu'un dossier est demandé, Apache doit chercher dans ce dossier un fichier nommé "index.html", "index.htm", index.php" ou "index.php3" et le renvoyer s'il le trouve. "index.htm" correspond à un fichier html conçu sous Microsoft DOS et ses dérivés, "index.php3" et "index.php" correspondent à des fichier PHP. Normalement le fichiers se terminant par ".php3" sont des fichiers utilisant la version 3 du langage PHP, mais en général le module comprend sans problème le contenu de ces fichiers. La prise en compte des fichiers ".php3" permet d'installer par la suite des outils libres du genre phorum, SPIP, Ganesha, qui contiennent souvent ce genre de fichiers.

Un peu plus loins vous trouverez les lignes suivantes.

#AddType application/x-httpd-php .php
#AddType application/x-httpd-php-source .phps

Supprimez le caractère # en début de ligne et ajoutez ".php3" à la fin de la première de ces deux lignes ce qui donne ce qui suit.

AddType application/x-httpd-php .php .php3
AddType application/x-httpd-php-source .phps

Cette dernière modification indique à Apache que les fichiers se terminant par ".php" ou par ".php3" sont à gérer par le module PHP. Si vous voulez pouvoir mettre du PHP même dans les fichiers se terminant par ".html", il suffit d'ajouter ".html" à la fin de la première des deux lignes ci-dessus. Il vaut mieux éviter cette dernière manipulation pour éviter de trop surcharger votre serveur.

Maintenant il ne reste plus qu'à enregistrer vos modifications. Tapez la combinaison de touches "ctrl-x". L'éditeur pico vous demande alors si vous voulez enregistrer les modifications, tapez "y". Il affiche ensuite le nom du fichier où vont être enregistré les changements, tapez la touche Retour.

3 - Copie du fichier modifié

Lors des mises à jour récentes de Mac OS X, Apple a remplacé purement et simplement un certain nombre de fichiers. Le fichier "httpd.conf" a fait partie des heureux élus. Si Apple utilise la même stratégie lors des prochaines mise à jour, il est plus prudent d'avoir un double quelque part pour pouvoir remettre en place rapidement votre configuration.Dans la fenêtre de Terminal tapez la commande suivante.

sudo cp /etc/httpd/httpd.conf /etc/httpd/httpd.conf.perso

4 - Prise en compte des nouveaux réglages par Apache

Pour pouvoir prendre en compte les nouveaux réglages il faut lancer ou relancer le serveur Apache. Vous pouvez utiliser le tableau "Partage" de "Préférences Système". Si le partage web est activé, cliquez sur le bouton "Arrêter". Une fois le partage web arrêté, cliquer sur le bouton "Démarrer".

Il est possible de demander à Apache de prendre en compte les nouveaux réglage en tapant la comande suivante dans la fenêtre de Terminal.

sudo apachectl graceful

Conclusion

Normalement tout devrait marcher. Pour le vérifier, il suffit de mettre un fichier php dans votre dossier Sites personnel. Avec l'application TextEdit, créez un fichier au format texte (menu "Format", commande "Convertir au format Texte") et copiez la ligne suivante dans le fichier.

<?php echo "test" ?>

Enregistrez ce fichier avec le nom "test.php". Mettez ce fichier "test.php" dans votre dossier "Sites". Avec votre navigateur habituel essayez d'obtenir le fichier en tapant l'url <http://127.0.0.1/~identifiant/test.php> (remplacez "identifiant" par votre nom court d'utilisateur Mac OS X).

Voir aussi