Créer une machine virtuelle Linux sous windows avec Vagrant
Créer une machine virtuelle Linux sous windows avec Vagrant
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.
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 :
Besoins | CONFIGURATION/installation |
---|---|
OS Linux | PuPHPet (Ubuntu/Centos) |
Serveur web Apache, Mysql | PuPHPet |
PHP (composer, Drush) | PuPHPet language PHP 5.6 + composer + Drush |
PhpMyAdmin | Plus dispo sur le GUI + Adminer |
Git | PuPHPet System package + git |
SSH Key | bootstrap.sh (en cours voir puphpet\files\dot) |
Ruby (Compass, Sass, Less) | PuPHPet Ruby + gems |
SolR et/ou Elastic Search | PuPHPet 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.
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.
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 !
Catégorie
Tags
- Androïd
- Apache
- Ardour
- Atom
- bash
- BEM
- Bootstrap
- calDAV
- carDAV
- Casque
- Cheat sheet
- CKEditor
- Commerce
- Compass
- Composer
- CSS
- Docker
- docker4drupal
- Drupal
- Drupal 7
- Drupal 8
- DrupalVM
- Drush
- faderport
- Fancy
- Features
- Font-awesome
- Git
- Github
- GitLab
- GNU
- grid
- Hacking
- htaccess
- html5
- Imce
- Jack
- Javascript
- jplayer
- jQuery
- Lavalamp
- Less
- Lightning
- Linux
- locahost
- memtest usb .img .iso
- Music
- Mysql
- Omega
- owncloud
- Pageant
- Parallax
- php
- phpMyAdmin
- Portainer
- Puphpet
- Putty
- Regex
- Responsive
- Samba
- Sass
- Sécurité
- SEO
- Solcalendar
- Solr
- ssh
- suggestions
- Taxonomy display
- TouchDaw
- Traefik
- Utilitaire
- Vagrant
- vidéo
- VirtualBox
- vlc
- Wamp
- Webform