La imagen de instalación de Ubuntu se descarga desde: https://cdimage.ubuntu.com/noble/daily-live/current/
Guía completa para instalar y configurar un servidor web Apache con HTTPS en una máquina virtual Ubuntu utilizando UTM
La imagen de instalación de Ubuntu se descarga desde: https://cdimage.ubuntu.com/noble/daily-live/current/
Se abre UTM y se selecciona la opción Crear nueva Máquina Virtual (VM) y Virtualizar.
En el menú Sistema operativo, se elige Otro y se carga la ISO descargada en el campo Imagen ISO de arranque.
En la configuración de Hardware se asignan:
Se asigna un nombre identificativo a la máquina.
Haciendo click derecho sobre la máquina y pulsando en editar se selecciona el menú Red y se configura el Modo de red en Puenteada (Avanzado) y se selecciona la interaz de puente adecuada.
La máquina se inicia pulsando Play.
Durante el inicio de la instalación se configuran los siguientes parámetros:
Una vez completada la instalación, la máquina se reinicia para aplicar los ajustes realizados.
En el menú de Red de Ubuntu se accede a los ajustes pulsando el botón de la tuerca y en el menú IPv4 se cambia de automático a manual.
En la máquina host se comprueba la IP y máscara de red usando el comando ifconfig. Se escoge una IP diferente dentro del rango y se usa el comando ping <IP seleccionada> para comprobar que no está ocupada. La puerta de salida se comprueba con el comando route -n get default.
En la terminal se actualizan los paquetes instalados en el sistema con los comandos sudo apt update y sudo apt upgrade.
Se instala el servidor SSH con el comando sudo apt install openssh-server. Se comprueba que el servicio está activo con el comando sudo systemctl status ssh y se abre el puerto 22 en el firewall con sudo ufw allow ssh.
A partir de este momento se puede acceder a la máquina virtual desde la terminal de la máquina host con el comando ssh <usuario>@<ip de la MV>.
Se instala el servidor apache con el comando sudo apt install apache2. Se comprueba si está activo con sudo systemctl status apache2 y se abre el puerto con sudo ufw allow apache.
Se crea un directorio con el nombre del dominio con el comando sudo mkdir /var/www/<nombre_del_dominio> y se asigna la propiedad del directorio con la variable de entorno $USER: sudo chown -R $USER:$USER /var/www/<nombre_del_dominio>. El propietario debe tener permisos de lectura, escritura y ejecución.
Dentro del directorio /var/www/<nombre_del_dominio> se deben alojar los archivos del sitio web, incluyendo index.html.
Una vez creados estos ficheros, se debe crear un archivo de configuración sudo nano /etc/apache2/sites-available/<nombre_del_dominio>.conf con los siguientes parámetros:
<VirtualHost *:80>
ServerAdmin webmaster@localhost
ServerName <nombre_del_dominio>
ServerAlias www.<nombre_del_dominio>
DocumentRoot /var/www/<nombre_del_dominio>
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
Una vez creado y guardado se debe activar el archivo con el comando sudo a2ensite your_domain.conf y deshabilitar el archivo de configuración por defecto sudo a2dissite 000-default.conf.
Finalmente se reinicia Apache para implementar los cambios: sudo systemctl restart apache2.
A partir de aquí se debería poder acceder a la página web desde el navegador introduciendo la IP de la máquina virtual.
Para que la web sea accesible desde Internet, se deben abrir los puertos 80 (HTTP) y 443 (HTTPS) en el firewall de Ubuntu:
sudo ufw allow 80
sudo ufw allow 443
sudo ufw reload
En el router de la red local se debe configurar port forwarding:
Puerto público 80 → IP privada de la VM, puerto 80
Puerto público 443 → IP privada de la VM, puerto 443
Esto permite que cualquier solicitud desde Internet hacia el dominio llegue a la máquina virtual donde corre Apache.
Se instala Certbot y el módulo de Apache:
sudo apt update
sudo apt install certbot python3-certbot-apache -y
Se solicita el certificado para el dominio configurado:
sudo certbot --apache -d <nombre_del_dominio> -d www.<nombre_del_dominio>
Certbot configura automáticamente Apache para HTTPS.
El certificado se renueva automáticamente cada 90 días.
Una vez completado, la página web estará accesible desde Internet mediante https://<nombre_del_dominio>.