94 lines
2.9 KiB
Markdown
94 lines
2.9 KiB
Markdown
### 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](https://laravel.com/docs/homestead).
|
|
|