/MAMP : Comment bien installer notre projet Symfony sur Mac

MAMP : Comment bien installer notre projet Symfony sur Mac

Développeur sur MAC, pour travailler sur des projets Symfony (ou autre bien sûr), nous avons besoin de créer un environnement de développement local. Dans cet article. je vais vous apprendre comment bien installer un projet Symfony avec MAMP sur votre Mac.

What

MAMP c’est quoi ?

MAMP (Macintosh, Apache, MySQL, PHP) est une solution qui imbrique tous les composants minimum nécessaire pour avoir un environnement local pour le développement.

Lien pour le télécharger : https://www.mamp.info/fr/downloads/

Il est aussi disponible pour Windows mais l’article parlera sur MAC.

Petit tour du propriétaire

Lors de l’installation de MAMP, cela vous installera deux versions de MAMP, une gratuite dite MAMP, une version payante MAMP PRO. On utilisera uniquement la version gratuite (parce que je suis open source).

Désormais que tout est installé vous pouvez lancer MAMP (pas le MAMP PRO). Les petits voyants en haut à droit vous dira si les services Apache et Mysql sont start.

Logiciel MAMP

Sur cette fenêtre vous pouvez cliquer sur « Open WebStart page » qui vous lancera une page qui récapitule les informations de MAMP, ainsi que des informations utiles (phpMyAdmin, connexion MySQL etc.).

Screenshot de la page information local MAMP

Configuration

L’objectif de l’article étant de mettre en place un projet web (Symfony) avec une url personnalisée pour permettre de travailler dans de bonnes conditions (avoir une url localhost/blabla ce n’est pas très pratique).

Installer le projet

Pour que cela soit simple je mets l’ensemble de mes projets dans un dossier proche de / (racine du Mac) afin que je les trouve facilement.

Pour ma part c’est : /Users/VotreNom/Sites

Disons pour l’exemple j’ai un projet Symfony qui s’appelle TodoList, je le mets dans mon dossier Sites (le chemin est : /Users/VotreNom/Sites/TodoList).

Maintenant, que j’ai mon projet installé je voudrais pouvoir travailler dessus et avoir une URL afin d’y accéder.

Apache et PHP

Dans cette partie, on va parler de la configuration PHP et Apache afin que le projet puisse bien marcher sur votre environnement local.

On va revenir sur MAMP, en haut à gauche, vous allez cliquer sur :

MAMP > Preferences

Preferences MAMP

On a plusieurs onglets qui va nous être utile afin de configurer notre MAMP.

Dans l’onglet Ports, vous allez modifier les ports en cliquant sur « Set Web & MySQL ports to 80 & 3306« , ce sont les ports qui correspondent à http (80 et 443 pour https) et MySQL (3306) par défaut dans les configurations sur les serveurs.

Préference MAMP Port

Dans l’onglet PHP, vous allez choisir quelle version PHP vous voulez utiliser pour votre environnement local.

Le cache est optionnel mais utile si vous savez l’utiliser et le configurer. Pour ma part je mets 7.2.14.

Préference MAMP PHP

Pour l’onglet Web Server, vous pouvez choisir si vous voulez être sur Apache ou Nginx, pour cet article on va utiliser Apache.

Préference MAMP WebServer

Le reste des onglets « MySQL » et « Cloud » ne sont pas utiles pour votre configuration de votre environnement local.

Désormais vous pouvez fermer cette onglet et cliquer sur « Stop Server » puis « Start Server » (voir premier Screenshot de MAMP).

Maintenant que vous avez configurer MAMP, vous allez configuré pour que votre projet marche sur votre environnement local.

VHost – CLI

Définitions :

  • VHost : VirtualHost permet d’héberger plusieurs sites (nom de domaines) sur un serveur ou sur votre ordinateur.
  • CLI : Command-Line Interface => interface en ligne de commande

Dans un premier temps, on va créer votre VHost pour votre projet. Ce qui est pratique c’est qu’on peut en créer autant qu’on veut pour notre environnement local puisqu’il y aura uniquement vous qui pourra accéder à cette URL custom.

Ouvrez un terminal et faites : « sudo nano /etc/hosts« 

Vos hosts de votre Mac

Vous allez ajouter comme ci-dessus : « 127.0.0.1 todolist.dev »

Oui c’est long

Explication :

  • 127.0.0.1 : Est votre IP local qui permet de communiquer directement sur votre Mac.
  • todolist.dev : Est votre domaine custom accessible uniquement sur votre Mac.

Maintenant qu’on a crée une URL custom, vous allez créer une redirection grâce à Apache.

On aura besoin de modifier un fichier pour pouvoir créer des VHosts plus simplement.

Ouvrez le fichier situé dans le chemin suivant : /Application/MAMP/conf/apache/httpd.conf

Puis décommentez la ligne 575 chez moi (enlever le # qui se situe avant Include) :

#Include /Applications/MAMP/conf/apache/extra/httpd-vhosts.conf

Sauvegardez, puis fermez ce fichier, désormais vous allez ouvrir le fichier qui se situe dans le chemin suivant : /Application/MAMP/conf/apache/extra/httpd-vhosts.conf

Vhost sur MAMP

Comme dans une configuration Apache sur un serveur distant, vous allez créer votre VirtualHost (VHost), sur le port standard http (80) avec le nom de votre domaine que vous avez déclaré dans /etc/hosts pour ma part todolist.dev.

Puis le DocumentRoot, pour un projet Symfony 3.4+, le fichier index.php se situe dans le dossier public, il contient aussi un .htaccess qui permet de rien ajouter en plus sur mon fichier de VHost.

Maintenant que vous avez fini, il suffit de sauvegarder, fermer, relancer le serveur en faisant sur MAMP : « Stop Server » – « Start Server« .

Enjoy vous pouvez désormais travailler sur votre environnement local avec une URL propre à votre site en local pour ma part http://todolist.dev/

Désormais localhost n’est plus une URL pour vos sites :D.