Ejercicio 2 1 Abre la terminar y crea un directorio de proyecto Modifica el vagrantfile 2 mkdir mi_proyecto_vagrant Navega a ese directorio cd mi_proyecto_vagrant 3 Inicializa Vagrant en el directorio vagrant init 4 code vagrantfile
Vagrant.configure("2") do |config| # Caja base de Ubuntu 22.04 LTS config.vm.box = "ubuntu/jammy64“ # Configurar red privada config.vm.network "private_network", ip: "192.168.56.11“ # Configurar el volumen (carpeta compartida) config.vm.synced_folder "~/vagrant_data", "/home/vagrant/data“ # Configurar recursos de la máquina virtual config.vm.provider "virtualbox" do |vb| vb.memory = "2048" vb.cpus = 2 End # Aumentar el tiempo de espera para el arranque config.vm.boot_timeout = 600
# Reenvío de puertos para la aplicación Node.js config.vm.network "forwarded_port", guest: 3000, host: 3000 # Provisionar Node.js y la aplicación de bienvenida config.vm.provision "shell", inline: <<-SHELL sudo apt update sudo apt install -y nodejs npm # Crear directorio de la aplicación de bienvenida mkdir -p /home/vagrant/welcome_app cd /home/vagrant/welcome_app # Inicializar un proyecto de Node.js echo '{ "name": "welcome_app", "version": "1.0.0", "description": "Hoja de bienvenida en Node.js", "main": "app.js", "dependencies": { "express": "^4.17.1" } }' > package.json
# Provisionar Apache, PHP, y MySQL config.vm.provision "shell", inline: <<-SHELL sudo apt update # Instalar Apache sudo apt install -y apache2 # Instalar PHP y módulos requeridos sudo apt install -y php libapache2-mod-php php- mysql # Instalar MySQL Server sudo apt install -y mysql-server # Habilitar y reiniciar Apache sudo a2enmod php sudo systemctl restart apache2 # Habilitar servicios para que se inicien automáticamente sudo systemctl enable apache2 sudo systemctl enable mysql SHELL
# Provisionar PostgreSQL y phpPgAdmin config.vm.provision "shell", inline: <<-SHELL sudo apt update # Instalar PostgreSQL y phpPgAdmin sudo apt install -y postgresql postgresql-contrib phppgadmin # Configurar Apache para phpPgAdmin sudo ln -s / etc / phppgadmin / apache.conf / etc /apache2/conf-available/ phppgadmin.conf sudo a2enconf phppgadmin # Modificar la configuración de phpPgAdmin para permitir conexiones desde cualquier IP sudo sed - i "s/^#\\s*allow from all/allow from all/" / etc / phppgadmin / apache.conf sudo sed - i "s/^\\$conf\\[' extra_login_security '\\] = true;/\\$conf[' extra_login_security '] = false;/" / etc / phppgadmin / config.inc.php
# Configurar PostgreSQL para permitir autenticación con contraseña echo "host all all 0.0.0.0/0 md5" | sudo tee -a / etc / postgresql /14/main/ pg_hba.conf echo " listen_addresses = '*'" | sudo tee -a / etc / postgresql /14/main/ postgresql.conf # Crear usuario de PostgreSQL sudo -u postgres psql -c "CREATE USER usuario_pgadmin WITH PASSWORD '250309';" sudo -u postgres psql -c "ALTER USER usuario_pgadmin WITH SUPERUSER;" # Reiniciar PostgreSQL y Apache sudo systemctl restart postgresql sudo systemctl restart apache2 # Habilitar servicios para que se inicien automáticamente sudo systemctl enable postgresql sudo systemctl enable apache2 SHELL end
1 Levanta la máquina virtual Podrás visualizar tu formulario 2 vagrant up Conéctate a la máquina vagrant ssh 3 Colocamos la ip en el navegador 192.168.56.11:3000