Nous vous proposons cet article en partenariat avec Nathalie Nicoletis, auteur de Mac OS X Snow Leopard à 200 % de Nathalie Nicoletis (Digit Books, Brest, 2010), dans lequel vous pourrez retrouver 50 autres trucs et astuces pour Mac OS X.
Disposer sur sa propre machine d’un environnement de développement de sites web est plus pratique (et aussi plus gratifiant) que devoir passer son temps à envoyer des fichiers sur un serveur FTP, tester ensuite le résultat dans un navigateur, constater qu’il y a un problème, modifier les fichiers avant de les envoyer à nouveau, puis de les tester… c’est sans fin et représente un temps perdu assez considérable si on additionne tous ces aller et retour.
Dans cet article, nous allons voir deux méthodes pour configurer et installer un environnement de développement complet de sites web avec par ordre d’apparition : Apache dans le rôle du serveur, PHP dans celui du langage de programmation et MySQL, incontournable dans le rôle de la base de données. Apple livre la version 2.2.6 d’Apache, le serveur web le plus répandu, ainsi que la version 5.2.4 de PHP. Puisque ces deux-là ne sont pas activés par défaut, nous allons y remédier. Nous verrons aussi comment installer MySQL.
La deuxième solution traitée ici MAMP (pour Macintosh, Apache, MySQL,PHP) est fort intéressante. Il s’agit d’une solution autonome complète qui ne dépend ni du serveur Apache, ni de la version PHP installés par Apple.
Les outils
Voici les quelques outils nécessaires pour mener à bien l’ensemble des opérations. Certains sont gratuits, d’autres payants. Ils pourront aussi vous servir pour le code HTML, PHP et autres langages de scripts.
Le Terminal
Le Terminal se trouve dans le dossier Applications > Utilitaires. Elle sert à accéder aux fichiers de configuration UNIX ainsi qu’à les éditer. Il sera nécessaire dans la suite des opérations d’y avoir recours. Veillez également à les effectuer depuis un compte administrateur, car dans la plupart des cas, votre mot de passe administrateur sera demandé.
Un éditeur de texte
L’éditeur de texte permet de se dispenser de l’utilisation de vi pour modifier facilement les fichiers Unix. Les trois qui sont cités ci-dessous intègrent un outil qui leur permet d’être l’interface de la ligne de commande.
BBEdit
Sans aucun doute la Rolls-Royce de sa catégorie, cet éditeur de texte est l’outil indispensable des développeurs HTML et autres langages. Un peu cher, il coûte 125 dollars. Une version d’évaluation est disponible pour vous en faire une idée. Notez qu’il n’est pas francisé.
TextWrangler
Il s’agit du petit frère gratuit de BBEdit, également développé par Barebones. Il est largement suffisant pour qui souhaite un éditeur de texte simple, mais efficace et surtout une interface pour éditer des fichiers dans le Terminal. N’existe pas en français.
TextMate
Je n’hésite pas à le qualifier de couteau suisse bien qu’il soit d’origine danoise. Un des ses avantages est l’auto-complétion des balises, si vous êtes développeur, vous apprécierez cette fonctionnalité à sa juste valeur. Il n’est pas non plus francisé.
Activer Apache
Par défaut, Apple n’active pas le serveur Apache, c’est donc la première tâche qui va nous occuper pendant environ… 3 secondes.
Pour le démarrer afin qu’il soit en fonction, ou bien le redémarrer après chaque modification effectuée dans le fichier
Pour vérifier qu’Apache tourne, il suffit de taper ceci dans la barre d’adresse d’un navigateur :
Chaque machine sous Mac OS X possède un serveur web intégré global pour la machine auquel on accède via un navigateur. Les fichiers du site de la machine sont à placer dans ce dossier :
Utilisez le serveur web de votre machine pour partager des fichiers avec d’autres utilisateurs de votre réseau local. Créez un dossier Partage (ou tout autre nom) et placez-y en vrac les fichiers que vous souhaitez partager avec autrui. Vrac signifie qu’il ne faut pas que ce dossier contienne un fichier nommé index.html, sinon, il n’affichera pas la liste des fichiers contenus dans ce répertoire. Pour y accéder, en suivant l’exemple ci-dessus, tapez :
Un petit clic sur un des liens ci-dessus permet de visualiser l’image ou de récupérer un des fichiers. C’est assez pratique si vous n’avez pas envie d’installer un serveur FTP sur votre machine.
Activer PHP
Il n’est pas non plus activé par défaut, vous allez devoir le faire, mais rassurez-vous ce n’est pas très compliqué. Nous utiliserons dans ces exemples, l’éditeur de texte TextWrangler : ouvrez Terminal et tapez la ligne suivante (suivie de la touche Entrée) :
Il s’agit d’enlever le commentaire qui se trouve au début de la ligne 114 du fichier :
Le commentaire est représenté par le signe dièse (#), vous le supprimez. TextWrangler vous informe à ce moment que ce fichier n’est pas à vous et vous propose de le déverrouiller (Unlock), ce que vous acceptez de faire. Puis, enregistrez votre modification, ce qui sera possible lorsque vous aurez saisi votre mot de passe admin dans la fenêtre de TextWrangler.
Pour que cette modification soit prise en compte, avant de crier « Au bug ! », redémarrez le serveur Apache…
Victoire, PHP est activé ! Pour le vérifier, créez un fichier nommé (par exemple) test.php et enregistrez-le dans /Bibliothèque/Webserver/Documents. Ce fichier doit contenir la ligne suivante :
Pour qu’il s’ouvre (et qu’il soit correctement interprété par le serveur Apache en tant que fichier PHP), tapez cette adresse dans la barre d’un navigateur (remplacez test.php par le nom que vous avez éventuellement donné à votre fichier) :
Installer MySQL
Une image disque incluant tous les paquets nécessaires ainsi qu’un installeur à double-cliquer est disponible sur le site MySQL. Il ne suffit plus qu’à choisir la version qui correspond à votre Mac.
Double-cliquez sur l’installeur, et installez aussi le script qui permet au serveur MySQL de se lancer automatiquement au démarrage de la machine, le fichier s’appelle : MySQLStartupitem.pkg.
Il se trouve que PHP s’attend à trouver MySQL ailleurs que là où l’installeur l’a placé, il faut donc effectuer plusieurs changements. Crééz un nouveau fichier de configuration MySQL my.cnf dans /etc. Copiez-y les lignes suivantes :
Puis redémarrez le serveur MySQL en exécutant dans le Terminal la commande
Si tout a fonctionné comme prévu, vous avez maintenant en main un serveur web fonctionnel avec PHP activé. Il ne reste plus qu’à créer des bases de données et à les peupler grâce à une application web qui sert d’interface utilisateur avec le serveur MySQL : phpMyAdmin.
Dézippez-le fichier récupéré, renommez le dossier tout simplement phpMyAdmin et déplacez-le dans le répertoire /Library/WebServer/Documents.
phpMyAdmin est un outil qui permet de créer des bases de données et des tables en interface graphique. Il est bien sûr possible de le faire avec le Terminal, mais c’est plus complexe et demande de bien maîtriser les instructions SQL.
Lorsque vous ouvrez phpMyAdmin depuis votre navigateur, via l’URL
Il faudra effectuer ce réglage à trois reprises, soit une fois pour chaque interface de l’utilisateur root de MySQL (localhost, 127.0.0.1 et le nom Bonjour de la machine, ici nath2.local) qui sont en fait les trois manières d’accéder en local à une même machine :
Cliquez sur l’icône de crayon qui se trouve à droite pour avoir accès au champ d’édition et y taper le mot de passe de votre choix. Une fois cette modification faite trois fois, cliquez sur le lien Recharger les privilèges afin de mettre à jour l’accès au serveur MySQL.
Puis, dans le fichier config.inc.php (qui se trouve dans le répertoire /Library/WebServer/Docu-ments/) mettez le même mot de passe que celui que vous avez modifié auparavant dans l’interface phpMyAdmin :
N’omettez pas cette dernière étape, c’est elle qui permet à phpMyAdmin de pouvoir accéder au serveur MySQL. En cas d’oubli, vous ne pourrez plus vous y connecter via phpMyAdmin.
Si vous n’êtes pas satisfait du résultat, ou bien qu’une solution autonome vous convient mieux, passez à la page suivante…
MAMP
MAMP est une solution autonome complète d’environnement de développement de sites web pour Macintosh dont LAMP est l’équivalent pour Linux et WAMP pour Windows.
L’avantage de cette solution est de ne pas dépendre du serveur Apache livré par Apple ni de sa version PHP. La raison est d’abord qu’Apple ne livre pas forcément des versions très récentes et que vous n’êtes pas à l’abri qu’une mise à jour vienne écraser vos réglages et paramètres. L’autre intérêt est sa facilité de mise en œuvre.
Il suffit de télécharger MAMP (gratuit), puis de glisser son icône dans le dossier Applications et le tour est joué.
Dans le dossier MAMP, se trouve MAMP.app, double-cliquez sur son icône pour démarrer les serveurs Apache et MySQL qui y sont intégrés.
MAMP présente ses différents services dans votre navigateur par défaut. L'image ci-dessous montre comment il est possible d’accéder directement à la gestion de MySQL via phpMyAdmin ou SQLite Manager depuis cette fenêtre de navigateur qui rappelle aussi les principaux paramètres pour se connecter aux bases MySQL.
MAMP est immédiatement fonctionnel. Vous placez les scripts, les fichiers HTML, les images, etc., dans un répertoire, lequel doit être placé dans le répertoire htdocs de MAMP.
Pour visualiser vos pages dans un navigateur, tapez l’URL suivante dans sa barre d’adresse :
Il est parfaitement possible d’utiliser en parallèle la solution Apache livrée par Apple et MAMP. En effet le serveur web made in Apple tourne sur le port 80 (port par défaut d’Apache), alors que le serveur Apache intégré de MAMP, se trouve sur le port 8888. Notez que si plusieurs utilisateurs se partagent la machine, le serveur MySQL appartient (au sens Unix du terme) à celui qui l’a installé (qu’il soit ou non administrateur), c’est une limitation à prendre en compte, ce n’est pas un bogue ... Pour que les autres utilisateurs puissent s’en servir, il est donc nécessaire que les serveurs Apache et MySQL soient lancés et tournent dans la session de l’utilisateur qui a initialement installé MAMP. Enfin, n’utilisez pas MAMP pour un serveur web de production (accessible via Internet), il est fait pour un usage de test en local, car il n’est pas doté des fonctionnalités élémentaires de sécurité.
Cet article est extrait de Mac OS X Snow Leopard à 200 % de Nathalie Nicoletis (Digit Books, Brest, 2010), dans lequel vous pourrez retrouver 50 autres trucs et astuces pour Mac OS X.
Disposer sur sa propre machine d’un environnement de développement de sites web est plus pratique (et aussi plus gratifiant) que devoir passer son temps à envoyer des fichiers sur un serveur FTP, tester ensuite le résultat dans un navigateur, constater qu’il y a un problème, modifier les fichiers avant de les envoyer à nouveau, puis de les tester… c’est sans fin et représente un temps perdu assez considérable si on additionne tous ces aller et retour.
Dans cet article, nous allons voir deux méthodes pour configurer et installer un environnement de développement complet de sites web avec par ordre d’apparition : Apache dans le rôle du serveur, PHP dans celui du langage de programmation et MySQL, incontournable dans le rôle de la base de données. Apple livre la version 2.2.6 d’Apache, le serveur web le plus répandu, ainsi que la version 5.2.4 de PHP. Puisque ces deux-là ne sont pas activés par défaut, nous allons y remédier. Nous verrons aussi comment installer MySQL.
La deuxième solution traitée ici MAMP (pour Macintosh, Apache, MySQL,PHP) est fort intéressante. Il s’agit d’une solution autonome complète qui ne dépend ni du serveur Apache, ni de la version PHP installés par Apple.
Les outils
Voici les quelques outils nécessaires pour mener à bien l’ensemble des opérations. Certains sont gratuits, d’autres payants. Ils pourront aussi vous servir pour le code HTML, PHP et autres langages de scripts.
Le Terminal
Le Terminal se trouve dans le dossier Applications > Utilitaires. Elle sert à accéder aux fichiers de configuration UNIX ainsi qu’à les éditer. Il sera nécessaire dans la suite des opérations d’y avoir recours. Veillez également à les effectuer depuis un compte administrateur, car dans la plupart des cas, votre mot de passe administrateur sera demandé.
Un éditeur de texte
L’éditeur de texte permet de se dispenser de l’utilisation de vi pour modifier facilement les fichiers Unix. Les trois qui sont cités ci-dessous intègrent un outil qui leur permet d’être l’interface de la ligne de commande.
BBEdit
Sans aucun doute la Rolls-Royce de sa catégorie, cet éditeur de texte est l’outil indispensable des développeurs HTML et autres langages. Un peu cher, il coûte 125 dollars. Une version d’évaluation est disponible pour vous en faire une idée. Notez qu’il n’est pas francisé.
TextWrangler
Il s’agit du petit frère gratuit de BBEdit, également développé par Barebones. Il est largement suffisant pour qui souhaite un éditeur de texte simple, mais efficace et surtout une interface pour éditer des fichiers dans le Terminal. N’existe pas en français.
TextMate
Je n’hésite pas à le qualifier de couteau suisse bien qu’il soit d’origine danoise. Un des ses avantages est l’auto-complétion des balises, si vous êtes développeur, vous apprécierez cette fonctionnalité à sa juste valeur. Il n’est pas non plus francisé.
Activer Apache
Par défaut, Apple n’active pas le serveur Apache, c’est donc la première tâche qui va nous occuper pendant environ… 3 secondes.
Pour le démarrer afin qu’il soit en fonction, ou bien le redémarrer après chaque modification effectuée dans le fichier
httpd.conf
, vous avez le choix entre la ligne de commande : sudo /usr/sbin/apachectl graceful
ou encore plus simple, via l’interface graphique : Préférences Système > Partage > Partage Web. Plus simple, mais les aller-retour entre la ligne de commande et l’interface graphique finissent par être lassants. Pour vérifier qu’Apache tourne, il suffit de taper ceci dans la barre d’adresse d’un navigateur :
http://localhost
ou http://127.0.0.1/
(ce qui revient au même). C’est la page d’Apache par défaut qui s’ouvre.Si vous voyez cette page, c'est que ça fonctionne…
Chaque machine sous Mac OS X possède un serveur web intégré global pour la machine auquel on accède via un navigateur. Les fichiers du site de la machine sont à placer dans ce dossier :
/Bibliothèque/WebServeur/Documents
. Chaque utilisateur qui possède un compte sur la machine bénéficie également de son serveur web personnel auquel on accède en se connectant avec un navigateur web sur : http://localhost/~nomutilisateur/
, ou bien via l’adresse IP de la machine : http://192.168.2.103/~nomutilisateur
. Les fichiers HTML et les images de ce site sont à placer dans le dossier : nomutilisateur > Sites.Utilisez le serveur web de votre machine pour partager des fichiers avec d’autres utilisateurs de votre réseau local. Créez un dossier Partage (ou tout autre nom) et placez-y en vrac les fichiers que vous souhaitez partager avec autrui. Vrac signifie qu’il ne faut pas que ce dossier contienne un fichier nommé index.html, sinon, il n’affichera pas la liste des fichiers contenus dans ce répertoire. Pour y accéder, en suivant l’exemple ci-dessus, tapez :
http://localhost/partage
dans la barre d’adresse de votre navigateur.Un dossier partagé
Un petit clic sur un des liens ci-dessus permet de visualiser l’image ou de récupérer un des fichiers. C’est assez pratique si vous n’avez pas envie d’installer un serveur FTP sur votre machine.
Activer PHP
Il n’est pas non plus activé par défaut, vous allez devoir le faire, mais rassurez-vous ce n’est pas très compliqué. Nous utiliserons dans ces exemples, l’éditeur de texte TextWrangler : ouvrez Terminal et tapez la ligne suivante (suivie de la touche Entrée) :
sudo edit /private/etc/apache2/httpd.conf
, puis à l’invite, tapez votre mot de passe (vous êtes bien entendu administrateur de la machine), suivi de la touche Entrée. Il s’agit d’enlever le commentaire qui se trouve au début de la ligne 114 du fichier :
#LoadModule php5_module libexec/apache2/libphp5.so
.Le commentaire est représenté par le signe dièse (#), vous le supprimez. TextWrangler vous informe à ce moment que ce fichier n’est pas à vous et vous propose de le déverrouiller (Unlock), ce que vous acceptez de faire. Puis, enregistrez votre modification, ce qui sera possible lorsque vous aurez saisi votre mot de passe admin dans la fenêtre de TextWrangler.
Pour que cette modification soit prise en compte, avant de crier « Au bug ! », redémarrez le serveur Apache…
Victoire, PHP est activé ! Pour le vérifier, créez un fichier nommé (par exemple) test.php et enregistrez-le dans /Bibliothèque/Webserver/Documents. Ce fichier doit contenir la ligne suivante :
<? phpinfo()?>
.Pour qu’il s’ouvre (et qu’il soit correctement interprété par le serveur Apache en tant que fichier PHP), tapez cette adresse dans la barre d’un navigateur (remplacez test.php par le nom que vous avez éventuellement donné à votre fichier) :
127.0.0.1/test.php
.Si tout s’est passé comme prévu, vous aurez le même résultat dans votre navigateur qu'ici.
Installer MySQL
Une image disque incluant tous les paquets nécessaires ainsi qu’un installeur à double-cliquer est disponible sur le site MySQL. Il ne suffit plus qu’à choisir la version qui correspond à votre Mac.
Double-cliquez sur l’installeur, et installez aussi le script qui permet au serveur MySQL de se lancer automatiquement au démarrage de la machine, le fichier s’appelle : MySQLStartupitem.pkg.
Il se trouve que PHP s’attend à trouver MySQL ailleurs que là où l’installeur l’a placé, il faut donc effectuer plusieurs changements. Crééz un nouveau fichier de configuration MySQL my.cnf dans /etc. Copiez-y les lignes suivantes :
[client]
socket = /var/mysql/mysql.sock
[mysqld]
socket = /var/mysql/mysql.sock
Puis redémarrez le serveur MySQL en exécutant dans le Terminal la commande
sudo /usr/local/mysql/support-files/mysql.server stop
puis la commande sudo /usr/local/mysql/support-files/mysql.server start
.Si tout a fonctionné comme prévu, vous avez maintenant en main un serveur web fonctionnel avec PHP activé. Il ne reste plus qu’à créer des bases de données et à les peupler grâce à une application web qui sert d’interface utilisateur avec le serveur MySQL : phpMyAdmin.
Dézippez-le fichier récupéré, renommez le dossier tout simplement phpMyAdmin et déplacez-le dans le répertoire /Library/WebServer/Documents.
phpMyAdmin est un outil qui permet de créer des bases de données et des tables en interface graphique. Il est bien sûr possible de le faire avec le Terminal, mais c’est plus complexe et demande de bien maîtriser les instructions SQL.
phpMyAdmin vous rappelle à l'ordre
Lorsque vous ouvrez phpMyAdmin depuis votre navigateur, via l’URL
localhost/phpMyAdmin
, une alerte vous invite à sécuriser le serveur MySQL en donnant un mot de passe à l’utilisateur root (ci-dessus). Pour assigner ce mot de passe, cliquez sur Privilèges (ci-dessous).Il faudra effectuer ce réglage à trois reprises, soit une fois pour chaque interface de l’utilisateur root de MySQL (localhost, 127.0.0.1 et le nom Bonjour de la machine, ici nath2.local) qui sont en fait les trois manières d’accéder en local à une même machine :
Cliquez sur l’icône de crayon qui se trouve à droite pour avoir accès au champ d’édition et y taper le mot de passe de votre choix. Une fois cette modification faite trois fois, cliquez sur le lien Recharger les privilèges afin de mettre à jour l’accès au serveur MySQL.
Puis, dans le fichier config.inc.php (qui se trouve dans le répertoire /Library/WebServer/Docu-ments/) mettez le même mot de passe que celui que vous avez modifié auparavant dans l’interface phpMyAdmin :
$cfg['Servers'][$i]['auth_type'] = 'config';
// Authentication method (config, http or cookie based)?
$cfg['Servers'][$i]['user'] = 'root';
// MySQL user
$cfg['Servers'][$i]['password'] = 'motdepasseici';
// MySQL password (only needed
// with 'config' auth_type)
N’omettez pas cette dernière étape, c’est elle qui permet à phpMyAdmin de pouvoir accéder au serveur MySQL. En cas d’oubli, vous ne pourrez plus vous y connecter via phpMyAdmin.
Si vous n’êtes pas satisfait du résultat, ou bien qu’une solution autonome vous convient mieux, passez à la page suivante…
MAMP
MAMP est une solution autonome complète d’environnement de développement de sites web pour Macintosh dont LAMP est l’équivalent pour Linux et WAMP pour Windows.
L’avantage de cette solution est de ne pas dépendre du serveur Apache livré par Apple ni de sa version PHP. La raison est d’abord qu’Apple ne livre pas forcément des versions très récentes et que vous n’êtes pas à l’abri qu’une mise à jour vienne écraser vos réglages et paramètres. L’autre intérêt est sa facilité de mise en œuvre.
Il suffit de télécharger MAMP (gratuit), puis de glisser son icône dans le dossier Applications et le tour est joué.
Dans le dossier MAMP, se trouve MAMP.app, double-cliquez sur son icône pour démarrer les serveurs Apache et MySQL qui y sont intégrés.
MAMP présente ses différents services dans votre navigateur par défaut. L'image ci-dessous montre comment il est possible d’accéder directement à la gestion de MySQL via phpMyAdmin ou SQLite Manager depuis cette fenêtre de navigateur qui rappelle aussi les principaux paramètres pour se connecter aux bases MySQL.
MAMP est immédiatement fonctionnel. Vous placez les scripts, les fichiers HTML, les images, etc., dans un répertoire, lequel doit être placé dans le répertoire htdocs de MAMP.
Pour visualiser vos pages dans un navigateur, tapez l’URL suivante dans sa barre d’adresse :
localhost:8888/nomdurepertoire/
. L’autre intérêt de cette solution intégrée est que vous pouvez tester vos développements et scripts sans crainte de flinguer la configuration Apache fournie par Apple et que si par malheur, vos scripts ou autres font dérailler votre installation de MAMP, il suffit de mettre le dossier MAMP à la corbeille (en ayant auparavant sauvegardé le dossier db/mysql/nomdevotrebase pour ne pas perdre vos bases de données) et de réinstaller l’application. Il est parfaitement possible d’utiliser en parallèle la solution Apache livrée par Apple et MAMP. En effet le serveur web made in Apple tourne sur le port 80 (port par défaut d’Apache), alors que le serveur Apache intégré de MAMP, se trouve sur le port 8888. Notez que si plusieurs utilisateurs se partagent la machine, le serveur MySQL appartient (au sens Unix du terme) à celui qui l’a installé (qu’il soit ou non administrateur), c’est une limitation à prendre en compte, ce n’est pas un bogue ... Pour que les autres utilisateurs puissent s’en servir, il est donc nécessaire que les serveurs Apache et MySQL soient lancés et tournent dans la session de l’utilisateur qui a initialement installé MAMP. Enfin, n’utilisez pas MAMP pour un serveur web de production (accessible via Internet), il est fait pour un usage de test en local, car il n’est pas doté des fonctionnalités élémentaires de sécurité.
Cet article est extrait de Mac OS X Snow Leopard à 200 % de Nathalie Nicoletis (Digit Books, Brest, 2010), dans lequel vous pourrez retrouver 50 autres trucs et astuces pour Mac OS X.