Por eso es buena idea creértelos tu mismo desde una instalación personalizada. Y pensando en voz alta si eres una persona como yo que utiliza muchos servidores de MySql o PostgreSQL o entornos LAMP puedes crearte un entorno personalizado por ejemplo en MySql y levantar servidores de MySql para realizar pruebas rápidamente desde Vagrant.
Pero vamos al lio!!
Lo primero es crear una máquina virtual con Virtualbox, voy a crear un servidor Ubuntu Server 24.04.3, la ultima versión de momento.
Si no queréis hacer todo el proceso de configuración de la máquina virtual desde virtualbox os dejo un script en bash para hacerlo, solo tenéis que cambiar las rutas y nombre de la máquina virtual
#!/bin/bash
VM_NAME="ubuntu-server-24.04.03"
ISO_PATH="/home/depruebas/Descargas/distros/ubuntu-24.04.3-live-server-amd64.iso"
VBOX_PATH="/home/depruebas/VirtualBox VMs/$VM_NAME"
DISK_PATH="$VBOX_PATH/${VM_NAME}.vdi"
# Crear VM
VBoxManage createvm --name "$VM_NAME" --ostype Ubuntu_64 --register
# Crear disco
VBoxManage createmedium disk --filename "$DISK_PATH" --size 80000
# Añadir almacenamiento
VBoxManage storagectl "$VM_NAME" --name "SATA Controller" --add sata --controller IntelAhci
VBoxManage storageattach "$VM_NAME" --storagectl "SATA Controller" --port 0 --device 0 --type hdd --medium "$DISK_PATH"
# Añadir lector de CD con la ISO
VBoxManage storagectl "$VM_NAME" --name "IDE Controller" --add ide
VBoxManage storageattach "$VM_NAME" --storagectl "IDE Controller" --port 0 --device 0 --type dvddrive --medium "$ISO_PATH"
# Configurar red y memoria
VBoxManage modifyvm "$VM_NAME" --ioapic on
VBoxManage modifyvm "$VM_NAME" --memory 2048 --vram 16
VBoxManage modifyvm "$VM_NAME" --nic1 nat
echo "==> Iniciando instalación automática"
VBoxManage startvm "$VM_NAME" --type gui
Este script lo que hace es crear una maquina virtual en virtualbox, y lo deja como en la imagen

Te ahorras el asistente de crear una maquina virtual pero el proceso de instalación es manual, aunque con packer también eso se puede automatizar peor ya lo dejo para vosotros.
Durante la instalación tendremos en cuenta los siguiente:
- Sin LVM (importante si luego quieres hacer snapshots simples) y aprovechar todo el disco de entrada.
- Usuario: vagrant y Password: vagrant
- Configura OpenSSH Server durante la instalación.
# Actualizar paquetes
sudo apt update && sudo apt upgrade -y
# Instalar dependencias básicas por si algunas no vienen de serie
sudo apt install -y curl wget vim net-tools openssh-server
# Habilitar SSH para vagrant
sudo mkdir -p /home/vagrant/.ssh # si no existe ya
curl -fsSL https://raw.githubusercontent.com/hashicorp/vagrant/master/keys/vagrant.pub -o /home/vagrant/.ssh/authorized_keys
# Y dar estos permisos si no los tiene ya, en ubuntu server esto ya esta bien.
sudo chmod 700 /home/vagrant/.ssh
sudo chmod 600 /home/vagrant/.ssh/authorized_keys
sudo chown -R vagrant:vagrant /home/vagrant/.ssh
echo "vagrant ALL=(ALL) NOPASSWD: ALL" | sudo tee /etc/sudoers.d/vagrant
sudo chmod 440 /etc/sudoers.d/vagrant
# Limpiar paquetes innecesarios
sudo apt autoremove -y
sudo apt clean
sudo rm -rf /tmp/* /var/tmp/*
sudo rm -rf /var/lib/apt/lists/*
Una vez tenemos el servidor instalado cerramos la maquina virtual y lo vamos a convertir en una box de vagrant.
Para esto tenemos que ejecutar los siguientes comandos desde el terminal
vagrant package --base ubuntu-server-24.04.03 --output ubuntu-24.4.3.box
Esto crea un fichero .box compatible con Vagrant. El nombre ubuntu-server-24.04.03 es el nombre que le das a la maquina virtual.
Y después lo añadimos al repositorio local de vagrant.
vagrant box add netveloper/ubuntu-24.04 ./ubuntu-24.4.3.box
Los repositorios en local están en esta ruta ~/.vagrant.d/boxesEn la imagen se puede ver el proceso

Ahora para utilizarla creamos un nuevo fichero Vagrantfile y utilizar el nombre local/UbuntuNoble24 que es la maquina que hemos creado de la siguiente forma:
Vagrant.configure("2") do |config|
config.vm.box = "netveloper/ubuntu-24.04"
config.vm.hostname = "test-server"
end
Ejecutamos desde el terminal
vagrant up
Y empezará a crear el nuevo servidor Ubuntu Server con la plantilla que acabamos de crear.Para acceder al servidor utilizamos el comando
vagrant ssh
y nos presenta el terminal de un servidor.Podemos utilizarlo como servidor de desarrollo instalando por ejemplo MySql, Apache2, etc ..
Para parar el servidor salimos del mismo con exit y desde el terminal del hosts ejecutar vagrant halt para pararlo y para destruirlo por completo / eliminarlo vagrant -f destroy

Y esto es todo, feliz programming!!!
Saludos
Alex
:-)
/
También puede interesarte:
![]() |
||
![]() |
||
![]() |
Vagrant error - The specified host network collides with a non-hostonly network! |
|
![]() |
||
![]() |
||
![]() |