Vagrant – Homestead – Laravel 5.5
L’objectif de cette suite de tutoriels sur Laravel 5.5 est de permettre au développeur Web de déployer une API REST de qualité sur le Net.
La première étape consiste à mettre en place les outils et l’environnement de développement.
Tel que proposé sur le site du cadriciel Laravel, la machine virtuelle Homestead sera utilisée conjointement avec Vagrant et Virtual Box.
1 – Notes avant de débuter
Cette procédure a été testée sur GNU Linux et Mac OS X.
Logiciels à installer
Favoriser le logiciel libre
Il est proposé de passer à GNU Linux pour toute la durée du cours.
Une partition dédiée à ce système d’exploitation est conseillée.
À propos de Homestead
Homestead est la machine virtuelle favorite pour les développeurs Web qui utilisent le cadriciel Laravel. Découvrez Homestead :
Le symbole $
Le symbole $ signifie que la commande doit être exécutée dans un terminal. Pour $ cd home, il faut exécuter la commande « cd home »
Le symbole ~
Le symbole ~ représente le dossier personnel de l’utilisateur actif. Sur Windows, il doit être remplacé par c:\users\nomutilisateur
En cas de problème
En cas de problème d’installation avec Vagrant, référez-vous à la procédure d’installation officielle sur le site de Laravel.
2 – Installer et configurer Vagrant et Homestead
Télécharger les logiciels essentiels
- Télécharger et installer VirtualBox
- VirtualBox vous permettra de virtualiser des systèmes d’exploitations. Dans notre cas, GNU Linux sera virtualisé.
- Télécharger et installer Vagrant
- Vagrant permet de simplifier la gestion de vos machines virtuelles. Vous pourrez installer et configurer facilement votre machine Linux à partir de la ligne de commande.
- Télécharger et installer Git
- En plus de Git, il est conseillé d’installer Git Bash. Vous pourrez donc accéder à quelques commandes GNU Linux essentielles à partir de Windows (ssh-keygen).
Ajouter la machine virtuelle (box) Homestead
Ouvrir un terminal afin d’exécuter quelques commandes qui vous permettront de configurer la machine virtuelle de développement Homestead.
$ vagrant box add laravel/homestead
# Sélectionner VirtualBox
# Cette étape pourrait prendre quelques minutes. La machine Homestead sera téléchargée et configurée pour vous.
$ cd ~
$ git clone https://github.com/laravel/homestead.git ~/Homestead
$ cd ~/Homestead
$ bash init.sh # sur GNU Linux
$ init.bat # sur Windows
Explorer le fichier de configuration Homestead.yaml
Lancer Vagrant dans le dossier où se trouve Homestead.yaml
$ vagrant up
Vous pouvez maintenant vous connecter à la machine de développement
$ vagrant ssh
Si la commande ne fonctionne pas, il vous faut créer une clé SSH.
Sur Linux ou avec Git Bash.
$ ssh-keygen -t rsa -C « you@homestead »
Note pour les utilisateurs de Windows
Une fois connecté via SSH, tester les commandes suivantes :
$ php -v
$ composer -version
$ npm -v
$ yarn -v
Vous devriez avoir accès aux versions récentes de tous ces logiciels utiles au développement de votre application web.
Modifier le fichier Homestead.yaml afin d’y ajouter le site info.test
Note
Il est important de conserver l’indentation dans les fichiers .yaml.
Un niveau d’indentation correspond à 4 espaces.
Homestead.yaml – sur Linux
folders:
– map: ~/www
to: /home/vagrant/www
Confirmer que l’attribut folders est bien configuré. Cet attribut permet de définir le dossier local qui sera partagé avec la machine virtuelle. Vous devez donc créer le dossier www à la racine de votre dossier personnel.
Homestead.yaml – sur Windows
folders:
– map: c:/users/guillaume/codevagrant
to: /home/vagrant/codevagrant
Note : Attention aux chemins avec espace ou avec caractères accentués (é, è, ç, …). Ces chemins pourraient vous donner du fil à retordre.
Ajouter le site info.test dans le fichier de configuration Homestead.yaml
sites:
– map: info.test
to: /home/vagrant/www/info/
vagrant provision pour actualiser votre configuration
Suite à la modification du fichier yaml, il est recommandé de lancer la commande provision pour mettre à jour les changements sur votre VM.
$ vagrant provision
$ vagrant reload –provision
Tester le bon fonctionnement de votre configuration Homestead avec un script PHP
Déposer un fichier index.php dans votre dossier /info/
Configurer un nom de domaine
Configurer le nom de domaine pour le nom de domaine info.test
Cette étape permet de créer un nom de domaine virtuel sur votre poste. Vous pourrez donc entrer info.test dans votre navigateur afin d’accéder à votre application web en développement. Cela évite d’entrer une adresse plus difficile à retenir comme http://localhost/nomDeMonApp. De plus, l’application sera hébergée à la racine du nom de domaine et non dans un sous-dossier. Cette configuration est donc similaire à celle d’une application en production.
Modifier le fichier hosts
GNU Linux ou Mac
$ sudo nano /etc/hosts
Pour Windows
c:\winows\System32\drivers\etc\hosts
Ajouter la ligne suivante :
192.168.10.10 info.test
# 192.168.10.10 correspond à l’adresse IP de votre serveur de développement. Cette adresse est spécifiée dans le fichier Homestead.yaml.
# info.test correspond au nom de domaine de test. Vous avez la liberté de choisir le nom qui vous plaît (monapp.com, api.app, atomrace.com, …).
Tester dans votre navigateur
La dernière étape consiste à vérifier si le nom de domaine ainsi que le script fonctionnent correctement. En ouvrant votre navigateur à l’adresse suivante, vous devriez obtenir une page avec la configuration PHP du serveur.
- http://info.test/index.php
Commandes Vagrant utiles
$ vagrant up
$ vagran up –provision
$ vagrant reload –provision
$ vagrant halt
$ vagrant global-status
$ vagrant ssh
$ vagrant ssh-config
Créer un nouveau nom de domaine pour votre API REST
Modifier le fichier Homestead.yaml afin d’y ajouter le site api.test.
Créer un nouveau site (/www/api) avec le nom de domaine api.test.
Y déposer le fichier api.php
$data = array(‘fruits’ => [‘pomme’, ‘banane’, ‘kiwi’, ‘bleuet’]);
header(‘Content-Type: application/json’);
echo json_encode($data);
?>
Tester dans votre navigateur
- http://api.test/api.php
Finalement, installer Postman et lancer une requête GET vers l’API REST :
- GET http://api.test/api.php
Bravo!
Bravo, votre environnement de développement avec Homestead, Vagrant, PHP, MySQL est fonctionnel.
Configurons une application qui utilise le cadriciel Laravel.
Références et lectures
- https://www.getpostman.com/
- https://github.com/symfony/symfony/
- https://vagrantup.com/downloads.html
Configuration d’une application Laravel 5.5
Maintenant que votre environnement de développement est fonctionnel, la prochaine étape consiste à installer et configurer le cadriciel Laravel 5.5.
Facebook Comments