PHP/MySQL pour Mac OS X 10.3

Le but de ce document est de mettre en place un serveur Internet type « PHP/MySQL » sur une plateforme Mac OS X principalement dans un but pédagogique d’autoformation, c’est-à-dire disposer de ce qu’il faut pour développer un site en local avant de le publier sur Internet.

PHP [Sigle, de l’anglais « Personal Home Page » puis « PHP: Hypertext Preprocessor« ]: Langage de script orienté objet permettant de gérer un site web de A à Z, en allant de la simple génération de documents HTML à la production d’image GIF à la volée en passant par les requêtes aux serveurs de données, l’envoi automatique de mails ou encore le chiffrement. Il est très très complet et évolue vite, en parfaite adéquation avec le couple terrible Linux/Apache. C’est un logiciel libre. (Source: Jargon FR)

MySQL [Sigle, de l’anglais My Simple Query Language]: Système de Gestion de base de données relationnelles dont les principales qualités sont d’être libre et partiellement gratuit. Il est très utilisé pour mettre en ligne sur le web de petite base de données. (Source: Jargon FR)

Mac OS X [Abbreviation]: Macintosh Operating System X: Dernière série de système d’exploitation des ordinateurs Macintosh de la Marque Apple. Le X représente à la fois la 10ème génération du logiciel et le symbole du système Unix sur lequel il repose.

Nota: Ce document est compatible Mac OS X 10.3 pour Mac OS X 10.4 vous pouvez consulter cet autre article.
Prérequis: Compte root activé et au moins une semaine de pratique sur Mac OS X.

1 – Introduction

Ayant renouvelé plusieurs fois l’aventure d’installer et de supprimer PHP/MySQL de mon système, j’ai voulu présenter ici la méthode la plus facile à installer, et (au cas où…) la plus facile à désinstaller. De plus je cherche à conserver – et à utiliser – au maximum les fonctionnalités déjà disponibles sur Mac OS X.

1.1 – Mais j’ai déjà tout le nécessaire non?

Exact, Mac OS X dispose déjà d’un serveur web : il s’agit d’un Apache en version 1.3.29 mais ne propose pas le gestionnaire de base de données MySQL. De plus, le module PHP qui est installé en version 4.x n’est pas activé. Il est donc possible en peu de manipulations d’activer un serveur Web avec PHP sous Mac OS X. Il suffit d’éditer le httpd.conf en dé-commentant les instructions de chargement du module PHP.

Pour info:

  • Dossier d’Apache : /private/etc/httpd/
  • Dossier des modules : /usr/libexec/httpd/
  • Aide d’Apache : /Library/Documentation/Services/Apache/

1.2 – Aperçu du « Partage Web Personnel »

La notion de site Internet, pour Mac OS X, est intimement associé à la notion de partage. Par conséquent l’activation du service Apache se fait aussi simplement que l’activation du partage de fichier c’est à dire en passant par l’interface des Préférences Système. En voici un petit aperçu :

1.3 – Où dois-je mettre les fichiers de mon site Web ?

En réalité, Mac OS X permet de gérer deux types de sites internet : un site global et des sites personnels. J’entends par « site global » un site qui est propre à l’ordinateur par opposition aux « sites personnels » propre à chacun des utilisateurs. Cette gestion de site est comparable à celle de tous les autres systèmes Unix.

Le « site gobal »

  • Dans le finder : Finder -> Bibliothèque/WebServer/Documents/
  • En console : /library/webserver/documents (comme toujours, sous Mac OS X, la casse n’importe pas)
  • Adresse : http://localhost (on peut remplacer « localhost » par le nom ou l’adresse IP de l’odinateur)

Le « site personnel »

  • Dans le finder : Finder -> NomUtilisateur/Sites/
  • En console : /users/NomUtilisateur/Sites/
  • Adresse : http://localhost/~NomUtilisateur

1.4 – Plusieurs méthodes pour PHP et MySQL

Etant donnée la parenté entre Mac OS X et le monde Unix il est tout à fait possible de récupérer les sources des différents utilitaires et de les compiler soit même, « à la main ». Il existe aussi des packages tout prêt contenant la totalité des trois logiciels. Afin de pouvoir utiliser d’autres outils reposant sur Apache ou MySQL sans me confronter à des problèmes de compatibilité et éviter d’avoir des doubles installations, je prévois de procéder de la manière suivante :

  • Conserver l’instance d’Apache d’origine (la nouvelle version n’apportent pas grand chose dans ce contexte)
  • Mettre en place un serveur MySQL
  • Activer le support de PHP5 sans supprimer les modules de PHP4

Ces manipulations répondent à deux principes de base :

  • Conservation de l’existant
  • Possibilité de désinstaller individuellement des packages ajoutés pour revenir à l’état d’origine.

2 – Installer MySQL

2.1 – Instructions d’installation

Télécharger la dernière version stable de MySQL chez Server Logistics, le package qu’ils proposent est très simple d’installation, de plus sa configuration peut complètement se faire à partir de l’interface graphique grâce à son intégration dans les préférences système.

  • Lancez MySQL.pkg et suivez les intructions.
  • Lancez MYSQL.prefPane et installez le pour votre utilisateur courant.

Initialisez MySQL:

  • Ouvrez le panneau de préférences système
  • Cliquez sur [MySQL]
  • Cliquez sur [Initialize]

Le mot de passe root doit absolument être modifié. En effet, le super utilisateur par défaut de MySQL est root sans mot de passe ce qui est une faille de sécurité fréquente lorsque l’on débute. Procédez comme ceci :

  • Ouvrez le panneau de préférences système
  • Cliquez sur [MySQL]
  • Cliquez sur [Start] pour lancer MySQL
  • Cliquez [Set root password]
  • Entrez votre mot de passe

2.2 – Lancement de MySQL dans une utilisation courante

Pour lancer automatiquement le service mysql à chaque démarrage de votre système il suffit de cocher la case « Start MySQL at boot » dans les préfèrences système. Vous pouvez aussi – dans la même interface – le lancer et l’arrêter à la demande.

3 – Installer PHP5

Comme on l’a dit plus haut, PHP4 est déjà installé sur OS X (à partir de la version 10.3), mais n’est pas activé par défaut. Ici, nous choisirons de le laisser désactivé et d’installer plutôt PHP5, plus moderne. Si vous souhaitez quand même utiliser PHP4, vous pouvez suivre ces instructions.

Le package PHP5 disponible sur le site de Marc Liyanage correspond parfaitement à ce dont nous avons besoin : un installateur PHP5 pré-compilé pour la plateforme Mac OS X. Son installation et sa mise en route sont simplissimes.

3.1 – Instructions d’installation

Récupérez le package PHP5 compilé pour Mac OS X sur le site de Marc Liyanage. Lancez l’installation et suivez les instructions… Et voila reste juste à tester si ça marche (pensez à relancer le « Partage Web personnel » avant de tester).

3.2 – Tester

Nous allons créer un fichier php pour voir ce que cela donne :

  • Vérifiez que le partage web personnel est activé.
  • Dans /Library/WebServer/Documents/ effacer tout le contenu
  • Avec Te
    xtEdit créer un fichier texte contenant <?php phpinfo(); ?>, enregistrez le sous version.php
  • Dans votre explorateur, tapez http://localhost/version.php

Si cela affiche un tableau bleu avec l’entête PHP que vous pouvez voir juste au debut de cette rubrique cela fonctionne. Si la page reste blanche vous avez du rater quelque chose…

3.3 – PEAR

Il se peut que vous ayez besoin des extensions PEAR. Ces extensions sont incluses dans le package PHP5 dont l’installation est expliqué ci-dessus. Ceci dit, un bug bloque leur exécution. Pour les activer, il faut modifier le fichier php.ini de la manière suivante:

  • Éditez php.ini: sudo pico /usr/local/php5/lib/php.ini à copier simplement cette commande dans le Terminal (Applications -> Utilitaires -> terminal)
  • Ajoutez la ligne include_path = ".:/usr/lib/php" au début du fichier juste après la mention « [PHP] »
  • Quittez avec [Ctrl] + [X], sauvez en validant par la touche [Y] et relancez « Partage Web personnel »

4 – Mise en place de CocoaMySQL

4.1 – Présentation

CocoaMySQL est une application graphique spécialement développée pour Mac OS X: elle tire son nom du langage de programmation d’Apple nommée Cocoa. Elle permet de prendre totalement en main, et très facilement grâce à la qualité de son interface graphique, une base de donnée MySQL locale ou distante. Ce programme se substitue parfaitement à PHPMyAdmin que je présentait dans une ancienne version de ce document.

4.2 – Installation

L’installation, comme toujours avec Mac OS X est très simple. Elle se résume en ces quelques phases:

  • Récupérez l’application ici.
  • Décompressez l’image.
  • Copiez CocoaMySQL dans le répertoire application.

4.3 – Utilisation

Au lancement CocoaMySQL vous demandera à quelle base vous connecter, dans notre cas il s’agira de spécifier localhost pour le serveur, le compte root et le mot de passe défini dans le paragraphe 2.1. Après… à vous de découvrir, l’aide est assez fournie.

5 – Je suis pas content je veux tout désinstaller

Cette ultime rubrique à pour but de vous indiquer comment supprimer chacun des applicatifs précédement installé. En cas de problèmes cela vous permettera de retourner à votre configuration d’origine. Dans tous les cas je vous conseille de la lire, cela vous permettra de mieux comprendre le fonctionnement de ces logiciels.

5.1 – Désinstaller CocaMySQL

Comme pour beaucoup d’application prévues pour Mac OS X, il suffit d’ouvrir le répertoire applications et de glisser le programme CocoaMySQL vers la corbeille.

5.2 – Désinstaller PHP5

Tout d’abord vous devez supprimer les appels d’Apache vers celui ci.

  • Lancer un terminal
  • Editer le fichier de configuration d’Apache: sudo pico /private/etc/httpd/httpd.conf
  • Supprimer les lignes faisant appel à PHP5 (voir l’encart ci-après)
  • Quitter avec [Ctrl] + [X]
  • Confirmez l’enregistrement avec [Y]

# begin entropy.ch PHP module activation Include /usr/local/php5/httpd.conf.php # end entropy.ch PHP module activation # begin entropy.ch PHP module activation AddType application/x-httpd-php .php AddType application/x-httpd-php-source .phps DirectoryIndex index.html index.php # end entropy.ch PHP module activation

Après quoi vous pouvez supprimer les fichiers de PHP5 qui se trouvent tous dans le même répertoire: sudo rm -rf /usr/local/php5

5.3 – Désinstaller MySQL

La désinstallation complète de MySQL est particulièrement simple. Elle se déroule en deux étapes :

Suppression du service et des bases:

  • Lancer un Terminal
  • Supprimer le service: sudo rm -rf /Library/MySQL
  • Supprimer le lanceur: sudo rm -rf /Library/StartupItems/MySQL
  • Supprimer les fichiers d’installation: sudo rm -rf /Library/Receipts/MySQL.pkg
  • Supprimer les utilisateurs: sudo niutil -destroy . /users/mysql

Supprimer le raccourci des préférences système: Finder -> Blibliothèque/PreferencePanes/MySQL.prefPane

6 – Autres informations

6.1 – Applications compatibles

Cette rubrique n’est pas primordiale mais je me disais qu’il pourrait être intéressant de lister quelques applications web fonctionnelles sous l’environnement que je vous ai décrit ci-dessus. Le but n’étant pas de faire une liste exhaustive, fixons nous une limite à… disons 10 solutions? Il peut aussi être intéressant de lister les incompatibilités que l’ont peut remarquer avec les grands noms.

Environnements web clef en main

  • Mambo: CMS très complet.
  • Spip: système de publication pour l’internet

Moteurs Wiki

  • MediaWiki le moteur de l’excellente [->fr.wikipedia.org] (la skin « monobook » fonctionne uniquement avec PHP4).
  • WikiNi la wiki qui faisait – jadis – vivre AdminRezo.net.

Outils divers

  • PHPMyAdmin est un outil de gestion de base de données MySQL.
  • PHPSysInfo: surveillance du matériel (ne reconnait pas les thermomètres d’Apple).

6.2 – Liens et informations

Apache

PHP and Co

MySQL

Apple

Divers

  • jEdit est un éditeur PHP en Java très performant disponible sur de nombreuses plate-formes
  • PEAR PHP extension and application repository)

4 réflexions au sujet de « PHP/MySQL pour Mac OS X 10.3 »

  1. Je ne peux que vous remercier chaleureusement du tutoriel concernant l’activation de Apache en interne sur Mac OS X avec configuration du php et de MySQL, de sa clarté didactique et de sa précision – mais il me semble, à avoir survolé d’autres de vos articles que cela vous est une qualité habituelle.
    Cependant, assez à l’aise dans l’usage courant du Mac et du surf sur internet, mais de 15 jours néophyte du travail effectif sur le web, je vous envoie quelques propositions d’amélioration de votre article du 31 Mars – j’ai quand même mis près d’une journée à réussir à l’appliquer. En fait deux imprécisions importantes auxquelles je vous propose un rajout, que je vous propose entre les [ ] suite à omission, et une modification suite à confusion:

    – 3.2 – Tester : …Avec TextEdit créer un fichier texte contenant [cette ligne <?php phpinfo() ?> ], enregistrez le sous "version.php" [dans le dossier Sites de votre utilisateur courant]
    – Dans votre explorateur, tapez [ localhost/~NomUtilisateur… ou localhost/version.php suivant que vous installé un "site personnel" ou un ‘site global" ]

    – 3.3 – PEAR : * Lancer un terminal depuis votre répertoire Utilitaires
    * Éditez php.ini, par exemple,par copier-coller de : sudo pico /usr/local/php5/lib/php.ini puis activation
    * A l’entrée du fichier, après la mention [PHP], ajoutez la ligne include_path = ".:/usr/lib/php"
    * Quitter avec [Ctrl] + [X]
    * Confirmez l’enregistrement avec [Y] et relancez "Partage Web personnel"

    Commentaires : pour le 3.2, ce sont des données que j’ai repris de l’explication de Marc Liyanage.
    Pour le 3.3, il me semble important de considérer que votre interlocuteur n’a peut-être jamais vraiment abordé les commandes de Terminal. Donc, être très explicite au moins pour la première fois – comme vous l’avez fait pour les désinstallations. Pour moi, ça m’a permis de me décomplexer par rapport à ces commandes (ça rappelle un certain bon vieux DOS…), alors merci pour ça aussi malgré les quelques cheveux que je me suis arrachés !
    Détail d’orthographe en 5.1, première ligne …"beaucoup d’applications" (pluriel).

    Voilà donc une petite contribution, comme il vous en conviendra d’en faire usage. J’aurais bien des milliers de questions… Mais chaque chose en son temps !
    Bien cordialement, Franck M

  2. Merci bien pour votre commentaire (le premier sur le site depuis qu’ils sont autorisés). Je vous remercie de votre encouragement et je vais de ce pas adapter cet article à vos remarques.
    😀

    Franck m’a contacté par email pour m’informer que SPIP ne marchait pas avec cette installation. Efectivement, les fichiers portant l’extension « php3 » ne sont considérés que comme de simples fichiers texte. Pour régler cela il suffit d’effectuer ces petites modifications:

    1. Dans le Terminal, lancez la commande sudo cp /private/etc/httpd/httpd.conf /private/etc/httpd/httpd.old (pour effectuer une sauvegarde du fichier de configuration)
    2. Puis sudo pico /private/etc/httpd/httpd.conf et cherchez la ligne « AddType application/x-httpd-php .php »
    3. Ajoutez juste au dessous « AddType application/x-httpd-php .php3 » pour activer le support des fichiers .php3
    4. Sauvez
    5. Relancez « partage web personnel
  3. Cette fois-ci, mission réussie -) Je dispose effectivement de Spip en local sur plateforme Mac OS 10.3.9. Ouf… jusqu’à la prochaine galère !
    Vos indications, parfaites pour l’activation d’Apache et les installations de php et MySQL ne m’ont pas suffi pour installer Spip. Peut-être ai-je raté quelque chose, mais je ne crois pas, php3 semble être difficile à interpréter par un php actualisé. Cependant en suivant vos indications puis celles de DoriaN suite à ses commentaires d’aujourd’hui, en réponse à mon problème, et concernant un article datant de 2003 :
    http://www.spip-contrib.net/Inst...
    j’ai "transformé un spip .php3 déjà installé en .php" et je suis arrivé au protocole global suivant :

    – Installez un nouveau php plutôt qu’activer celui qui dort ainsi que MySQL et activez Apache – grace à votre contribution, merci, merci !
    – Placez les fichiers téléchargés de Spip dans un dossier Sites/spip (en libérant les autorisations en écriture si vous êtes sur un compte standart et pas administrateur).
    – Supprimez le fichier spip/ecrire/index.php
    – Chargez et utilisez le script proposé par spip-contrib pour convertir les versions .php3 en .php :
    http://www.spip-contrib.net/Scri...
    (ce script change toutes les mentions php3 des fichiers Spip en php)
    – lancez l’installation proprement dite de Spip avec 127.0.0.1/spip/ecrire/ ou 127.0.0.1/ NomUtilisateur/spip/ecrire/ si vous travaillez sur un compte standart et… buvez l’apéro quoique qu’il arrive ! A priori, ça marche. Pour moi, en tout cas…

    Du coup, votre proposition de rajouter "AddType application/x-httpd-php .php3" au fichier /private/etc/httpd/httpd.conf n’est sans doute plus nécessaire mais je n’ai pas pris la peine de supprimer cette ligne dans mon propre fichier.

    A noter 4 articles d’initiation à Terminal – mais ceci est une autre histoire – pour les "néophytes" comme moi :
    http://www.macosxtech.com/dossie...

    Bonne continuation. Et bon été, même s’il est déjà bien entamé !

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *