Laravel Homestead
Ceci est une adaptation des distributions officielles, pour le montage d'un environnement de développement complet sur un ordinateur personnel.
Préparation du déploiement
Clôner le dépôt sur la machine.
Dans le fichier Homestead.yaml
, décommenter les lignes suivantes et renseigner :
authorize: ## Le chemin de la clé publique de la machine ##
keys:
- ## Le chemin de la clé privée de la machine ##
folders:
- map: ## Le répertoire de montage pour le code du projet (à créer sur la machine) ##
to: /home/vagrant/code
Création de la VM
Depuis la racine du dépôt, lancer l'import de la box et son provisionning avec vagrant up
Création d'un projet Laravel
Se connecter au terminal de la VM depuis la racine du dépôt, avec vagrant ssh
.
Pour le premier projet, récupérer l'installeur :
composer global require laravel/installer
Puis, construire le projet au niveau du point de montage entre la VM et la machine :
cd code
laravel new test_app
Possibilité de choisir un starter kit (pas utile pour tester), un système de test, d'initialiser immédiatement un dépôt git pour le projet...
Quand prompt, sélectionner MySQL comme SGBD. Ne PAS demander à faire automatiquement les premières migrations.
Configuration de la base de données
Une fois connecté en root (mysql -u root
), créer l'utilisateur de l'application et la base de données de cette dernière :
CREATE USER 'admin_test'@'%' IDENTIFIED BY 'mdp_test';
CREATE DATABASE test_app;
GRANT ALL PRIVILEGES ON test_app.* TO 'admin_test'@'%';
FLUSH PRIVILEGES;
Ensuite, dans les fichiers du projet au niveau du point de montage, aller éditer dans le fichier .env
:
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=test_app
DB_USERNAME=admin_test
DB_PASSWORD=mdp_test
Première migration
Réaliser la première migration (utilisation des classes du code pour structurer la base de données) :
cd test_app
php artisan make:migration 1st_tables
php artisan migrate
Démarrage du serveur web et connexion
Démarrer le serveur web de la VM avec :
php artisan serve --port=8000 --host=0.0.0.0
L'application est alors accessible via : http://192.168.56.56:8000/
Ressources officielles
Laravel Homestead is an official, pre-packaged Vagrant box that provides you a wonderful development environment without requiring you to install PHP, a web server, or any other server software on your local machine. No more worrying about messing up your operating system! Vagrant boxes are completely disposable. If something goes wrong, you can destroy and re-create the box in minutes!
Homestead runs on any Windows, Mac, or Linux system, and includes the Nginx web server, PHP, MySQL, Postgres, Redis, Memcached, Node, and all of the other goodies you need to develop amazing Laravel applications.
Official documentation is located here.