Mostrando entradas con la etiqueta vagrant cmder windows virtualbox vm. Mostrar todas las entradas
Mostrando entradas con la etiqueta vagrant cmder windows virtualbox vm. Mostrar todas las entradas

12.08.2014

Configurando Vagrant sobre Windows

Introducción

Vagrant funciona sobre varios sistemas operativos como MacOS X, Windows, Debian, Ubuntu, CentOS, RedHat, Fedora y más. En esta página se seguirá los pasos para tener una máquina virtual de Debian mediante Vagrant sobre Windows.

Entorno Windows

Para ejecutar Vagrant y la máquina virtual en un entorno Windows, vamos a seguir las siguientes secciones

  • Instalación de Vagrant 
  • Instalación de Oracle VirtualBox 
  • Instalación del emulador de consola CMDER 
  • Creación de la carpeta para las máquinas Vagrant 
  • Creación de la caja Debian-docker 
  • Creación de la máquina virtual
  • Configuraciones de la máquina virtual
  • Ejecución de la máquina virtual
  • Conección ssh a la máquina virtual
  • Suspendiendo y apagando la máquina virtual

Instalación de Vagrant

Primero descargamos el instalador de Vagrant de http://www.vagrantup.com/downloads.html y lo ejecutamos.

La instalación es simple, cuando pregunte sobre la ruta de instalación como vamos a usar la línea de comandos se recomienda usar una ruta corta, por ejemplo en la guía usaremos “D:\Vagrant”.

Instalación de Oracle VirtualBox

Ahora debemos instalar la versión más actual de VirtualBox del siguiente enlace https://www.virtualbox.org/wiki/Downloads

Con la instalación por defecto está bien.

Instalación del emulador de consola CMDER

Por defecto Windows no cuenta con un emulador de consola y un cliente ssh, hay varias aplicaciones para esto, nostros usaremos un emulador liviano llamado CMDER, tiene buenas funcionalidades incluyendo git y para los que están acostumbrados a la consola de Linux se sentirán como en casa.

Debemos descargar la versión completa de CMDER en el siguiente enlace http://bliker.github.io/cmder

Para ejecutarlo solo hay que descomprimir el archivo descargado en una carpeta y ejecutar Cmder.exe

Se recomienda configurar “Control de Acceso de Usuarios (CAU)” en la opción de "Nunca notificar". En Windows 7 en adelante debería encontrarse siguiendo el orden: Panel de control -> Systema y Seguridad -> Configuraciones de control de acceso de usuarios.

Los siguientes pasos se harán usando CMDER.

Creación de la carpeta para las máquinas Vagrant

Por facilidad, crearemos las carpetas dentro de D:\\Vagrant

Primero una carpeta llamada Proyectos y dentro una que contendrá nuestra máquina virtual de Debian-docker

C:\
λ cd D:\
D:\
λ cd Vagrant
D:\Vagrant
λ mkdir Proyectos
D:\Vagrant
λ mkdir Proyectos\Debian-docker
D:\Vagrant
λ cd Proyectos\Debian-docker
D:\Vagrant\Proyectos\Debian-docker
λ

Creación de la caja Debian-docker

No siempre es necesario empezar desde cero, descargaremos una caja lista que tiene Debian 8 y algunos ajustes listos para funcionar con Docker.io

D:\Vagrant\Proyectos\Debian-docker
λ vagrant box add williamyeh/debian-jessie64-docker --provider virtualbox
==> box: Loading metadata for box 'williamyeh/debian-jessie64-docker'
    box: URL: https://vagrantcloud.com/williamyeh/debian-jessie64-docker
==> box: Adding box 'williamyeh/debian-jessie64-docker' (v1.2.0) for provider: virtualbox
    box: Downloading: https://vagrantcloud.com/williamyeh/debian-jessie64-docker/version/5/provider/virtualbox.box    
    box: Progress: 100% (Rate: 482k/s, Estimated time remaining: --:--:--)
==> box: Successfully added box 'williamyeh/debian-jessie64-docker' (v1.2.0) for 'virtualbox'!
Por defecto nos crea una imagen llamada williamyeh/debian-jessie64-docker, la renombraremos a debian-docker mediante los siguientes comandos

D:\Vagrant\Proyectos\Debian-docker
λ vagrant box repackage williamyeh/debian-jessie64-docker virtualbox 1.2.0
D:\Vagrant\Proyectos\Debian-docker
λ vagrant box add debian-docker package.box --provider virtualbox
==> box: Adding box 'debian-docker' (v0) for provider: virtualbox
    box: Downloading: file://D:/Vagrant/Proyectos/Debian-docker/package.box
    box: Progress: 100% (Rate: 526M/s, Estimated time remaining: --:--:--)
==> box: Successfully added box 'debian-docker' (v0) for 'virtualbox'!

Podemos listar las cajas que tenemos
D:\Vagrant\Proyectos\Debian-docker
λ vagrant box list
debian-docker                     (virtualbox, 0)
williamyeh/debian-jessie64-docker (virtualbox, 1.2.0)

Creación de la máquina virtual

En la ubicación actual inicializaremos una máquina virtual basada en la caja debian-docker creada anteriormente

D:\Vagrant\Proyectos\Debian-docker
λ vagrant init debian-docker
A `Vagrantfile` has been placed in this directory. You are now
ready to `vagrant up` your first virtual environment! Please read
the comments in the Vagrantfile as well as documentation on
`vagrantup.com` for more information on using Vagrant.
D:\Vagrant\Proyectos\Debian-docker
λ ls
Vagrantfile
Inicializando la máquina virtual va a crear un archivo de configuración llamado Vagrantfile que "hereda" las configuraciones de la caja usada para su inicialización, en este caso debian-docker.
Este archivo contendrá cualquier configuración específica como memoria, red, carpetas compartidas, etc.

Configuraciones de la máquina virtual

Antes de ejecutar la máquina virtual, vamos a cambiar algunas configuraciones editando el archivo Vagrantfile con el editor de texto de nuestra preferencia.


D:\Vagrant\Proyectos\Debian-docker
λ NotePad Vagrantfile
Localizamos la parte de inicio de configuración “do |config|”. Desde la siguiente línea podemos configurar todo lo que deseemos.

Lo primero que haremos será crear una carpeta compartida en la máquina virtual llamada vagrant para que apunte a la misma ubicación donde se levanta dicha máquina.
Para esto añadimos la siguiente línea dejando saltos de línea arriba y abajo de la misma.

    config.vm.synced_folder"D:\\Vagrant\\Proyectos\\Debian-docker\\", "/media/vagrant"

Ejecución de la máquina virtual

Ahora es momento de iniciar nuestra máquina virtual.

D:\Vagrant\Proyectos\Debian-docker
λ vagrant up
Bringing machine 'default' up with 'virtualbox' provider...
==> default: Clearing any previously set forwarded ports...
==> default: Clearing any previously set network interfaces...
==> default: Preparing network interfaces based on configuration...
    default: Adapter 1: nat
==> default: Forwarding ports...
    default: 22 => 2222 (adapter 1)
==> default: Running 'pre-boot' VM customizations...
==> default: Booting VM...
==> default: Waiting for machine to boot. This may take a few minutes...
    default: SSH address: 127.0.0.1:2222
    default: SSH username: vagrant
    default: SSH auth method: private key
    default: Warning: Connection timeout. Retrying...
    default: Warning: Remote connection disconnect. Retrying...
==> default: Machine booted and ready!
==> default: Checking for guest additions in VM...
==> default: Mounting shared folders...
    default: /vagrant => C:/Users/Taoshi/Vagrant_Projects/Jessie-Docker
    default: /media/vagrant => C:/Users/Taoshi/Vagrant_Projects/Jessie-Docker
==> default: Machine already provisioned. Run `vagrant provision` or use the `--provision`
==> default: to force provisioning. Provisioners marked to run always will still run.

Podemos verificar el estado de la máquina

D:\Vagrant\Proyectos\Debian-docker
λ vagrant status
Current machine states:
defaultrunning (virtualbox)
The VM is running. To stop this VM, you can run `vagrant halt` to
shut it down forcefully, or you can run `vagrant suspend` to simply
suspend the virtual machine. In either case, to restart it again,
simply run `vagrant up`.

Conección ssh a la máquina virtual

Vagrant permite conexión ssh nativa hacia las máquina virtuales en ejecución.

D:\Vagrant\Proyectos\Debian-docker
λ vagrant ssh
Linux debian-8-amd64 3.13-1-amd64 #1 SMP Debian 3.13.5-1 (2014-03-04) x86_64
The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.
Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
No LSB modules are available.
Distributor ID: Debian
Description:    Debian GNU/Linux testing (jessie)
Release:        testing
Codename:       jessie
vagrant@debian-8-amd64:~$


Podemos trabajar como en toda consola bash, para salir lo hacemos con el comando exit

vagrant@debian-8-amd64:~$ exit
logout
Connection to 127.0.0.1 closed.
C:\Vagrant\Proyectos\Debian-docker
λ

Suspendiendo y apagando la máquina virtual


Cuando no deseemos usar la máquina virtual, podemos suspenderla o apagarla.


D:\Vagrant\Proyectos\Debian-docker
λ vagrant suspend
D:\Vagrant\Proyectos\Debian-docker
λ vagrant halt
En cualquiera de los dos casos la reactivamos mediante vagrant up
D:\Vagrant\Proyectos\Debian-docker
λ vagrant up

Eso es todo lo básico para tener nuestras máquinas virtuales mediante Vagrant bajo Windows.

Comando del día: dominios de un servidor WHM desde linea de comandos

Si se quiere obtener los dominios y subdominios (no dominios adicionales o addon domains ) por usuario propietario (resellers): whmapi1 li...