Skip to research

Installation de Symfony 4 en local avec Vagrant et Laravel Homestead

Momento della lettura
Circa 3 minuti

Update des outils

Depuis la dernière fois j'ai upgradé Vagrant, parce que j'étais sur la version 1.9.7 mais pour utiliser la box Laravel Homestead il faut au minimum avoir la version 2.0 de vagrant. Je conseille la 2.1.2, j'ai essayé avec les autres mais cela ne fonctionne avec mon matériel qu'a partir de celle-ci.
 

c:\Program Files\Oracle\VirtualBox>VboxManage -v
5.1.36r122416

c:\Program Files\Oracle\VirtualBox>vagrant -v
Vagrant 2.1.2

 

Dossier de travail

Dans votre Workspace de travail, créer un dossier dédié à Symfony. Nous concentrerons tous nos développements Symfony dans ce dossier.
 

cd C:\Users\mm\Documents\tdb\workspace\worksymfony

 

Installation de la box

Une fois dans ce dossier, installons The Homestead Vagrant Box
Vous pouvez vous rendre sur la doc Laravel pour avoir plus d'information.

vagrant box add laravel/homestead
C:\Users\tontonmodule\Documents\Workspace
λ vagrant box add laravel/homestead
==> box: Loading metadata for box 'laravel/homestead'
    box: URL: https://vagrantcloud.com/laravel/homestead
This box can work with multiple providers! The providers that it
can work with are listed below. Please review the list and choose
the provider you will be working with.

1) hyperv
2) parallels
3) virtualbox
4) vmware_desktop

Enter your choice: 3

Cette action réalisée, téléchargeons la Homestead avec Git.

git clone https://github.com/laravel/homestead.git Homestead


Cette action va prendre quelques minutes. Puis rendez-vous dans le dossier homestead.
 

C:\Users\mm\Documents\tdb\workspace\worksymfony                                               
λ cd Homestead\                                                                               
                                                                                              
C:\Users\mm\Documents\tdb\workspace\worksymfony\Homestead
λ                                                                                             

 

Initiation de la box

Lorsque vous êtes dans le dossier homestead, il faut initialiser notre projet.

// Mac / Linux...
bash init.sh

// Windows...
init.bat

Cette initialisation va créer le fichier Homestead.yaml à la racine de notre projet, que nous allons configurer.

Homestead.yaml

 

Configuration de la box

Voici la configuration.
 

---
# L'on peut personnaliser le nom de notre box
# Très utile lorsqu'on a plusieurs box
name: mm-homestead
ip: "192.168.10.11"
memory: 2048
cpus: 1
provider: virtualbox

# L'on renseigne la clé ssh
authorize: ~/.ssh/id_rsa.pub
keys:
    - ~/.ssh/id_rsa

# L'on map notre url, puis le dossier public de notre environnement
folders:
    # l'on map le dossier racine de notre dossiers workspace Symfony
    - map: C:/Users/mm/Documents/tdb/workspace/symfonywork
      to: /home/vagrant/code
sites:
    - map: symfonywork.mm
      # Attention, le nom de dossier /symfonywork/ doit correspondre 
      # avec le nom de dossier ou seront installés les fichiers 
      # source de votre projet Symfony
      to: /home/vagrant/code/symfonywork/public

# Le systeme va créer une base de donnée
databases:
    - symfonywork

 

Host

Puis rendez-vous dans la configuration de votre HOST pour la gestion de l'accès au site en utilisant une jolie url tel que symfonywork.mm.
Pour Mac and Linux /etc/hosts, pour Windows C:\Windows\System32\drivers\etc\hosts

192.168.10.11 symfonywork.mm

 

Vagrant up and ssh

Une fois la configuration éditée, lancer un vagrant up dans le dossier homestead et laisser travailler le temps qu'il faut.

vagrant up

Une fois votre environnement installé, lancer un vagrant ssh, toujours dans le dossier homestead, pour vous connectez au serveur.
 

C:\Users\mm\Documents\tdb\workspace\worksymfony\Homestead
λ vagrant ssh
Welcome to Ubuntu 18.04.1 LTS (GNU/Linux 4.15.0-45-generic x86_64)

 _                               _                 _
| |                             | |               | |
| |__   ___  _ __ ___   ___  ___| |_ ___  __ _  __| |
| '_ \ / _ \| '_ ` _ \ / _ \/ __| __/ _ \/ _` |/ _` |
| | | | (_) | | | | | |  __/\__ \ ||  __/ (_| | (_| |
|_| |_|\___/|_| |_| |_|\___||___/\__\___|\__,_|\__,_|

* Homestead 8.0.0 released! PHP 7.3 is now the default!
* Settler v7.0.0 released! Make sure you update
* Need PHP 5.6 or 7.0? Homestead 7.x Settler 6.4.0

0 packages can be updated.
0 updates are security updates.


Last login: Fri Feb  8 20:46:24 2019 from 10.0.2.2
vagrant@homestead:~$

vagrant@homestead:~$ ls
code
vagrant@homestead:~$ cd code/ 
vagrant@homestead:~/code$ ls  
Homestead        
vagrant@homestead:~/code$     

Si tout c'est bien passé, en exécutant la commande ls, pour lister les éléments du fichier courant, vous devez voir le dossier code, puis en rentrant dans le dossier code, le contenu dossier worksymfony que l'on a créé dans notre dossier Workspace de travail.

 

Installation de Symfony 4

Maintenant nous allons installer Symfony 4.
Nous nous sommes connecté en ssh, nous nous sommes placé dans le dossier code, puis nous lançons la commande d'installation de Symfony.
Attention vous devez vous placer dans le dossier vagrant@homestead:~/code$, au même niveau que le dossier worksymfony du dossier Workspace.

composer create-project symfony/website-skeleton symfonywork

A la fin de l'installation, sans lancer de server:run, rendez-vous sur votre url, symfonywork.mm, pour disposer de votre application.

Bon développement, Enjoy.

 

Illustration : Capture d'écran Jupiter : Le Destin de l'univers