Vagrant: carpetas sincronizadas en host Windows y guest Ubuntu

En el desarrollo web de casi cualquier proyecto te acabas encontrando con la necesidad de tener un entorno de pruebas lo más parecido al que será el real de producción. Las ventajas son muchas y si estás leyendo esto seguramente ya las conoces :).

Vagrant sobre VirtualBox es una opción muy recomendable si queremos disponer de un sistema completo pero con la flexibilidad de una máquina virtual. En el ejemplo que os propongo vamos a partir de un Vagrantfile preconfigurado con varios componentes muy útiles para no tener que empezar desde cero: Vaprobash.

Vaprobash permite crear un entorno LAMP sin tener que cambiar ni una línea, pero sin duda necesitaremos configurar alguna carpeta sincronizada entre el sistema host (en este ejemplo Windows 10) y la máquina virtual que manejará Vagrant (Ubuntu). En mi caso compartiré la ruta donde tengo todos los proyectos web.

Vaprobash trae por defecto la configuración siguiente:

# Use NFS for the shared folder
config.vm.synced_folder ".", "/vagrant",
  id: "core",
  :nfs => true,
  :mount_options => ['nolock,vers=3,udp,noatime,actimeo=2,fsc']

Es decir, monta la carpeta del sistema host que contiene el fichero Vagrantfile en la ruta “/vagrant” del sistema guest. Respecto de las diferentes vías que nos da Vagrant para sincronizar carpetas indica que utilice “nfs” (que al menos en mi caso falló miserablemente). Solución recomendada: instalar el plugin vagrant-winnfsd.

vagrant plugin install vagrant-winnfsd

Ahora sólo queda añadir tantos bloques como carpetas queramos sincronizar entre nuestro equipo y la máquina virtual:

config.vm.synced_folder "D:/iurdiales/PhpstormProjects", "/home/www",
   id: "www",
   :nfs => true,
   :mount_options => ['nolock,vers=3,udp,noatime,actimeo=2,fsc']

Resumiendo: añadimos nuestra ruta local (cuidado con separar las carpetas correctamente con “/”) y la ruta en la que se montará en la máquina virtual. Recargamos la configuración de vagrant y listo.

Más sobre carpetas sincronizadas en la documentación oficial: Vagrant – Synced Folders

Deja un comentario