2024-06-25 17:01:22 +02:00

2.9 KiB

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.