Despliegue de sitios web estáticos con Apache en Ubuntu

Requisitos del sistema

Para este proceso se necesita un servidor o máquina local con Ubuntu, acceso administrativo (sudo) y los archivos estáticos del proyecto (HTML, CSS, JS).

Instalación del servidor web

Primero, sincronizamos los repositorios y procedemos a instalar el paquete:

sudo apt-get update
sudo apt-get install apache2 -y

Para confirmar que el servicio está activo, ejecutamos:

sudo systemctl is-active apache2

Configuración del cortafuegos

En entornos cloud, es vital habilitar el tráfico HTTP. Habilitamos el perfil de Apache en UFW y recargamos las reglas:

sudo ufw allow in "Apache"
sudo ufw reload

Recuerda también abrir el puerto correspondiente en el panel de seguridad de tu proveedor de nube.

Preparación del directorio de despliegue

Aunque Apache usa /var/www/html por defecto, es mejor práctica aislar el proyecto. Crearemos una estructura dedicada:

sudo mkdir -p /var/www/mi_sitio

Asignamos los permisos adecuados para que el servidor pueda leer los archivos sin problemas:

sudo chown -R www-data:www-data /var/www/mi_sitio
sudo chmod -R 755 /var/www/mi_sitio

Sube tus archivos a este nuevo directorio mediante SCP, FTP o creación directa.

Configuración del Virtual Host

Definiremos un nuevo bloque de servidor en un archivo independiente, utilizando el puerto 8080 para este ejemplo:

sudo nano /etc/apache2/sites-available/mi_sitio.conf

Contenido del arcchivo de configuración:

<VirtualHost *:8080>
    ServerAdmin admin@midominio.com
    DocumentRoot /var/www/mi_sitio
    ServerName midominio.com
    
    ErrorLog ${APACHE_LOG_DIR}/mi_sitio_error.log
    CustomLog ${APACHE_LOG_DIR}/mi_sitio_acceso.log combined
</VirtualHost>

Gestión de módulos y puertos

Desactviamos la configuración predeterminada y habilitamos la nueva:

sudo a2dissite 000-default.conf
sudo a2ensite mi_sitio.conf

Como utilizamos un puerto no estándar (8080), debemos indicarle a Apache que escuche en él. Editamos el archivo de puertos:

sudo nano /etc/apache2/ports.conf

Añadimos la directiva Listen 8080 junto a la existente:

Listen 80
Listen 8080

Aplicamos los cambios reiniciando el demonio:

sudo systemctl restart apache2

Verificación del sitio

Para acceder localmente, abre en el navegador:

http://127.0.0.1:8080

Si estás en un servidor remoto, utiliza la IP pública:

http://[IP_PÚBLICA]:8080

Etiquetas: Apache2 Ubuntu VirtualHost UFW Sysadmin

Publicado el 7-12 04:41