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/null
Qui 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 : On
2. 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.cnf
Attention 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/mysql
Une 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 $ . .profile
puis écho $PATH pour s’assurer que la ligne a bien été prise en compte
alexmacapple:~ alex$ echo $PATH
On peut aussi créer un fichier .my.cnf à la racine du dossier user, et mettre le code suivant :
alex$ sudo pico .my.cnf
[client]
user=root
password=root
On 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=nombase
Faire un sauvegarde SQL
mysqldump --opt spip > sauvegarde_spip.sql
ou
/Applications/MAMP/Library/bin/mysqldump -h localhost -u root -proot -rnomdemabase.sql nomdematable
ou encore
mysqldump -h localhost -u root -proot -rnomdemabase.sql nomdematable
4. 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 mysqld
On 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/MAMP
Lire la suite :
Ouvrir MAMP sur l’extérieur : Vhost, routeur, Domaine et DNS
Aucune discussion
Ajouter un commentaire
Avant de faire part d’un problème sur un plugin X, merci de lire ce qui suit :
Merci d’avance pour les personnes qui vous aideront !
Par ailleurs, n’oubliez pas que les contributeurs et contributrices ont une vie en dehors de SPIP.
Suivre les commentaires : |