Installer et configurer un environnement de développement PHP/MySQL sur Mac OS X

vendredi 21 octobre 2005

Cet article est destiné à tout néophyte qui désire débuter dans la programmation Web avec le langage PHP et le serveur de base de données MySQL. Il vise à expliquer, pas à pas, la démarche pour installer et configurer "proprement" tous les outils nécessaires sur un ordinateur sous Mac OS X (Panther / Tiger).

Cet article est destiné à tout néophyte qui désire débuter dans la programmation Web avec le langage PHP et le serveur de base de données MySQL. Il vise à expliquer, pas à pas, la démarche pour installer et configurer «proprement» tous les outils nécessaires sur un ordinateur sous Mac OS X (Panther / Tiger).

### Mise à jour, 16 mars 2010 ### Il est désormais beaucoup plus facile d’installer un environnement de développement PHP/MySQL sur Mac, grâce au logiciel MAMP, qui fonctionne comme une application Mac traditionnelle (à télécharger à l’adresse suivante : www.mamp.info). Alternativement, vous pouvez utiliser XAMPP qui, sans être aussi aisé d’installation que MAMP, reste plus simple qu’une installation manuelle d’Apache et de MySQL.

### Mise à jour, 17 novembre 2005 ### Vous pouvez télécharger MySQL 5 depuis www.mysql.com et suivre ce tutoriel, il n’y a qu’une seule étape supplémentaire, qui est détaillée à la fin de ce document.

Qu’allons nous faire ?

Nous allons procéder par étapes:

  • Etape #1 - Rassembler les éléments nécessaires: Mac OS X est installé par défaut avec Apache et PHP non activés. Par contre, il n'a pas MySQL ni aucun utilitaire pour manipuler les bases de données MySQL de façon conviviale (car il est toujours possible de le faire depuis le terminal). Il nous faudra donc télécharger et installer le serveur MySQL et PHPMyAdmin.
    </p>
  • Etape #2 - Activer le serveur Web Apache: Mac OS X est fourni avec le serveur Web open-source Apache, certainement le plus utilisé dans le monde, et à mon humble avis le meilleur. Il n'est cependant pas activé par défaut, mais son activation est facile et rapide.
    </p>
  • Etape #3 - Activer le support de PHP sous Apache: Pour utiliser le PHP, il faut configurer Apache. Par défaut, le serveur Apache installé dans Mac OS X n'est pas configuré pour travailler avec PHP. Il contient néanmoins tous les éléments nécessaire pour le faire, et il nous suffira d'activer le support de PHP.
    </p>
  • Etape #4 - Installer et configurer MySQL: Après avoir téléchargé MySQL, il restera à l'installer et le configurer. Cette étape, bien que plus compliquée que les précédents, ne présente néanmoins aucune difficulté insurmontable.
    </p>
  • Etape #5 - Utiliser son environnement de développement: Une fois que tout est installé et paramétré, il reste à savoir comment faire pour commencer à travailler: où placer les fichiers, et d'ailleurs quels fichiers, comment les créer et que mettre dedans.
    </p>
  • Bonus - Paramétrer Dreamweaver pour utiliser PHP et MySQL: Bien que, à mon sens, le développement sous Dreamweaver ne présente pas de gros avantages par rapport à un développement BBEdit/Navigateur, je pense que bon nombre de personnes seront intéressées de savoir comment le paramétrer pour l'utiliser avec la configuration issue des explications de cet article.

</p>

Vous pouvez vous reporter à cet article pour la théorie concernant le fonctionnement général et le rôle d’Apache, PHP et MySQL.

Etape #1 - Rassembler les éléments nécessaires

Voilà ce qu’il nous faut:

  • Un serveur HTTP (Apache 1.3.33 conseillé). Fourni avec Mac OS X
  • PHP (version 4.3.11 minimum). Fourni avec Mac OS X
  • MySQL (version 4.0.20 minimum). A télécharger ici
  • PhpMyAdmin (version 2.x.x conseillée). A télécharger ici

NB : les versions fournies par Apple dépendent de votre système. Sous Panther et Tiger, Apple libre Apache 1 avec PHP 4. Sous Leopard et Snow Leopard, Apple livre Apache 2 avec PHP 5. Cela ne change pas fondamentalement ce qui suit. Concernant MySQL, préférez la version 5. Dans tous les cas, préférez la version stable la plus récente.

Note concernant MySQL:
1) Le lien fourni ci-dessus ne propose que des versions pour Panther (10.3) à l’heure où j’écris ces lignes. Cependant, je suis sous Tiger (10.4), j’utilise une version de MySQL obtenue depuis cette page, et cela fonctionne parfaitement.
2) Si vous décidez d’installer une version de MySQL obtenue à un autre endroit sachez que vous aurez probablement à configurer des options supplémentaires manuellement. Ces opérations de configuration ne seront pas traitées ici.

Etape #2 - Activer le serveur Web Apache

Le serveur Apache est intégré à Mac OS X. Il vous suffit de l’activer. Pour cela, procédez ainsi:

  • Ouvrez les Préférences système dans le menu Pomme.
  • Cliquez sur l'icône Partage. (Image 1)
  • Sous l'onglet Services, cochez la case à gauche de Partage Web personnel. (Image 2)


Image 1
Image 1


Image 2
Image 2

Etape #3 - Activer le support de PHP sous Apache

Pour activer le support de PHP sous Mac OS X, il y a plusieurs méthodes. Je vais ici utiliser la plus simple. Cette méthode consiste à écrire des lignes qui vous paraîtront totalement incompréhensibles, dans le Terminal situé dans Applications/Utilitaires. Malgré tout ce que vous avez pu lire sur le Terminal, je vous assure que ce que vous écrirez ne constitue en rien un danger pour votre ordinateur. Tout se passera bien dès lors que vous écrivez exactement les lignes présentées ci-dessous.

Procédure pour Leopard et Snow Leopard

Ouvrez le Terminal dans le dossiers Applications/Utilitaires de votre ordinateur.

Tapez:

cd /etc/apache2/

Appuyez sur la touche Entrée, puis tapez:

sudo nano httpd.conf

Tapez votre mot de passe lorsqu’il vous est demandé. Le fichier httpd.conf sera ouvert dans un éditeur de texte (appelé «nano»), à l’intérieur de la fenêtre du terminal. Déplacez vous dans le fichier avec les touches fléchées (haut, bas, droite, gauche) du clavier. (Alternativement, si vous avez TextMate, remplacez nano par mate).

Recherchez la ligne :

#LoadModule php5_module libexec/apache2/libphp5.so

et supprimez le symbole # (dièse) au début de cette ligne :

LoadModule php5_module libexec/apache2/libphp5.so

Enregistrez le fichier en appuyant sur CTRL + O puis sur Entrée. Quittez nano en appuyant sur CTRL + X.

Dans le terminal, tapez :

sudo apachectl graceful

puis appuyez sur la touche Entrée, et constatez que le terminal a répondu /usr/sbin/apachectl graceful: httpd gracefully restarted. Si c’est le cas, vous pouvez fermer le Terminal, tout s’est bien passé.

 

Si vous avez un message d’erreur dans phpinfo() (sinon, ignorez ceci) :

Créez le fichier php.ini en tapant les commandes suivantes :

sudo cp /etc/php.ini.default /etc/php.ini

sudo chmod 666 /etc/php.ini

Éditez le fichier php.ini avec nano, TextMate ou un autre éditeur :

sudo nano /etc/php.ini

Recherchez la ligne :

;date.timezone =

et modifiez-la en indiquant votre timezone (liste disponible ici) :

date.timezone = Europe/Paris

Relancez ensuite Apache (sudo apachectl graceful).

Procédure pour Panther et Tiger

Ce que vous devrez écrire est ici présenté comme ça. Pour obtenir le caractère |, tapez: Maj+Alt+L. Le caractère » (guillemets) s’obtient avec la touche 3 de votre clavier, il ne s’agit pas de deux fois l’apostrophe de la touche 4.

Ouvrez le Terminal dans le dossiers Applications/Utilitaires de votre ordinateur.

Tapez:

cd /etc/httpd/

Appuyez sur la touche Entrée, puis tapez:

sudo apxs -e -a -n php4 libexec/httpd/libphp4.so

Appuyez sur la touche Entrée, un message défilera à l’écran. Vous verrez, à la fin du message, «Password:». Entrez votre mot de passe (il ne s’affichera pas à l’écran, même pas sous la forme d’astérisque, mais il sera bien pris en compte), et appuyez de nouveau sur Entrée.

Le message suivant devrait apparaître:


[activating module `php4' in /private/etc/httpd/httpd.conf]
cp /private/etc/httpd/httpd.conf /private/etc/httpd/httpd.conf.bak
cp /private/etc/httpd/httpd.conf.new /private/etc/httpd/httpd.conf
rm /private/etc/httpd/httpd.conf.new


Tapez:

echo ‘echo «AddType application/x-httpd-php .php» » /etc/httpd/httpd.conf’ | sudo sh -s

Appuyez sur la touche Entrée, puis tapez:

sudo apachectl graceful

Appuyez sur la touche Entrée, et constatez que le terminal a répondu /usr/sbin/apachectl graceful: httpd gracefully restarted. Si c’est le cas, vous pouvez fermer le Terminal.

Etape #4 - Installer et configurer MySQL

Vous avez téléchargé MySQL, vous devez maintenant l’installer.

Procédure pour Leopard et Snow Leopard

Sous Leopard et Snow Leopard, l’installation de MySQL est très simple. Il suffit, basiquement, de télécharger l’image disque, de la monter, et d’installer MySQL comme n’importe quel autre logiciel (double-cliquer sur l’icône et suivre les instructions à l’écran).

En option, il est possible d’installer un panneau pour les préférences système (qui se trouve dans l’image disque téléchargée : MySQL.prefPane), en double-cliquant sur son icône. Ce panneau permet de démarrer et d’arrêter MySQL depuis les préférences système, sans utiliser le Terminal.

Un autre fichier, également présent dans l’image disque téléchargée (MySQLStartupItem.pkg) permet de paramétrer automatiquement MySQL pour démarrer avec le système (double-cliquer pour installer).

Optionnel : Pour avoir un accès direct à la commande mysql dans le terminal, il faut indiquer au système le chemin (path) de l’exécutable. Pour ce faire, ouvrez le Terminal (dans /Applications/Utilitaires/) et tapez :

nano ~/.profile

(Alternativement, si vous avez TextMate, remplacez nano par mate) Recopiez la ligne suivante :

export PATH=»/usr/local/bin:/usr/local/sbin:/usr/local/mysql/bin:$PATH»

Enregistrez le fichier en appuyant sur CTRL + O puis sur Entrée. Quittez nano en appuyant sur CTRL + X. Tapez ensuite la commande suivante :
source ~/.profile

 

En cas de problème d’accès à MySQL depuis des scripts PHP (sinon, ignorez ceci)

Éditez le fichier php.ini (voir plus haut pour la procédure), et assurez-vous de la présence des lignes suivantes (le cas échéant, remplacez les valeurs du fichier par les valeurs données ici) :

pdo_mysql.default_socket=/tmp/mysql.sock

mysql.default_socket = /tmp/mysql.sock

mysqli.default_socket = /tmp/mysql.sock

Procédure pour Panther et Tiger

Double-cliquez sur le fichier MySQL.pkg dans l’image disque de MySQL (qui, elle, se trouve sur votre bureau). Suivez ensuite les étapes en cliquant sur «Suivant». Si votre mot de passe est demandé, entrez le. S’il vous est demandé de redémarrer l’ordinateur, faites le aussi. Cette installation ne devrait présenter aucun problème: elle est conçue avec l’Installer.app de Apple et fonctionne exactement comme pour tout autre logiciel.

Une fois l’installation de MySQL terminée, double-cliquez sur le fichier MySQL.prefPane qui se trouve, lui aussi, dans l’image disque téléchargée. Il vous sera demandé si vous voulez installer ce panneau de préférences pour tous les utilisateurs ou seulement pour vous. Je vous conseille de choisir de ne l’installer que pour vous.

Si double-cliquer sur ce fichier ne produit aucun résultat, copiez le simplement dans /Bibliothèque/PreferencePanes ou /Utilisateurs/notre_nom/Bibliothèque/PreferencePanes.

Rendez-vous ensuite dans les Préférences système dans le menu Pomme.
Cliquez sur l’icône MySQL (Image 3) pour afficher le panneau de préférences correspondant à MySQL (Image 4).


Image 3
Image 3


Image 4
Image 4

Dans le panneau de préférences de MySQL (Image 4, ci-dessus),

  • Initialisez le serveur en cliquant sur Initialize. Entre votre mot de passe s'il vous est demandé.
  • Configurez le serveur pour être lancé avec le système en cochant la case Start MySQL At Boot. Entre votre mot de passe Mac OS X s'il vous est demandé.
  • Démarrez le serveur en cliquant sur Start. Entre votre mot de passe Mac OS X s'il vous est demandé.
  • Spécifiez un mot de passe administrateur en cliquant sur Set root password. Pour la suite de cet article, nous supposerons que ce mot de passe est "motdepasse".

Note 1: il se peut que vous deviez échanger l’ordre des étapes 2 et 4, si un des boutons est grisé. Cela importe peu.

Note 2: Lorsque vous cliquez sur Initialize, une fenêtre de terminal devrait s’ouvrir (elle se ferme normalement tout seule, mais dans le cas contraire vous pourrez la fermer dès que vous verrez [Opération terminée]) et afficher les informations suivantes:


/Library/MySQL/bin/mysql_init.command; exit
Preparing db table
Preparing host table
Preparing user table
Preparing func table
Preparing tables_priv table
Preparing columns_priv table
Installing all prepared tables
051119 20:16:08 Warning: Setting lower_case_table_names=2 because file system for /Library/MySQL/var/ is case insensitive
051119 20:16:08 /Library/MySQL/libexec/mysqld: Shutdown Complete

To start mysqld at boot time you have to copy support-files/mysql.server
to the right place for your system

PLEASE REMEMBER TO SET A PASSWORD FOR THE MySQL root USER !
To do so, start the server, then issue the following commands:
/Library/MySQL/bin/mysqladmin -u root password ‘new-password’
/Library/MySQL/bin/mysqladmin -u root -h PBG4.local password ‘new-password’
See the manual for more instructions.

You can start the MySQL daemon with:
cd /Library/MySQL ; /Library/MySQL/bin/mysqld_safe &

You can test the MySQL daemon with the benchmarks in the ‘sql-bench’ directory:
cd sql-bench ; perl run-all-tests

Please report any problems with the /Library/MySQL/bin/mysqlbug script!

The latest information about MySQL is available on the web at
http://www.mysql.com
Support MySQL by buying support/licenses at https://order.mysql.com

Fixing permissions…
logout
[Opération terminée]
</indent>
</i>

IMPORTANT - Note 3: vous pouvez redémarrer votre ordinateur après cette installation. Ce n’est pas obligatoire, mais je vous le conseille. En tout état de cause, à la fin du prochain démarrage, Mac OS X vous affichera un message vous indiquant que les autorisations ont été modifiées pour l’élément mysql, et vous demandant si vous faites confiance à cette modification et si vous voulez la garder. Bien entendu, conservez la modification, elle est tout à fait normale. Ce message ne s’affichera plus lors des prochains démarrages.

MySQL est installé et lancé. Il vous reste maintenant à le configurer pour une première utilisation. Pour cela, il faut créer une base de données. Pour créer une base de données de manière simple et intuitive, nous allons utiliser le logiciel PHPMyAdmin. Et avant de pouvoir l’utiliser, nous devons l’installer.

Placez les fichiers contenus dans l’archive de PHPMyAdmin que nous avons téléchargée au début de cet article à l’emplacement suivant:

Macintosh HD/Utilisateurs/votre_nom/Sites/phpmyadmin

Ouvrez avec un éditeur de texte brut (c’est-à-dire, à éviter Word, OpenOffice ou des logiciels de ce genre) le fichier config.inc.php situé dans le dossier de PHPMyAdmin:

Macintosh HD/Utilisateurs/votre_nom/Sites/phpmyadmin/config.inc.php

Vers le début du document, renseignez les informations de configuration comme ceci:


$cfg[‘Servers’][$i][‘host’] = ‘localhost’;

$cfg[‘Servers’][$i][‘user’] = ‘root’;

$cfg[‘Servers’][$i][‘password’] = ‘motdepasse’;


(Remplacez motdepasse par votre mot de passe MySQL, celui défini au début de cette étape.)

Ouvrez ensuite votre navigateur internet, et rendez-vous à l’adresse suivante:

http://localhost/~votre_nom/phpmyadmin/

Le caractère ~ s’obtient avec la combinaison de touches Alt+n.

C’est en quelque sorte le premier moment de vérité. Si cela ne fonctionne pas, c’est qu’il y a eu un problème dans l’une des étapes précédentes:

  • Si votre navigateur vous dit que l'hôte est introuvable, Apache n'est pas démarré.
  • Si au lieu de voir une belle page bien lisible, vous voyez du code source, c'est que PHP n'est pas activé.
  • Si un message d'erreur vous dit Le serveur ne répond pas, c'est que MySQL est mal installé ou n'est pas démarré.
  • Sinon, ça fonctionne. Bravo !

</p>

Sur la page d’accueil de PHPMyAdmin, trouvez le champ de texte vous permettant d’entrer le nom d’une base, et entrez un nom. Cliquez ensuite sur le bouton Créer. (Image 5)


Image 5
Image 5

C’est terminé !

Etape #5 - Utiliser son environnement de développement

Vous avez installé et configuré votre environnement de développement PHP/MySQL. Il vous reste maintenant à apprendre à l’utiliser. Bien que cela ne rentre pas directement dans l’objet de cet article, je tiens à vous donner quelques indications sur la manière de procéder.

Emplacement des fichiers

Les fichiers doivent se situer dans le dossier Macintosh HD/Utilisateurs/votre_nom/Sites/ ou dans n’importe lequel de ses sous-dossiers.

Ecrire du PHP

Pour écrire du PHP, vous devrez utiliser un éditeur de texte brut, comme BBEdit ou SubEthaEdit (ce dernier est gratuit pour un usage non commercial). Vous devrez enregistrer vos fichiers dans un encodage approprié (je vous conseille très vivement ISO-8859-1. Lisez cet article pour plus de précisions au sujet des encodages.

Configurer les logiciels PHP fonctionnant avec MySQL

Les logiciels développés en PHP et fonctionnant avec MySQL auront besoin d’un certain nombre d’informations sur contre configuration MySQL. Vous devrez donc les paramétrer dans un fichier habituellement appelé config.inc.php, et indiquer l’adresse du serveur (localhost), le nom d’utilisateur (root), le mot de passe associé à cet utilisateur (votre mot de passe MySQL) et le nom de la base de donnée à utiliser (n’importe quelle base que vous avez créé avec PHPMyAdmin, ici: mabase).

Apprendre à utiliser une base de données PHP avec MySQL

Vous pouvez déjà commencer par lire cet article pour vous faire une idée de ce qu’est une base de données MySQL. Pour débuter avec PHP, je vous conseille le site PHP débutants.

Bonus - Paramétrer Dreamweaver pour utiliser PHP et MySQL

Dans le menu Sites, cliquez sur Nouveau Site. Un assistant se lancera. Il vous suffira de le suivre, étape par étape, en répondant aux questions qu’il vous pose. Ci-dessous, des captures d’écran des étapes importantes dans la configuration de notre environnement PHP/MySQL.


Image 6
Image 6


Image 7
Image 7


Image 8
Image 8

Une fois le paramatrage terminé dans l’assistant, ouvrez un fichier PHP en mode Création et allez dans le menu Affichage > LiveData, ou appuyez sur Pomme+Maj+R, ou cliquez sur le bouton LiveData entouré de rouge dans l’image ci-dessous:


Image 9
Image 10

Bonus 2 - Installer MySQL 5

Vous pouvez télécharger MySQL 5 depuis www.mysql.com. Vous devrez ensuite installer le logiciel comme n’importe quel autre logiciel Mac, en double-cliquant sur le fichier de l’installer dans l’image disque téléchargée, puis en suivant les étapes.

Pour lancer MySQL, il faudra taper depuis le Terminal:

  1. cd /usr/local/mysql
  2. sudo echo (et le mot de passe administrateur quand il sera demandé)
  3. sudo ./bin/mysqld_safe & (et le mot de passe administrateur quand il sera demandé)

</p>

Vous pouvez éviter de taper ces lignes en installant le panneau de préférences (en double-cliquant sur son icône dans l’image disque téléchargée). Ce panneau de préférences fonctionne comme celui détaillé au début de ce tutoriel.

Enfin, pour lancer le serveur MySQL avec le système, il suffit d’installer le paquetage mysql-startupitem.pkg.tar.gz fourni avec l’image disque téléchargée.

permalink: /2005/10/21/installer-et-configurer-un-environnement-de-developpement-phpmysql-sur-mac-os-x/

———-

Après l’installation, il faut impérativement créer les tables d’utilisateurs manuellement, sous peine de se voir répondre par le serveur ‘Access denied for user ‘root’@’localhost’ (using password: NO)’

Pour créer les tables:
- Se placer dans le répertoire d’installation de MySQL (par défaut: /usr/local/mysql)
- Se changer d’utilisateur pour passer en root («su») ou utiliser éventuellement («sudo»)
- Lancer le script: ./scripts/mysql_install_db

Pour changer le mot de passe:
- méthode shell: mysqladmin -u root password XXX
ou
- méthode mysql: UPDATE mysql.user SET Password = PASSWORD(‘XXX’) WHERE User = ‘root’;

Ensuite, pour se connecter:
mysql -u root -p
[Mot de passe]

N’hésitez pas à laisser vos commentaires ci-dessous.