Servidor Web Apache2
Apache HTTP Server es el servidor web más popular del mundo, ofreciendo una plataforma potente, flexible y de código abierto para servir contenido web.
✓ Multiplataforma
Apache funciona en una amplia variedad de sistemas operativos, incluyendo Linux, Windows, macOS y más.
✓ Módulos Extensibles
Arquitectura modular que permite agregar funcionalidades a través de módulos como mod_rewrite, mod_ssl, etc.
✓ Seguridad Robusta
Ofrece múltiples características de seguridad, control de acceso y soporte para SSL/TLS.
✓ Alto Rendimiento
Capaz de manejar grandes volúmenes de tráfico con diferentes modelos de procesamiento (MPM).
Demostración de Funcionalidades
Esta página está siendo servida por Apache2. A continuación, algunas demostraciones:
1. Página de estado del servidor
Apache puede mostrar información sobre su estado y configuración:
sudo a2enmod status
# Configurar en /etc/apache2/mods-enabled/status.conf
<Location /server-status>
SetHandler server-status
Require local
</Location>
2. Virtual Hosting
Apache permite alojar múltiples sitios web en un mismo servidor:
<VirtualHost *:80>
ServerName misitio.com
ServerAdmin webmaster@misitio.com
DocumentRoot /var/www/misitio
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
3. Rewrite Rules
El módulo mod_rewrite permite redireccionar y reescribir URLs:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?q=$1 [L,QSA]
Comandos Básicos de Apache2
Iniciar, detener y reiniciar el servidor:
sudo systemctl start apache2
# Detener Apache
sudo systemctl stop apache2
# Reiniciar Apache
sudo systemctl restart apache2
# Recargar configuración sin interrumpir conexiones
sudo systemctl reload apache2
Habilitar y deshabilitar sitios y módulos:
sudo a2ensite mi-sitio.conf
# Deshabilitar un sitio web
sudo a2dissite mi-sitio.conf
# Habilitar un módulo
sudo a2enmod rewrite
# Deshabilitar un módulo
sudo a2dismod rewrite
Verificar la configuración:
sudo apache2ctl configtest
# Ver módulos cargados
apache2ctl -M
# Ver información de compilación
apache2ctl -V