Créer une machine virtuelle Linux sous windows avec Vagrant

Créer une machine virtuelle Linux sous windows avec Vagrant

Lundi, Décembre 19, 2016

Créer une machine virtuelle(VM) Linux avec VirtualBox est bien plus performant pour simuler un serveur de développement que WAMP.
Les avantages sont nombreux :
- Les programmes de développements (apache, mysql, nodeJs, ruby, solr, composer, etc.) ne sont plus installés sur votre machine hôte windows qui reste saine.
- Drupal s'exécute bien plus rapidement sur une VM.
- Utilisation de commandes bash Linux permet l'installation et l'utilisation rapide d'outils comme drush, compass, gulp etc...
- Permet de se familiariser avec l'environnement Linux/apache qui est certainement le plus répandu des serveur web en production.

Ce qui peut rebuter c'est qu'administrer un tel serveur peut demander du temps. Mais il existe des outils qui peuvent créer pour nous cet environnement avec un minimum de connaissances.


 

VirtualBox

VirtualBox permet donc d'émuler un ou plusieurs PC de différents type tournant sous Linux, MacOsX ou windows. Des Machine Virtuelles (VM)
(si vous possédez déja virtualBox, mettez à jour VirtualBox avec la dernière version)

Commencer par installez VirtualBox


Vagrant

Vagrant permet quand a lui de deployer et gérer des virtualBox sous forme de fichiers config. une VM gérée avec Vagrant est appelée une "boxe".
Voici quelques commandes Vagrant de base :
vagrant up Déploie une boxe suivant les fichiers de config.
vagrant provision  Permet de modifier les paramètres si besoin après la boxe créée.
vagrant ssh Permet d'envoyer des commandes linux à la VM directement sans passer par un programme de connections à distance comme putty.exe

Installez Vagrant
 

Vagrantfile

Le fichier Vagrantfile est un fichier config (écrit en Ruby) indiquant à Vagrant la version d'OS, packages et modules, etc. qu'il devra installer dans notre nouvelle VM.
 

Créer une VM avec vagrant

J'explique ci-dessous plusieurs façons de faire mais actuellement je préfère utiliser drupalVM décrit plus bas.


PuPHPet.com

Ce site web est un configurateur GUI qui va créer pour nous les fichiers de configurations (vagrantfile) nécessaires à Vagrant pour créer et provisionner la boxe.

Voici la liste de mes besoins identifiés actuellement pour développer et les moyens de les mettres en oeuvre sur ma VM grâce à Vagrant et PuPHPet :

BesoinsCONFIGURATION/installation
OS LinuxPuPHPet (Ubuntu/Centos)

Serveur web Apache, Mysql

PuPHPet
PHP (composer, Drush)PuPHPet language PHP 5.6
+ composer
+ Drush
PhpMyAdminPlus dispo sur le GUI
+ Adminer
GitPuPHPet System package + git
SSH Keybootstrap.sh (en cours
voir puphpet\files\dot)
Ruby (Compass, Sass, Less)PuPHPet Ruby + gems
SolR et/ou Elastic SearchPuPHPet search engine
NodeJS (Gulp , Bower)PuPHPet language nodeJS + npm packages
  

Une fois votre archive téléchargé et dézipé, se placer dans le répertoire ou se trouve le fichier vagrant avec Git Bash ou cmd.exe et lancer vagrant avec la commande vagrant up.
Vagrant va ainsi télécharger l'OS et les packages puis paramètrer le serveur comme souhaité. Cela peut prendre plusieurs minutes et demande de valider certains messages de sécurité et du part-feu windows.

 

Vagrant cloud

Visitez vagrant cloud. C'est l'écosystème Vagrant ou vous trouverez des boxes toutes prêtes.

Placez-vous dans un repertoire de votre choix avec le bash lancer la commande :
vagrant init beet/box; vagrant up --provider virtualbox

vous allez ainsi obtenir la machine virtuelle dans VirtualBox.

 

DrupalVM

Le projet DrupalVM est une vagrant boxe développée pour Drupal et semble être une bonne solution avec une documentation assès complète.
Il peut surtout installer Drupal 7/8 et ses modules grâce à composer. Pour plus d'info lire ce post


Se connecter en SSH à la VM

Pour commander votre VM sous linux, plusieurs façons de faire :

Rapide :
(Important : Ne fonctionne que pour une VM gérée par vagrant.
Utilisez Git bash (installer Git pour windows) plutôt le cmd.exe de windows.
Placez-vous à la racine du répertoire de votre VM (ou se trouve le fichier vagrantfile) dans le menu clic-droit windows choisir "git bash".
Une fois dans le git bash, tapez vagrant ssh. Vagrant vous connecter directement en ssh à votre VM (pas de mot de passe ssh requis) et vous pouvez maintenant saisir les commandes à votre machine linux.
(cochez "Mode d'édition rapide" dans les propriété de git bash pour permettre la sélection et le coller par clic droit)
 


Optimal : Utiliser un client SSH comme putty. Cette solution est privilegiée car identique à une connection à un serveur distant de production.
Installer Putty, puis le configurer avec l'ip 192.168.88.88 (pour drupalVM) et le port (22) Connecter vous puis saisissez comme login:vagrant password:vagrant
 

Bienvenue sur le blog !

Il s'agissait au départ d'un recueil de notes donc certains billets sont plutôt succincts.
J'espère que vous y trouverez l'info qu'il vous manque dans votre recherche.
Vos commentaires sont les bienvenus.

Bonne lecture !

Mois / Années

Recherche