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.

Servidor funcionando correctamente

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:

# Habilitar módulo de status
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:

# Ejemplo de Virtual Host en /etc/apache2/sites-available/misitio.conf
<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:

# Ejemplo en .htaccess
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:

# Iniciar Apache
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:

# Habilitar un sitio web
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:

# Verificar sintaxis de configuración
sudo apache2ctl configtest

# Ver módulos cargados
apache2ctl -M

# Ver información de compilación
apache2ctl -V