VAGRANT. Administración de Sistemas Informáticos y Redes I.E.S Jacarandá Brenes (Sevilla). Proyecto Integrado 2º Ciclo - ASIR 2015



Documentos relacionados
Guía de uso del Cloud Datacenter de acens

INSTALACIÓN DE UBUNTU SERVER 12.4 EN MÁQUINA VIRTUAL

VIRTUALBOX (MAQUINA VIRTUAL)

COMO CONFIGURAR UNA MAQUINA VIRTUAL EN VIRTUALBOX PARA ELASTIX

Instituto Tecnológico de Las América. Materia Sistemas operativos III. Temas. Facilitador José Doñe. Sustentante Robín Bienvenido Disla Ramirez

GIT Dinahosting 3. Hola!

INSTALACIÓN DE GITLAB

Manual hosting acens

Accede a su DISCO Virtual del mismo modo como lo Hace a su disco duro, a través de:

TUTORIAL DE INSTALACIÓN PARA VIRTUALBOX

1 Itinerario. 2 Descripción y funcionalidades principales. Google Docs. 1.1 Qué vamos a hacer? 1.2 Qué pasos vamos a seguir?

CONFIGURACIÓN DE LOS EQUIPOS PARA CONEXIÓN A LA RED INALÁMBRICA CON EL SISTEMA OPERATIVO LINUX

Proceso de cifrado. La fortaleza de los algoritmos es que son públicos, es decir, se conocen todas las transformaciones que se aplican al documento

INSTALACIÓN DE UBUNTU SERVER 12.4 EN MÁQUINA VIRTUAL

TEMA 1: SISTEMAS INFORMÁTICOS. Parte 3: sistemas operativos

Manual de NetBeans y XAMPP

Unidad 0. Preparación del material. Implantación y administración remota y centralizada de Sistemas Operativos. Manuel Morán Vaquero

Guía de Instalación del servicio de BackupOnline de Idecnet. Indice

Instalación del sistema operativo Microsoft Windows Server 2008 Standard Edition x86

Servidor Apache. Instalación Configuración Apache con Webmin 24/03/2014. Vicente

Instalar PhotoGestión en un Mac con VirtualBox

Configuración de la red

Cómo instalar un sistema operativo en VirtualBox

Servidor FTP en Ubuntu Juan Antonio Fañas

UNIDAD DIDACTICA 13 INICIAR SESIÓN EN LINUX DE FORMA REMOTA

WINDOWS : TERMINAL SERVER

Cómo instalar fácilmente tu WordPress tras contratar un hosting en Hostalia

Instalación de Microsoft Virtual PC

Servicio de Informática Vicerrectorado de Tecnologías de la Información y la Comunicación

Manual instalación Windows 8. Instalar Windows 8 paso a paso

MANUAL TÉCNICO DE IMPLEMENTACIÓN PROYECTO SOCIAL COMPUESCUELA. Elaborado por: Julián A. Hernández M.

Microsoft Windows Server 2008 Hyper-V

Informática 4º ESO Tema 1: Sistemas Informáticos. Sistemas Operativos (Parte 2)

Notas para la instalación de un lector de tarjetas inteligentes.

Instalación de Tomcat7 en Ubuntu

Instituto Tecnológico Las Américas (ITLA) Sistemas Operativos 3 (SO3) Daniel Alejandro Moreno Martínez. Matrícula:

Desarrollo de WordPress con Vagrant

INSTALACIÓ N A3ERP. Informática para empresas INTRODUCCIÓN CONSIDERACIONES GENERALES DE LA INSTALACIÓN PAQUETES DE INSTALACIÓN PREDEFINIDOS

Manual de instalación Actualizador masivo de Stocks y Precios

Software Criptográfico FNMT-RCM

Administración de portales Joomla (III)

MANUAL COPIAS DE SEGURIDAD

Tipos de conexiones de red en software de virtualizacio n: VirtualBox y VMware

Podemos descargar la distribucion de gnu/linux de los repositorios de Ubuntu

En este caso presionamos ENTER para empezar nuestra instalación

Arsys Backup Online Manual de Usuario

ANÁLISIS DE HERRAMIENTAS PARA CLONAR DISCOS DUROS

Sitios remotos. Configurar un Sitio Remoto

Programa de encriptación WIFI.

Práctica 1 SISTEMAS OPERATIVOS. Introducción...

Acá vamos a ocuparnos de cómo realizar la instalación de una red intra-aula sobre Linux, concretamente en la distribución de GNU/Linux Ubuntu 9.04.

10. El entorno de publicación web (Publiweb)

Manual de uso de la plataforma para monitores. CENTRO DE APOYO TECNOLÓGICO A EMPRENDEDORES -bilib

Para este caso vamos a suponer que son los siguientes:

Sugar en Windows. Creación de una máquina virtual con la imagen de Sugar. Autor. Versión Fecha Setiembre Ubicación

Escritorio remoto y VPN. Cómo conectarse desde Windows 7

CIF-KM. GUÍA DE LOS PRIMEROS PASOS

REQUISITOS DE HARDWARE...

El almacén: sistema de archivos

Cómo acceder a Google Drive? Tiene más funcionalidades una cuenta de Google?

SISTEMAS OPERATIVOS. Instalación

Programa diseñado y creado por Art-Tronic Promotora Audiovisual, S.L.

Guía nuevo panel de clientes Hostalia

UNIVERSIDAD AUTÓNOMA DE SINALOA FACULTAD DE INGENIERÍA MOCHIS LIC. EN INGENIERÍA DE SOFTWARE MATERIA: REDES Y COMUNICACIÓN DE DATOS GRUPO: 401

Archivo de correo con Microsoft Outlook contra Exchange Server

Profesor: José Luis Di Biase

1. Cambia el fondo del Escritorio

Maquinas virtuales Conceptos Básicos

Sección 1: Introducción al Modo Windows XP para Windows 7

Cómo tener tu Tumblr con un domino propio

INSTALACIÓN A3ERP INTRODUCCIÓN CONSIDERACIONES GENERALES DE LA INSTALACIÓN PAQUETES DE INSTALACIÓN PREDEFINIDOS

Manual de software. Dynamic Cloud. 10/2014 MS-Dynamic_Cloud v1.2

Curso 2º SMR Módulo: SOR Sesión 6 SAMBA: Creando usuarios y grupos en Zentyal

Servicio de Informática

Protocolo Traslado_envío datos personales

INSTALACIÓN FIREWALL IPCOP

Internet Information Server

Configuración de PDAs en ITACTIL.

Paso 1 - Servidor de correo en Ubuntu: Instalar Apache 2

Apéndice 5 Manual de usuario de ColeXión. ColeXión 1.0. Manual de usuario

Instalación de un servidor con HldsUpdateTool

índice in the cloud BOX

MANUAL TARIFICADOR. Clic aquí Descargar Tarificador

Manual de iniciación a

5.2.- Configuración de un Servidor DHCP en Windows 2003 Server

Instrucciones de instalación de TrueCode

MANUAL DE CONFIGURACIÓN PARA EL ACCESO A RECURSOS-e RED DE BIBLIOTECAS DEL INSTITUTO CERVANTES

Gerencia de Proyectos Estratégicos e Información Gerencial

Tutorial: Primeros Pasos con Subversion

Qué ventajas presenta Google Drive para catedráticos y alumnos?

PEDRO REVERTE GÓMEZ SERVICIOS DE RED E INTERNET / IMPLANTACIÓN DE APLICACIONES WEB 2º ASIR

Instalar XAMP en modo gráfico

Herramientas de. Sistemas Informáticos I.E.S. Virgen de la Paloma

Manual DISCO VIRTUAL. Gemelo Backup Online DESKTOP

Máquinas virtuales (VMWare, Virtual PC, Sandbox. Qué son y para qué sirven. (DV00402A)

Introducción a la extensión de scripting en gvsig 2.0

Transcripción:

Administración de Sistemas Informáticos y Redes I.E.S Jacarandá Brenes (Sevilla). 1 Iván Sánchez Orejuela

Índice: Administración de Sistemas Informáticos y Redes IES Jacarandá Brenes (Sevilla). 1 1. Introducción 3 1.1 Objetivos: 3 2. Descripción 4 2.1 Detalles de herramientas utilizadas 4 2.2 Topología 4 2.3 Hardware y Software 4 3. Instalación y Configuración 5 3.1. Instalar Vagrant en Linux 5 3.2. Instalar VirtualBox en Linux 5 4. Utilización 6 4.1. Box 6 4.2. Comandos Vagrant 6 4.3. Creación de box e instalación de máquina virtual Vagrant 7 4.4. Plugins en Vagrant - Snapshot 8 5. Creación de Plantillas 9 5.1. Debian 7 Configuración 9 5.1.1. Debian 7 Creación de Plantilla 11 5.2. Windows 7 Creación de Plantilla 12 5.2.1. Conexión con vagrant entorno gráfico 12 6. Repositorio Local 13 6.1. Instalación y configuración de Apache 13 7. Manual de Usuario 14 7.1. Instalación con vagrant desde un cliente 15 7.2. Configuración para Windows interfaz gráfica 16 7.3. Configuración y conexión ssh en Linux 17 8. BIBLIOGRAFÍA 18 2 Iván Sánchez Orejuela

1. Introducción En una gran cantidad de organizaciones dedicadas especialmente al desarrollo software existen numerosos inconvenientes a la hora de crear un entorno de desarrollo, ya que, se dedica mucho tiempo a la creación y configuración de los entornos cada vez que queramos utilizarlos. Podríamos encontrar numerosos fallos de incompatibilidades, además, para el desarrollador se puede encontrar en una situación muy común de querer probar su código y que sólo funcione en su propia máquina. Por eso, la intención de este proyecto es llegar a mejorar los inconvenientes nombrados anteriormente y conocer otras ventajas que nos aporta esta potente herramienta llamada Vagrant. Por qué Vagrant te hace la vida más fácil? Como administradores de sistemas, la labor es que los sistemas para usuarios y, en este caso para desarrolladores, funcionen a la perfección. Al crear tu máquina virtual desde cero y adaptar un entorno de desarrollo a tus necesidades te llevará algún tiempo, pero una vez lo tengas preparado, con Vagrant puedes permitirte el lujo de compartir tus máquinas creadas de forma muy sencilla sin volver a repetir una y otra vez la misma tarea ahorrando mucho tiempo. También, los desarrolladores pueden ejecutar el código creado exactamente en la misma máquina con lo que permitirá agilizar el trabajo para ellos y evitar errores de incompatibilidades. Vagran te permite trabajar en modo Cloud Computing si dispones de un servidor con las herramientas necesarias que se nombraran a continuación, también puedes tener una carpeta compartida para publicar documentación entre compañeros de la misma organización si deseas trabajar en modo simultáneo. 1.1 Objetivos El objetivo de este proyecto se centra en: Su instalación en sistemas GNU/Linux y Mac OS X y la utilización mediante línea de comandos. Descarga e instalación de máquinas virtuales desde el repositorio de vagrant, donde dispones de más de 250 máquinas con entornos de desarrollo predefinidos para ser utilizados en cualquier momento. Instalación de plugins para mejorar aún más este software. Creación de máquinas virtuales con VirtualBox, Windows 7 y Debian 7, desde el principio, y su configuración para ser utilizadas por vagrant donde queramos. Exportación de las máquinas creadas Windows y Linux, se crearán plantillas de las máquinas configuradas para disponer de ellas en cualquier computadora que usemos Vagrant. Creación de un repositorio web local en nuestro servidor, para que los usuarios de la red que usen vagrant puedan descargar e instalar las máquinas desde su navegador con facilidad. 3 Iván Sánchez Orejuela

2. Descripción Vagrant fue creada por Mitchell Hashimoto en 2010, que desde 2012 es propiedad de su propia compañía HashiCorp. Esta herramienta nos facilita considerablemente la creación y administración en entornos de desarrollo completos basados en máquinas virtuales, apto para sistemas operativos GNU/Linux, Mac OS X y Microsoft Windows. Es de código abierto y está escrita en el lenguaje de Ruby, pero se puede usar en multitud de proyectos escritos en otros lenguajes, tales como PHP, Phyton, Java, C# y JavaScript. Originalmente se desarrolló para ser utilizada por Virtual Box, aunque desde la versión 1.1 es posible trabajar con otras soluciones de virtualización como VMware, Hyper-V, LXC, Amazon EC2... Para obtener más información puedes visitar su web: Leer más sobre Vagrant 2.1 Detalles Este proyecto está diseñado mediante un ordenador portátil que virtualiza un Servidor Ubuntu 10.04.4 TLS. Aquí es donde se encuentran las máquinas administradas por Vagrant, el repositorio web local y el software Virtual Box que las virtualiza a todas. 2.2 Topología En esta topología se muestra con más claridad, cómo y con qué dispositivos se consigue este proyecto: 2.3 Hardware y Software utilizados Hardware Ordenador Portátil Mac Book Pro i5, 4Gb de RAM, arquitectura 64 bits. *Es necesario disponer de un buen rendimiento hardware para trabajar con virtualización. Software VMware para Mac, Virtual Box y Vagrant para el Servidor Ubuntu 10.04.4 TLS. 4 Iván Sánchez Orejuela

3. Instalación y Configuración La instalación es muy sencilla, sólo debemos entrar en el sitio web y descargar el archivo de instalación, que en nuestro caso, es un.deb para linux. También disponible para Mac OS X y Windows. Vagrant Descargas Antes de instalar, es recomendado actualizar el sistema Linux: aptitude update && aptitude upgrade -y 3.1. Instalar Vagrant en Linux Nos situamos en el directorio descargas e instalamos con dpkg -i el paquete: cd /home/vagrant/descargas/ ~/Descargas$ sudo dpkg -i vagrant_1.7.2_x86_64.deb 3.2. Instalar VirtualBox en Linux Vamos a instalar la herramienta para virtualización de máquinas. Para ello visitamos el sitio web de VirtualBox, y descargamos el archivo.deb para nuestra distribución de Linux. En nuestro caso es la versión más actual virtualbox-4.3.24. Virtual Box Descargas Ejecutamos el archivo descargado con dpkg -i ~/Descargas$ sudo dpkg -i virtualbox-4.3_4.3.24-98716~ubuntu~lucid_amd64.deb Así quedaría nuestro entorno de virtualización para nuestro anfitrión Ubuntu 10.04: 5 Iván Sánchez Orejuela

4. Utilización La administración y configuración de máquinas con Vagrant, puede llegar a ser muy extensa, por lo que se van a indicar los pasos necesarios para interactuar con las máquinas predefinidas en VirtualBox, y para descargar y gestionar desde los repositorios disponibles que ahora se mostrarán a continuación. 4.1. Box Box, en resumen es una máquina virtual empaquetada, que a su vez, es un fichero que contiene la base para crear las máquinas virtuales y la configuración. La box se puede crear para poder desplegar máquinas virtuales que estén definidas en nuestro VirtualBox del servidor, o bien se puede crear desde numerosas imágenes disponibles en un repositorio público de vagrant. vagrant box <subcomando> [argumentos] Gestiona las boxes creadas en el sistema. Para este proyecto debemos conocer estos comandos: add añade una nueva box list lista las boxes disponibles remove Borra la box indicando el nombre 4.2. Comandos Vagrant Vagrant [opciones] <comandos> [<argumentos>] vagrant add box <nombre_máquina> <URL:// Path/VirtualMachine.box> vagrant init <nombre-box> - Inicia el fichero Vagrantfile para configuración de la máquina. vagrant up - Inicia la máquina con la configuración de Vagrantfile en el directorio actual. vagrant halt - Detiene la máquina pero mantiene los cambios realizados. vagrant reload - Reinicia la máquina y verifica los valores de Vagrant file por si han sido modificados al encender la máquina con la nueva configuración establecida. vagrant version - Muestra la versión de vagrant que estamos utilizando. vagrant resume - Resume una máquina que ha sido anteriormente suspendida con vagrant suspend. vagrant destroy - Detiene la máquina virtual y destruye los cambios que podamos haber hecho. vagrant suspend - Suspende la máquina virtual. vagrant ssh - Nos conecta por SSH a la máquina virtual en cuestión. vagrant ssh-config - Muestra el estado de la configuración ssh establecida en la máquina. vagrant status - Muestra el estado de las máquinas levantadas con Vagrant. vagrant package - Exporta maquinas virtuales en.box. Este comando se detalla más adelante. 6 Iván Sánchez Orejuela

4.3. Creación de box e instalación de máquina virtual Vagrant En este apartado se crea una nueva box, con una máquina disponible en los repositorios que ofrece: www.vagrantbox.es Aquí podemos encontrar muchas distribuciones de sistemas operativos, además con herramientas previamente instaladas para facilitarnos el trabajo. Así no tendremos que instalar máquinas desde 0 cargando nuestra ISO del sistema en la máquina virtual y hacernos pasar mucho tiempo. Este repositorio permite la instalación directa de una máquina virtual desde la web pública, sólo con lanzar unos comandos tendremos nuestra máquina funcionando. Nos dirigimos a la página previamente indicada, seleccionamos nuestra versión a instalar, en mi caso Ubuntu precise 32 para VirtualBox, y copiamos el link de la máquina. Creamos un directorio para almacenar la box : mkdir VirtualMachines/UbuntuPrecise32 cd VirtualMachines/UbuntuPrecise32 Creamos la box, añadimos el nombre que vamos a asignar a la máquina y copiamos el link: vagrant box add UbuntuPrecise32 http://files.vagrantup.com/precise32.box Iniciamos indicando el nombre de la máquina. Esto generará un archivo Vagrantfile que permite la configuración de la máquina virtual, que podemos configurar a nuestro gusto. Desde el reenvío de puertos, configuración de redes e interfaces, limite de memoria, entre otras configuraciones. vagrant init UbuntuPrecise32 Tendremos nuestra máquina corriendo sólo ejecutando: vagrant up No todo son pasos adelante, y con esto me refiero a que se creó un contratiempo que además es un fallo muy común. Al ejecutar Vagrant up tenía un error; El módulo del kernel no está cargado En el mismo error nos aportaba como solucionarlo y era con la siguiente instrucción: sudo /etc/init.d/vboxdrv setup Si no está el servicio instalado descargamos desde los repositorios Linux y ejecutamos de nuevo: aptitude install dkms 7 Iván Sánchez Orejuela

Una vez solucionado el error de kernel ejecutamos de nuevo vagrant up para iniciar la máquina y para conectarnos a Ubuntuprecise32, nos tenemos que conectar por ssh: vagrant ssh Conexión ssh - desde Ubuntu Server a UbuntuPrecise32 "Nueva Máquina Virtual". 4.4. Plugins en Vagrant - Snapshot Una funcionalidad que potencia mucho la herramienta Vagrant son los plugins. Podemos instalar numerosas herramientas adicionales, pero una que me llamó mucho la atención ha sido vagrant-vbox-snapshot. Es muy útil para poder administrar mejor nuestras máquinas virtuales y poder guardar los estados. Para instalar el plugin: vagrant plugin install vagrant-vbox-snapshot vagrant snapshot <Opción> <[Máquina Virtual]> ó [Nombre] take - Crea el snapshot list - Lista todos los snapshots back - Vuelve al estado del snapshot anterior. Delete - Borra el snapshot go - La máquina comienza desde el snapshot indicado. Para una mejor explicación se ha realizado un snapshot a UbuntuPrecise32: Plugins -Creación de un snapshot a UbuntuPrecise32. 8 Iván Sánchez Orejuela

5. Creación de Plantillas Unas de las funcionalidades que nos aporta Vagrant, es que podemos exportar en el formato.box con la opción vagrant package para poder utilizar las máquinas virtuales en cualquier momento, instalarla como previamente se ha visto en el apartado 4.3 y poder utilizarla o compartirla con quien quieran. En cierto modo, debemos realizar una serie de configuraciones en función de cómo vamos a utilizar las máquinas. Si vamos a crear una máquina, que al ejecutarla se despliegue el entorno gráfico como veremos a continuación, es muy sencillo, pero si queremos conectarnos desde Vagrant por ssh a la máquina en cuestión, si que debemos realizar unos pasos que recomienda la documentación de Vagrant. Lo primero será instalar dos máquinas desde la Iso en nuestro VirtualBox del Servidor Ubuntu 10.04. Por una parte Windows7 con entorno gráfico y por otra, Debian 7 sin entorno gráfico. Además Vagrant recomienda añadir la primera red que sea de tipo NAT, disco virtual de tipo (VMDK) y no activar bluetooth ni otras funcionalidades que no vayamos a usar. Vamos a saltar los pasos de instalación de las máquinas desde cero y sólo nos centraremos en la configuraciones para poder conectarnos con Vagrant. 5.1. Debian 7 Configuración Una vez instalado el sistema Debian 7, debemos asegurarnos que los invitados puedan ejecutar esta máquina. VirtualBox te recomienda que antes de empezar instales las Guest Additions. Para comprobar si nuestro kernel es compatible ejecutamos: sudo /etc/init.d/vboxadd setup Tras varios intentos y fallos al cargar el kernel se solucionó a través de la página de VirtualBox ejecutando los siguientes comandos, para compilar las propiedades de los invitados: aptitude remove dkms build-essential linux-headers-* aptitude install dkms build-essential linux-headers-`uname -r` Mediante nuestra unidad de cd disponible en nuestra máquina - Debian > Dispositivos > Seleccionamos e intentamos cargar los módulos del kernel de nuevo: sudo /etc/init.d/vboxadd setup Actualizamos el software: sudo aptitude update && sudo aptitude upgrade -y 9 Iván Sánchez Orejuela

Debemos tener un usuario vagrant en el sistema de Debian y además añadirlo a la configuración de sudo para que tenga permisos de administración y no requiera la contraseña: #Añadimos la siguiente líena a nuestro fichero /etc/sudoers vagrant ALL=(ALL) NOPASSWD:ALL Reiniciamos la configuración sudo para asignar valores añadidos: sudo /etc/init.d/sudo restart Para tener una conexión cómoda con la máquina desde el invitado, debemos Instalar: "Vagrant public keys", paquete procedente de git hub que permite a todos conectarse vía ssh. Con el usuario vagrant creamos el directorio para la clave y la descargamos en él: mkdir -p /home/vagrant/.ssh cd /home/vagrant/.ssh wget --no-check-certificate https://raw.github.com/mitchellh/vagrant/master/keys/vagrant.pub -O /home/vagrant/.ssh/authorized_keys Asignamos permisos al fichero y directorio una vez lo tengamos descargado: chmod 0700 /home/vagrant/.ssh chmod 0600 /home/vagrant/.ssh/authorized_keys chown -R vagrant /home/vagrant/.ssh Instalamos ssh en la máquina: sudo aptitude install openssh-server Modificamos el fichero /etc/ssh/sshd_config y nos aseguramos que cumple con esta configuración: Puerto 22 PubKeyAuthentication yes #Descomentamos la linea siguiente AuthorizedKeysFile %h/.ssh/authorized_keys PermitEmptyPasswords no Reiniciamos el servicio ssh y listo. 10 Iván Sánchez Orejuela

5.1.1. Debian 7 Creación de Plantilla Ahora, se crea una plantilla desde la máquina configurada anteriormente Debian7. Se hace con V agrant package y permite hacer un clon completo de Debian 7 de extensión.box, que es el tipo de extensión que interpreta Vagrant como máquina virtual para instalarse en su computadora para este software. Se crea otro directorio para almacenar las máquinas que se van a exportar en.box con package: mkdir VirtualMachines/templates cd VirtualMachines/templates Exportamos Debian 7 [- - base] Se indica el nombre de la máquina creada por VirtualBox. [--output] Indica el directorio de salida y el nombre para el archivo.box. vagrant package --base Debian7 --output Debian7.box Ya tenemos nuestra plantilla a partir de una máquina virtual creada en VirtualBox desde cero disponible para entornos que usen Vagrant. Lo siguiente (por estar más seguros), es crear una box para la máquina exportada en nuestro servidor. Así probaremos la configuraciones realizadas en Debian 7 para conectarnos con Vagrant y hacer un test a la máquina por si existen fallos en la conexión ssh. Antes de compartir esta plantilla con el resto: Los procesos se han descrito previamente en el apartado 4.3. La única diferencia es que en vez de añadir la máquina por Url se hace en modo local y tendríamos que indicar la ruta al fichero Debian7.box generado anteriormente. En mi caso: vagrant package --base Debian7 --output VirtualMachines/templates/Debian7.box Iniciamos la conexión y en el proceso de inicio pedirá la contraseña ssh predefinida para el usuario vagrant: Inicio de la plantilla Debian7.box en una nueva box por ssh con vagrant. Ubuntu Server 10.04 11 Iván Sánchez Orejuela

5.2. Windows 7 Creación de Plantilla Vamos a exportar la máquina Windows 7 creada desde cero con la Iso en VirtualBox. Como en el caso anterior de Debian indicamos el nombre de la máquina en VirtualBox y la ruta con el nombre que queremos exportar en.box. Se crea la plantilla Windows7 con package: vagrant package --base Windows7 --output VirtualMachines/templates/Windows7.box Exportando Windows 7 con vagrant package. Este proceso suele durar varios minutos 5.2.1. Conexión con vagrant entorno gráfico Si podéis comprobar, en este caso no se ha realizado ninguna configuración ssh para windows, como anteriormente en Linux. Esto es porque Windows no utiliza clientes ssh. Si lo queremos, debemos investigar un poco en la documentación de Vagrant, ya que con Putty tienes los medios para que se puedan utilizar máquinas windows con la conexión vagrant ssh. Mi objetivo en este apartado es conocer otra funcionalidad que nos aporta Vagrant, ya que puedes desde la linea de comandos desplegar el entorno gráfico de la máquina en cuestión. Al ejecutar vagrant up para encender la máquina, automáticamente se muestra la ventana de VirtualBox con la máquina iniciada en modo gráfico. Cómo se hace? Editando en fichero Vagrantfile generado por el comando vagrant init Nombremáquina. Para disponer de dicha funcionalidad, debes configurarlo antes de iniciar la máquina cada vez que vayas a instalarla por primera vez. Debemos des comentar en el fichero la siguiente configuración por defecto: config.vm.provider "virtualbox" do vb vb.gui = true end 12 Iván Sánchez Orejuela

6. Repositorio Local En este apartado vamos a poner a disposición nuestras plantillas.box creadas anteriormente, para que los clientes de nuestra red local puedan instalar estas máquinas como si se tratase del repositorio público de Vagrant. Se puede hacer de varias formas. En mi caso decidí hacerlo mediante web para que sea más intuitivo para los usuarios de la red, instalando en nuestro Servidor Ubuntu el servicio de Apache y enviando las imágenes.box al directorio público. 6.1. Instalación y configuración de Apache Instalamos apache2 en nuestro sistema Linux: sudo aptitude install apache2 Creamos un directorio para alojar el contenido público de las imágenes.box: sudo mkdir /var/www/repositorio Movemos las platillas creadas del directorio templates al nuevo directorio repositorio: sudo mv VirtualMachines/templates/Debian7.box Windows7.box /var/www/repositorio Asignamos permisos al directorio y sub directorios de www: sudo chown -R www-data:www-data /var/www/ Creamos una sencilla página web en html donde se explican los pasos para instalar máquinas, y el link disponible para copiar y pegar en el comando de Vagrant. Imitando el repositorio de vagrantbox. Ahora todos los usuarios que se encuentren en la misma red que el Servidor local, disponen de este repositorio accediendo desde el navegador con el siguiente enlace: 172.16.0.10/repositorio/maquinas.html 13 Iván Sánchez Orejuela

7. Manual de Usuario Los usuarios deben saber, que este tutorial consiste en conocer la utilización de un repositorio local creado en nuestro Servidor local Ubuntu, y de como instalar máquinas desde este repositorio con Vagrant. Si has llegado a este punto, como usuario debe saber que para utilizar Vagrant puede descargarlo desde la propia web y un software de virtualización como VirtualBox, apartado 3. La demostración del funcionamiento en este caso, como cliente, se hace desde un sistema Mac OS X. Vagrant en Mac funciona completamente igual que en Linux, ya que Mac OS X se basa en el mismo kernel de Linux y el software Vagrant. La única diferencia es la instalación en cuanto a Linux, aunque se basa en seguir los pasos de instalación dmg. 14 Iván Sánchez Orejuela

7.1. Instalación con vagrant desde un cliente Accedemos al Servidor Web Ubuntu desde nuestro navegador a la dirección: IP - Servidor Web Ubuntu / repositorio / maquinas.html 172.16.0.10/repositorio/maquinas.htm Seleccione la máquina Windows en este caso y copie el link 'crtl+c'. Diríjase a su terminal y ejecute el comando para crear una nueva box en el directorio que usted prefiera, en este caso: Ejemplo: MacIS:~ ivansanchez$ cd Downloads/vagrant/ Cree una nueva box en el directorio que se encuentre, y desde el directorio podrá controlar su máquina virtual con vagrant. Esto suele tardar unos minutos. Vagrant box add <NombreaElegir> <URLelegida> Ejemplo: vagrant box add Windows7 http://172.16.0.10/repositorio/windows7.box Cree el fichero Vagrantfile una vez se le haya descargado la imagen: Vagrant init <NombreElegido> Ejemplo: vagrant init Windows 7 Ejecute para iniciar la máquina: vagrant up 15 Iván Sánchez Orejuela

7.2. Configuración para Windows interfaz gráfica La ejecución anterior ha generado el fichero Vagrantfile en el directorio en el que se encuentra. Este fichero puede ser modificado a su gusto para ciertas tareas como; configuración de red, re-dirección de puertos, carpetas compartidas, interfaz gráfica, entre muchos otros que se pueden configurar en el lenguaje de Ruby. En ciertos casos, en el primer inicio de la máquina el script de inicio de Vagrant le pedirá que le indiques la tarjeta de red que vas a usar, con lo cual se configura automáticamente la red como en el siguiente caso. En nuestro caso, con Windows 7 vamos a iniciar la máquina en modo gráfico, sólo para esto, se necesitaba configurar este fichero des comentando las siguientes lineas que el fichero generado contiene por defecto: Configuración del fichero Vagrantfile generado. Des comentar las lineas. Para iniciar windows sólo tenemos que escribir el siguiente comando y listo: vagrant up En esta captura de escritorio, podemos apreciar la máquina Windows ejecutada con Vagrant, además, el script de Vagrant de inicio nos ha pedido la tarjeta de red que queremos asignar a esta máquina pulsando el número correspondiente que aparece, en mi caso elegí: 1, en0: Ethernet ASIR : 16 Iván Sánchez Orejuela

7.3. Configuración y conexión ssh en Linux Debes realizar las mismas operaciones que se hicieron anteriormente como ejemplo para windows, copiar la Url que apunta a Debian7 del repositorio y ejecutar los comandos necesarios hasta iniciar la máquina. Una vez tengas la máquina descargada e iniciada, tendrás otro archivo Vagrantfile que podrás configurar a tu gusto, aunque no es necesario para que tenga la conexión vía ssh, esto está previamente configurado por el administrador que te proporciona la máquina. Añadiendo Debian7 desde el repositorio local con Vagrant en Mac. En el mismo directorio en el que creamos la box establecemos conexión ssh con Debian7: vagrant ssh Una vez establecida la conexión, podemos disfrutar de nuestra máquina Debian7 descargada desde el repositorio local en un tiempo estimado de 5 minutos: Conexión ssh desde Mac a Debian7 Una vez tenga su máquina funcionando es muy fácil gestionar sus máquinas virtuales con Vagrant. Para más detalles, todo se complementa con el punto 4 visto anteriormente o la documentación de Vagrant. 17 Iván Sánchez Orejuela

8. BIBLIOGRAFÍA www.vagrantup.com.org 18 Iván Sánchez Orejuela