Plan de la première partie : MAMP
- I/ Installation et lancement de MAMP
- II/ Structure du MAMP
- III/ Réglages de l’interface
- IV/ Les réglages avancés et personnalisés
- V/ Mettre à jour sa version de MAMP en toute tranquillité, sans rien perdre de ses sites et de ses bases de données SQL
- VI/ En cas de problèmes
I/ Installation et lancement de MAMP
1. On télécharge MAMP sur le site officiel
http://www.mamp.info/en/index.html
On récupère donc le pacquage zippé nommé MAMP_MAMP_PRO_2.0.x.zip, on le dé-zippe puis on lance l’installation. Suivre les différentes étapes de l’installeur. MAMP s’installe à la racine du dossier Applications. On doit avoir un compte administrateur sur le mac et connaitre son mot de passe d’admin.

2. On lance le logiciel en cliquant sur l’icône de l’application MAMP
Une fenêtre s’ouvre nous permettant de contrôler le bon lancement du serveur apache et du serveur de données MySQL.

Les voyants sont verts en cas de réussite, et rouges en cas d’échec. Il y a deux diodes correspondant l’une au serveur Apache, l’autre au serveur MySQL.
Une deuxième fenêtre, celle de la page d’accueil s’ouvre aussi. Cette page prouve également que tout fonctionne et que l’installation de MAMP a réussi.

L’URL par défaut du serveur web local sous MAMP est :
Mais on peut également y accéder en tapant l’adresse ip de localhost :
On peut utiliser l’adresse Rendez-Vous du partage web, Préférence système/partage/ avec l’option partage web de cochée. Les ordinateurs de votre réseau local peuvent accéder à votre ordinateur par le biais de l’adresse : imacalex.local
http://imacalex.local:8888/MAMP
On peut aussi ouvrir son serveur local vers l’extérieur, au prix de quelques opérations que l’on détaillera par la suite sur son modem (mappage de port, DMZ …), sur son fichier hosts et ses zones DNS, et utiliser l’adresse ip sortante fourni par son FAI, un domaine ou un dyndns.org :
- http://mondomaine.info:8888/MAMP/
- http://monipfixe:8888/MAMP/
- http://mondyndns.org:8888/MAMP/
3. Configurer les préférences de MAMP selon ses besoins.
Si vous débutez, laissez les options cochées par défaut.
- L’onglet Démarrer / Arrêter :

- Cocher lancer les serveur au démarrage de MAMP
- Cocher Arrêter les serveurs en quittant MAMP
- Décocher Vérifier MAMP Pro au démarrage de MAMP. On n’utilise pas la version payante
- Cocher la page d’accueil au démarrage, URL de la page d’accueil /MAMP/ qui correspond donc à http://localhost:8888/MAMP ou http://127.0.0.1:8888/MAMP
- L’onglet Port :

Par défaut ce ne sont pas les ports traditionnels qui sont utilisés par MAMP pour Apache et MySQL, pour ne pas rentrer en conflit avec d’autres serveurs. MAMP propose en standard le port 8888 pour Apache, le port 80 étant normalement le port utilisé par défaut pour le serveur web. MAMP propose en standard le port 8889 pour MySQL, le port 3306 étant normalement le port utilisé par défaut.
On peut switcher depuis cet onglet sur les Ports par défaut d’Apache et de MySQL ou revenir aux Ports par défaut de MAMP selon ses besoins. Mais on peut aussi définir ses propres ports si on le souhaite.
- L’onglet PHP :

MAMP a l’énorme avantage de proposer deux versions de PHP :
- La version 5.2.17
- et la 5.3.6
Ceci s’avère très utile pour tester et développer sous différentes versions de PHP. Par défaut on prendra la version proposée qui est à plus récente, à savoir le 5.3.6.
MAMP nous propose aussi des extensions PHP pour le cache, à savoir XCache eAccelerator et APC. J’avoue ne pas trop savoir à quoi cela correspond. Nous avons laissé le XCache proposé par défaut.
- L’onglet Apache :

Il faut définir ici le Document Root. Par défaut il s’agit de /Applications/MAMP/htdocs Mais on peut choisir un répertoire n’appartenant pas à MAMP si on le souhaite, n’importe où dans sa maisonnette d’utilisateur mac.
Traditionnellement, ceux qui n’utilisent pas /Applications/MAMP/htdocs se servent du répertoire Sites de leur dossier utilisateur /Users/user/Sites. L’avantage de conserver en Document Root le répertoire htdocs est que l’on peut copier l’application MAMP sur un autre mac et être tout de suite opérationnel. On centralise en un même endroit tous les éléments. Mais les autres choix de Document Root peuvent tout aussi bien se justifier et de défendre. Il s’agit donc du choix du document racine du serveur web, et c’est là qu’il conviendra de déposer tous ses répertoires de sites web.
- Créer une base SQL :
depuis l’onglet PhpMyadmin, dans la case créer une nouvelle base de données en entrant son nom.

Dans interclassement pour la connexion MySQL cocher utf8_general_ci et cliquer ensuite sur créer. On pourra éventuellement créer un user spécifique pour cette base de donnée avec les privilèges qu’il convient. Pour ce faire, cliquer sur l’onglet Privilèges de PhpMyAdmin, puis cliquer sur ajouter un utilisateur et remplir les cases du formulaire.

II/ Structure du MAMP
MAMP.app sert à lancer l’application. Elle a été installée dans Applications, et elle devra impérativement y rester. Les répertoires principaux de MAMP sont les suivants :
- /Applications/MAMP : répertoire racine de l’application MAMP
- /Applications/MAMP/cgi-bin
- /Applications/MAMP/library : on y mettra notamment le my.cnf
- /Applications/MAMP/bin : répertoire contenant les exécutables d’Apache, PHP4, PHP5, MySQL5 et SQLite.
- /Applications/MAMP/conf : répertoire contenant les fichiers de configuration d’Apache (httpd.conf), et SQLiteManager (config.db).
- /Applications/MAMP/tmp : répertoire contenant les fichiers temporaires créés par les exécutables. Le répertoire /tmp/php contient notamment les fichiers temporaires des sessions PHP.
- /Applications/MAMP/db : répertoire contenant les bases de données SQLite et MySQL.
- /Applications/MAMP/logs : répertoire contenant les fichiers de logs d’erreurs de PHP, Apache et MySQL.
- /Applications/MAMP/htdocs : répertoire contenant les différents projets de sites Web si un autre dossier n’a pas été sélectionné.
III/ Réglages de l’interface
- Onglet Start Sur la page d’accueil où dans l’onglet start, se trouvent les informations importantes dont on a besoin pour configurer un CMS, à savoir le hôte : localhost, le port SQL : 8889, l’user : root, le mot de passe : root
- Onglet Phpinfo Toutes les informations au niveau de la configuration de PHP. On y trouve notamment les informations du traditionnel php.info, avec la version de PHP active, ici Version 5.3.6, le chemin du fichier php.ini, il peut changer selon les versions de MAMP, /Applications/MAMP/bin/php/php5.3.6/conf/php.ini. On pourra y lire les valeurs par défaut de max_execution_time à 30 et de memory_limit à 32M du php.ini qu’il conviendra d’augmenter d’office pour une utilisation sereine de MAMP avec un CMS dont SPIP.
- Onglet : Xcache On y touche pas. Je sais même pas trop à quoi ça sert.
- Onglet Phpmyadmin L’interface de contrôle de MySQL.
- Onglet SQLiteManager l’interface de contrôle de SQLite pour ceux qui utilise du SQLlight nativement proposé avec SPIP 3. Même si le manager nous semble beaucoup moins au point que le traditionnel Phpmyadmin. Nous continuons pour notre part à utiliser MySQL avec SPIP 3.
- Onglet Faq Foire aux questions en anglais
- Onglet Try MAMP Pro On ne l’abordera pas ici, mais nos différents réglages nous permettront d’avoir plus ou moins les mêmes options que la version Pro.
IV/ Les réglages avancés et personnalisés
Voici quelques réglages et quelques éléments de personnalisation du MAMP à faire pour travailler sereinement comme sur un vrai serveur dédié mais en local. Toutes ne seront pas obligatoires, à vous de voir selon vos besoins.
1. Ajuster les valeurs de php.ini
Il conviendra de modifier le php.ini de chacune des versions php proposées par MAMP. Le chemin vers le php.ini peut changer selon les versions de MAMP. Ne pas hésiter à faire dans le terminal ces lignes :
alexmacapple:~ alex$ cd /Applications/MAMP
alexmacapple:~ alex$
alexmacapple:MAMP alex$ find / -name php.ini 2>/dev/nullQui nous donnera les bons chemins :
/Applications/MAMP/bin/php/php5.2.17/conf/php.ini
/Applications/MAMP/bin/php/php5.3.6/conf/php.ini
memory_limit set est à 8MB par défaut dans MAMP, il conviendra de lui donner une valeur de 32 MB pour être tranquille. Ce réglage là est impératif pour lancer confortablement un SPIP récent sous peine d’obtenir des erreurs de timeout.
On pourra également vérifier que max_execution_time est à 30 MB
On peut également rajouté ces lignes pour activer les erreurs php
error_reporting : E_ALL
display_errors : On2. Créer dans MAMP le fichier de configuration MySQL (my.cnf)
Si vous avez besoin d’ajuster vos paramètres SQL, il conviendra de créer un fichier my.cnf dans le répertoire suivant /Applications/MAMP/Library/my.cnf
Il faut copier et surcharger le fichier qui se trouve dans /Applications/MAMP/Library/support-files/my-medium.cnf et le placer dans le répertoire /Applications/MAMP/Library/ et le renommer en my.cnf
On peut le faire en ligne de commande à l’aide des lignes suivantes
sudo
cp
/Applications/MAMP/Library/support-files/my-medium.cnf
/Applications/MAMP/Library/my.cnfAttention l’emplacement peut changer selon les versions de MAMP utilisées. On peut sinon rechercher le fichier par le terminal en tapant les commandes pour voir s’ils existent et où ils se trouvent :
find / -name my.cnf 2>/dev/null
find / -name my-medium.cnf 2>/dev/nullÉditer le fichier my.cnf et notamment modifiant la valeur de max_allowed_packet : passer de max_allowed_packet = 1M à max_allowed_packet = 128M pourra nous être d’un grand secours dans le cas de très grosses bases de données.
3. Utiliser MySQL en ligne de commande avec MAMP sans passer par PhpMyAdmin
Il faut ouvrir le terminal, dans /applications/utilitaires/Terminal Et taper la commande suivante :
/Applications/MAMP/Library/bin/mysql --host=localhost -uroot -proot

On peut dès lors utiliser les commandes de MySQL. Taper par exemple : show databases ;

On peut aussi créer un lien symbolique pour n’avoir à taper que mysql depuis le shell
sudo ln -s /Applications/MAMP/Library/bin/mysql /usr/local/bin/mysqlUne autre méthode, alternative au lien symbolique, consiste à créer un fichier .profile, fichier caché, dans son répertoire de home du mac /users/nom, de façon à y renseigner le PATH, à savoir le chemin de recherche des fichiers exécutables de MySQL
export PATH=/Applications/MAMP/Library/bin:$PATH

On peut taper . .profile dans le terminal pour relancer son profile
alexmacapple:~ alex $ . .profilepuis écho $PATH pour s’assurer que la ligne a bien été prise en compte
alexmacapple:~ alex$ echo $PATHOn pourra alors désormais taper un simple mysql -u root -p pour se connecter à MySQL en ligne de commande
Injecter un dump SQL :
mysql -uUSER -pPASS spip_db < mabase_db.sql cat Fichier.sql | mysql -uroot --password=root --database=nombaseFaire un sauvegarde SQL
mysqldump --opt spip > sauvegarde_spip.sql4. Changer le password de MySQL :
Par défaut le login et le mot de passe de MySQL est root/root. Si vous n’ouvrez pas le serveur MAMP vers l’extérieur, aucun souci, vous pouvez laisser comme cela. En revanche si vous voulez l’ouvrir sur le monde extérieur, et que votre serveur est accessible sur internet, il sera préférable de changer le mot de passe attribué par défaut pour des raisons de sécurité.
Pour changer le mot de passe MySQL, il faudra faire deux choses :
1. Utiliser la ligne de commande suivante dans le terminal
/Applications/MAMP/Library/bin/mysqladmin -u root -p password [NEWPASSWORD]2. Prendre un éditeur de texte pour modifier l’ancien mot de passe à quatre endroits différents :
/Applications/MAMP/bin/phpMyAdmin-X.X.X/config.inc.php
ligne 86
$cfg['Servers'][$i]['password'] = 'root';/Applications/MAMP/bin/mamp/index.php
ligne 15
$link = @mysql_connect(':/Applications/MAMP/tmp/mysql/mysql.sock', 'root',
'root');/Applications/MAMP/bin/stopMysql.sh
Remplacer -proot par -pvotrepass
On peut également le changer dans la page d’accueil de MAMP
/Applications/MAMP/bin/mamp/French/mamp.inc.php
ligne 16 et ligne 23
5. Ouvrir MAMP automatiquement au démarrage du mac
Allez dans le menu pomme, puis Préférences Système

Puis dans l’onglet compte/ouverture, rajouter MAMP en ouverture automatique de session

Cliquer sur ajouter

Et c’est tout bon. Si votre mac s’éteint, le MAMP s’ouvrira automatiquement tout seul à la prochaine ouverture.
On peut même, toujours dans les préférences system et dans l’onglet économiseur d’énergie cocher la case démarrer automatiquement le mac après une panne de courant.

V/ Mettre à jour sa version de MAMP en toute tranquillité, sans rien perdre de ses sites et de ses bases de données SQL
- 1. On quitte l’application MAMP ce qui a pour effet d’arrêter les serveurs Apache et MySQL, et on arrête les process pouvant tourner grâce au moniteur d’activité.
- 2. On Quitte l’application MAMP ce qui a pour effet d’arrêter les serveurs Apache et SQL
- 3. On renomme dans Applications le dossier MAMP en MAMP.old
- 4. On lance la nouvelle installation de MAMP que l’on aura au préalable téléchargée sur le site officiel
- 5. On va copier certaines données de MAMP.old dans MAMP :
Copier le contenu du sous-dossier /htdocs vers MAMP (Si vos sites sont dans ce Document Root). Copier le contenu du sous-dossier /db/mysql vers MAMP (Mais pas les sous-dossiers mysql/, performance_schema/ et le fichier mysql_upgrade_info)
- 6. Copier le fichier /conf/apache/httpd.conf vers MAMP si vous aviez modifié le fichier de conf (faire un diff pour voir ce qui a changé dans la nouvelle version et les répercuter)
- 7. Copier le fichier /bin/php/[Votre version]/conf/php.ini vers MAMP si vous aviez modifié le fichier (faire un diff pour voir ce qui a changé dans la nouvelle version, répercuter notamment le memory limait)
- 8. Relancer MAMP dans sa nouvelle version. La mise à jour est terminée
(Et si on est un brin para-no :-), on peut également, avant de mettre a jour le MAMP, faire un backup manuel de toutes les bases sql dans PhpMyAdmin, mais de toute façon pas de panique, on pourra toujours revenir à son ancien MAMP en supprimant le .old et en renommant le nouveau MAMP, puis en fermant les process.)
VI/ En cas de problèmes
Il est possible que le MySQL de votre version de MAMP parfois refuse de se lancer ou ne fonctionne plus. Il convient tout d’abord de fermer MAMP.
Il faut ensuite ouvrir le moniteur d’activité (Applications/Utilitaires/Moniteur d’activité/) et de fermer le ou les process sql qui pourraient être en conflit.

On peut également aller directement dans le terminal et taper le code suivant d’un seul coup, même si personnellement je préfère la méthode avec le moniteur d’activité qui liste précisément les process SQL ouverts qui pourraient rentrer en conflit
ps aux | grep mysql
lsof -i
killall -9 mysqldOn redémarre ensuite le mac (pas obligatoire mais c’est une bonne veille habitude), on ouvre le MAMP et les serveurs devraient redémarrer.
On peut aussi, par précaution, bien que cela ne soit pas forcément utile faire un chmod récursif 777 sur MAMP pour écarter tout problème de permission (sinon Pomme i, et donner les droits en écriture pour tous les répertoires)
# sudo chmod -Rfv 777 /Applications/MAMPLire la suite : Ouvrir MAMP sur l’extérieur : Vhost, routeur, Domaine et DNS



Vos commentaires
# Le 29 janvier à 23:12, par tintinak
En réponse à : Comment créer un environnement de travail pour développer du SPIP sur un MAC avec MAMP
bonsoir, peut être que vous pourriez m’aider.
J’utilise mamp pour créer mes sites en php sur mon serveur local.
J’ai placé mes sites dans le dossier site/mon_site/
dans le dossier mon site j’ai mon index.php
le problème est le suivant :
je lance mamp et tout va bien les serveurs sont lancés.
Quand je me rends sur l’url http://localhost:8888/mon_site/index.php au lieu de m’interpréter la page web il me télécharge le fichier.php.
Depuis deux jours je recherche une solution sur différents sites mais pour l’instant pas de réponses efficaces, ce qui marche pour les autre ne marche pas pour moi :s
Merci d’avance et à très vite
# Le 29 janvier à 23:29, par Alexandra
En réponse à : Comment créer un environnement de travail pour développer du SPIP sur un MAC avec MAMP
Je ne saurais trop quoi vous répondre. C’est très étrange que le php ne soit pas interprété si les serveurs se lancent bien au démarrage. Le port est-il bien 8888 et le document root est-il bien configuré ? êtes vous sur de votre code php. Commencez peut être avec juste un echo de base pour voir si ca s’affiche mieux. Sinon regarder du coté des logs de MAMP voir si ca cause. Désolée
# Le 29 janvier à 23:36, par tintinak
En réponse à : Comment créer un environnement de travail pour développer du SPIP sur un MAC avec MAMP
Merci pour votre réponse oui le fichier .php fonctionne car mon site est déjà en ligne http://www.surfingbiarritz.com
# Le 29 janvier à 23:46, par tintinak
En réponse à : Comment créer un environnement de travail pour développer du SPIP sur un MAC avec MAMP
voila ce que j’obtiens
Répondre à ce message
# Le 27 janvier à 09:58, par domiw
En réponse à : Comment créer un environnement de travail pour développer du SPIP sur un MAC avec MAMP
Belle série d’articles, peut-être à compléter par un pas d’installation de SPIP une fois MAMP configuré (je veux bien aider). Avant j’activais PHP et installais Mysql, mais pour ce dernier cela changeait avec les version de Mac OS, je ne regrette pas d’être passé à MAMP (et on a en plus gd, yaz et d’autres librairies installées).
Dans le temps MAMP était livré avec un widget qui permettait de démarrer Apache et Mysql sans lancer MAMP, il a disparu de la livraison mais fonctionne toujours (MAMP 2.05 + Snow léopard).
Personnellement j’ai choisi le dossier « Sites » du Mac pour mettre les dossiers de projets de sites. Cela permet de faire les mises à jour en toute tranquillité. Il faut renommer le fichier index.html qui s’y trouve et les dossiers des différents projets sont accessibles par
http://localhost:8888/ou directementhttp://localhost:8888/mom_projet/ou toute autre url du même type suivant ce qu’on a choisi. (Une IP fixe permet d’accéder facilement depuis un PC pour debugage sous IE :-( ).Pour la base de données j’ai choisi aussi de la déporter dans mon dossier « Documents » avec un lien symbolique. Pour cela j’utilise Symboliclinker qui installe un Service pour créer facilement des liens symboliques (les alias ne fonctionneraient pas dans ce cas). Déplacer le dossier /MAMP/bd/ vers le dossier « Documents » (on peut au besoin alors le renommer « bd-MAMP » pour plus de clarté). Clic-droit et dans les services choisir « Créer un lien symbolique ». Il se crée alors à coté du dossier déplacé, le remettre alors dans le dossier MAMP (le lien symbolique) et le renommer au besoin « bd ». Ça fonctionne parfaitement chez moi sur plusieurs machines (fixe et portable).
En utilisant le dossier « Sites » et le lien symbolique pour le dossier « bd », ça permet de faire ses mises à jours de MAMP en toute tranquillité (si on n’a rien modifié d’autre), c’est cohérent avec la place des données. Si on a un utilitaire de sauvegarde automatique type Time-machine ou autre on garde les réglages génériques qu’on a pour ses données autres.
# Le 27 janvier à 10:14, par Alexandra
En réponse à : Comment créer un environnement de travail pour développer du SPIP sur un MAC avec MAMP
Merci Dominique pour ce complément d’info et ce retour. Bonne idée pour un pas à pas d’installation de SPIP une fois MAMP configuré. Ca pourrait faire l’objet un quatrième article. On essaye de se coordonner et j’y réfléchi aussi de mon côté.
Répondre à ce message