Provisionamiento de la VM#

Cree un directorio HTML#

$ mkdir html

Cree una pagina HTML#

$ touch html/index.html
$ nano html/index.html

Contenido:

<!DOCTYPE html>
<html>
<body>
    <h1>Getting started with Vagrant!</h1>
</body>
</html>

Escriba el script de provisionamiento#

$ touch bootstrap.sh
$ nano bootstrap.sh

Contenido:

#!/usr/bin/env bash

apt-get update
apt-get install -y apache2
if ! [ -L /var/www ]; then
rm -rf /var/www
ln -fs /vagrant /var/www
fi

Configuración de Vagrant#

Contenido del archivo Vagrantfile:

Vagrant.configure("2") do |config|
    config.vm.box = "hashicorp/bionic64"
    config.vm.provision :shell, path: "bootstrap.sh"
    config.vm.network :forwarded_port, guest: 80, host: 4567
end

Provisionamiento#

$ vagrant reload --provision
==> default: Attempting graceful shutdown of VM...
==> default: Checking if box 'hashicorp/bionic64' version '1.0.282' is up to date...
==> default: Clearing any previously set forwarded ports...
==> default: Clearing any previously set network interfaces...
==> default: Preparing network interfaces based on configuration...
$ vagrant ssh
vagrant@vagrant:~$ wget -qO- 127.0.0.1
<!DOCTYPE html>
<html>
<body>
    <h1>Getting started with Vagrant!</h1>
</body>
</html>

La página está visible en http://127.0.0.1:4567/

vagrant@vagrant:~$ logout