Creación y personalización de una máquina virtual con vagrant


Creación y personalización de una máquina virtual con vagrant modificando el archivo vagrantfile

oscar Escrito por oscar 10 April 2025 247 1

En este post explicaré y daré el paso a paso de como crear y personalizar una máquina virtual con Vagrant, esto incluye desde el inicio del proyecto hasta una configuración personalizada, usando VirtualBox como proveedor.

Antes de iniciar recomiendo leer

🛠️ Requisitos previos

Antes de comenzar, asegúrate de tener instalado:

📁 Crear el proyecto y el Vagrantfile

Primero que todo necesitamos un proyecto nuevo para trabajar, este proyecto es el que vamos a personalizar la maquina explicando los parámetros básicos que debemos colocarla a una máquina en virtualbox (proveedor de vagrant)

Abre una terminal y crea una carpeta para tu proyecto:

mkdir mi-maquina-vagrant 

cd mi-maquina-vagrant

vagrant init bento/ubuntu-24.04

Este comando:

  • Crea un directorio para tu máquina virtual.

  • Inicializa un archivo Vagrantfile usando la box de Ubuntu 18.04 (ubuntu/bionic64).

⚙️ Personalizar el Vagrantfile

procedemos a editar el Vagrantfile generado para personalizar la máquina virtual. Aquí tienes un ejemplo completo y comentado:

Nota: en el siguiente enlace tiene la documentación de los parámetros que se pueden modificar en el vagrantfile.

Vagrant.configure("2") do |config| 
    
    # Imagen base 
    config.vm.box = "bento/ubuntu-24.04" 
    
    # Nombre personalizado para la máquina 
    config.vm.hostname = "mi-servidor" 
    
    # Red privada con IP fija 
    config.vm.network "private_network", ip: "192.168.56.20" 
    
    # Carpetas sincronizadas 
    config.vm.synced_folder "./proyecto", "/home/vagrant/proyecto" 
    
    # Configuración de recursos (RAM, CPU) 
    config.vm.provider "virtualbox" do |vb| 
        vb.name = "MiMaquinaPersonalizada" 
        vb.memory = "2048" vb.cpus = 2 
    end
    
    # Script de aprovisionamiento (instala Apache y Git) 
    config.vm.provision "shell", inline: <<-SHELL echo "Provisionando la máquina..." apt-get update apt-get install -y apache2 git systemctl enable apache2 SHELL 
end 

🚀 Levantar la máquina virtual

Una vez configurado el Vagrantfile, en la terminal:

vagrant up 

Esto hará que:

  • Se descargue la box de Ubuntu si no la tienes.

  • Se cree una máquina virtual en VirtualBox.

  • Se configure red, memoria, carpetas compartidas, etc.

  • Se ejecute el aprovisionamiento (instalación de paquetes).

🔧 Acceder a la máquina

Para conectarte vía SSH:

vagrant ssh 

Ya estás dentro de la máquina virtual lista para usar.

🧹 Otros comandos útiles

Comando Qué hace
vagrant halt Apaga la VM
vagrant reload Reinicia la VM y aplica cambios del Vagrantfile
vagrant provision Vuelve a ejecutar el script de aprovisionamiento
vagrant destroy Elimina la VM completamente
vagrant status Muestra el estado de la VM

✅ Resultado

Con esta configuración tienes:

  • Una máquina virtual Ubuntu con 2 GB de RAM y 2 CPUs.

  • Acceso por IP privada 192.168.56.20.

  • Un servidor Apache instalado automáticamente.

  • Una carpeta sincronizada entre el host y la VM (./proyecto/home/vagrant/proyecto).


Comentario

Debe aceptar antes de enviar
oscardevops
oscardevops

14 April 2025 08:27

Estas son las versiones de ubuntu que se pueden usar para crear la maquina virtual

✅ ubuntu/focal64: Ubuntu 20.04 LTS (Focal Fossa) 64-bit   

✅ ubuntu/jammy64: Ubuntu 22.04 LTS (Jammy Jellyfish) 64-bit    

✅ ubuntu/bionic64: Ubuntu 18.04 LTS (Bionic Beaver) 64-bit