Apuntes sobre Redes

Access.log, donde habitan los monstruos.

Instalación de Apache en Ubuntu/Debian

Apache HTTP Server es el servidor web más utilizado del mundo. Es software libre, modular y forma parte del stack LAMP (Linux, Apache, MySQL, PHP). Esta lección cubre la instalación y los comandos esenciales en sistemas Ubuntu/Debian, que es el entorno de referencia de este manual.

Instalación

sudo apt update && sudo apt upgrade -y
sudo apt install apache2 -y

# Verificar que la instalación fue correcta
apache2 -v

Configuración del firewall

# Permitir HTTP y HTTPS
sudo ufw allow 'Apache Full'

# Habilitar firewall si no está activo
sudo ufw --force enable

# Ver estado
sudo ufw status

Gestión del servicio

sudo systemctl start apache2      # iniciar
sudo systemctl stop apache2       # detener
sudo systemctl restart apache2    # reiniciar (aplica cambios de configuración)
sudo systemctl reload apache2     # recargar sin cortar conexiones activas
sudo systemctl enable apache2     # arrancar automáticamente con el sistema
sudo systemctl status apache2     # ver estado actual

Nota: Usa reload cuando solo cambies la configuración de un VirtualHost o .htaccess. Usa restart cuando actives o desactives módulos.

Estructura de directorios en Ubuntu/Debian

/etc/apache2/
├── apache2.conf          # Configuración principal
├── ports.conf            # Puertos en escucha (80, 443...)
├── conf-available/       # Configuraciones disponibles
├── conf-enabled/         # Configuraciones activas (enlaces a conf-available/)
├── mods-available/       # Módulos disponibles
├── mods-enabled/         # Módulos activos (enlaces a mods-available/)
├── sites-available/      # VirtualHosts disponibles
├── sites-enabled/        # VirtualHosts activos (enlaces a sites-available/)
└── envvars               # Variables de entorno del servicio

El contenido web por defecto se sirve desde /var/www/html/. Los logs están en /var/log/apache2/.

Comandos a2en* / a2dis*

Ubuntu/Debian incluye comandos propios para activar y desactivar sitios, módulos y configuraciones sin editar archivos manualmente:

# Sitios (VirtualHosts)
sudo a2ensite nombre_sitio.conf
sudo a2dissite nombre_sitio.conf

# Módulos
sudo a2enmod nombre_modulo
sudo a2dismod nombre_modulo

# Configuraciones
sudo a2enconf nombre_conf
sudo a2disconf nombre_conf

# Verificar que la configuración no tiene errores de sintaxis
sudo apache2ctl configtest

# Ver módulos cargados actualmente
apache2ctl -M

Nota: Después de instalar Apache, abre http://localhost en el navegador. Si ves la página de bienvenida de Apache ("It works!") el servidor está funcionando correctamente.

En la próxima lección: configuración de Apache: archivo principal, Virtual Hosts y gestión de módulos.

TOP