Crear Vagrant Box

=Boxes=

Se asume que en el hipervisor ya esta instalado virtualbox y vagrant. Y la maquina virtual que se quiere convertir a box ya esta instalada en virtualbox.

=Usuario vagrant en la VM=

Por convencion, tanto en ubuntu como en centOS:

1- El password del superusuario "root" debe ser "vagrant".

2- Debe haber un usuario comun "vagrant" con password "vagrant"

3- El hostname debe ser vagrant-

Ej: vagrant-trusty64 para ubuntu 14.04 de 64 bits

=Usuario vagrant en sudoers=

Como usuario root en CentOS y Ubuntu: groupadd admin usermod -G admin vagrant visudo   #este comando abre el archivo sudoers

Y el archivo sudoers, editar de la siguiente manera: env_keep="SSH_AUTH_SOCK"   #agregar esta opcion %admin ALL=NOPASSWD: ALL   #agregar esta linea
 * 1) Defaults requiretty       #comentar la linea de defaults requiretty

=Añadir Public Key de Vagrant=

Como usuario vagrant. En ubuntu y en centOS: wget https://raw.githubusercontent.com/mitchellh/vagrant/master/keys/vagrant.pub mkdir .ssh mv vagrant.pub .ssh/authorized_keys chmod 0700 .ssh chmod 0600 .ssh/authorized_keys

=Habilitar OpenSSH=

CentOS: yum install openssh-server service sshd start chkconfig sshd on netstat -tulpn | grep :22

Ubuntu: apt-get install -y openssh-server vi /etc/ssh/sshd_config

Asegurarse de que estas configuraciones estén puestas: Port 22 PubKeyAuthentication yes AuthorizedKeysFile %h/.ssh/authorized_keys PermitEmptyPasswords no

Guardar el archivo y reiniciar el servicio service ssh restart

=Instalar VBoxGuestAdditions=

Cualquier CentOS 6.X:

Utilizar version 4.3.10.

En la ventana de la VM ir a Devices => Insert Guest Additions CD image

O realizar manualmente: mkdir /media/VBoxGuestAdditions mount -r /dev/cdrom /media/VBoxGuestAdditions /media/VBoxGuestAdditions/VBoxLinuxAdditions.run

CentOS 7:

Utilizar version 4.3.14.

En la ventana de la VM ir a Devices => Insert Guest Additions CD image

O realizar manualmente: mkdir /media/VBoxGuestAdditions mount -r /dev/cdrom /media/VBoxGuestAdditions /media/VBoxGuestAdditions/VBoxLinuxAdditions.run


 * 1) Si falla lo anterior, realizar update e instalar headers correctos, despues probar de nuevo ejecutar el VBoxLinuxAdditions.run.

yum update rpm -Uvh http://dl.fedoraproject.org/pub/epel/beta/7/x86_64/epel-release-7-0.2.noarch.rpm; yum -y install dkms kernel-devel-$(uname -r) kernel-headers-$(uname -r);

Cualquier Ubuntu 12.04 para adelante: apt-get install dkms apt-get install -y build-essential linux-headers-server mount -r /dev/cdrom /media/cdrom /media/cdrom/VBoxLinuxAdditions.run


 * 1) Si ocurre un error(es posible que un simlink falte), probar:

sudo ln -s /opt/VBoxGuestAdditions-4.3.10/lib/VBoxGuestAdditions /usr/lib/VBoxGuestAdditions /etc/init.d/vboxadd setup ./media/cdrom/VBoxLinuxAdditions.run

=Problema frecuente con locales=

Reparar locales en server default sudo locale-gen en_US.UTF-8 sudo dpkg-reconfigure locales

=Vagrant package=

Al finalizar, crear el box con el comando

vagrant package --base SPECIFIC_NAME_FOR_VM --output /yourfolder/OUTPUT_BOX_NAME.box