Configuración Esencial de Apache: Directivas, Puertos y Virtual Hosts

Clasificado en Informática

Escrito el en español con un tamaño de 4,52 KB

Este documento resume conceptos clave y configuraciones comunes para el servidor web Apache.

Directivas Comunes

FollowSymLinks

Permite al servidor web seguir enlaces simbólicos en el directorio.

Indexes

Controla si se muestra el contenido del directorio. Si existe una página de inicio (como index.html), la muestra. Si no, y Indexes está activado, muestra un listado del contenido del directorio. Si Indexes está desactivado (-Indexes), muestra un error 'Forbidden'.

Ejemplo con -Indexes

Si existe principal.html, mostraría el contenido de la página. Si no existe y Indexes está desactivado (-Indexes), muestra un error 'Forbidden'.

Comandos Útiles

  • sudo service apache2 reload: Recarga la configuración de Apache sin detener el servicio.
  • sudo a2ensite sitio_suerte.conf: Habilita un Virtual Host configurado en el archivo especificado.
  • sudo mkdir /var/www/suerte/base: Crea un directorio para archivos del sitio web.
  • sudo mkdir /var/www/suerte/maestro: Crea otro directorio para archivos del sitio web.

Archivos .htaccess y AllowOverride

.htaccess

Proporciona una manera de hacer cambios de configuración por directorio, sin necesidad de modificar los archivos de configuración principales del servidor.

AllowOverride

Esta directiva, configurada en el archivo principal de Apache (apache2.conf o en la configuración del Virtual Host), determina qué directivas pueden ser utilizadas en los archivos .htaccess dentro de un directorio específico.

Relación entre AllowOverride y .htaccess

AllowOverride y .htaccess trabajan juntos. AllowOverride especifica qué tipo de directivas (como autenticación, control de acceso, etc.) son permitidas en los archivos .htaccess de un directorio. Si AllowOverride está configurado como None, los archivos .htaccess serán ignorados.

Configuración de Puertos

Cambiar Puerto 80 a 8080

Para configurar un Virtual Host en un puerto diferente al 80 (el puerto HTTP por defecto), sigue estos pasos:

  1. Copia el archivo de configuración del Virtual Host existente (ej. /etc/apache2/sites-available/sitio_suerte.conf) y renómbralo (ej. sitio_suerte_8080.conf).
  2. Dentro del nuevo archivo (sitio_suerte_8080.conf), modifica todas las referencias al puerto 80 por 8080 (principalmente en la directiva <VirtualHost *:8080>).
  3. Asegúrate de que los DocumentRoot y otras directivas sean correctos para este Virtual Host.
  4. En el archivo de configuración principal de puertos de Apache (/etc/apache2/ports.conf), añade la línea Listen 8080 para que Apache escuche en ese puerto.
  5. Habilita el nuevo Virtual Host con el comando sudo a2ensite sitio_suerte_8080.conf.
  6. Recarga la configuración de Apache: sudo service apache2 reload.

Acceso al Servidor y Virtual Hosts

Acceso con IP no Configurada

¿Qué sucede si accedemos al servidor con una IP o nombre de dominio que no está configurado para un Virtual Host específico?

En este caso, Apache mostrará el contenido del Virtual Host por defecto (generalmente configurado en /etc/apache2/sites-available/000-default.conf) o una página de error si no hay un Virtual Host que coincida con la solicitud.

Ejemplos de Configuración de Virtual Hosts

A continuación, se muestran ejemplos de configuración de Virtual Hosts, típicamente ubicados en archivos dentro de /etc/apache2/sites-available/.

Virtual Host Principal
<VirtualHost 192.168.1.1:80>
    ServerName suerte.mas
    ServerAlias www.suerte.mas
    DocumentRoot /var/www/suerte/base/html
</VirtualHost>
Virtual Host Secundario
<VirtualHost *:80>
    ServerName maestro.suerte.mas
    DocumentRoot /var/www/suerte/maestro/html
</VirtualHost>
Virtual Host de Error (Ejemplo conceptual)
<VirtualHost *:80>
    ServerName error.suerte.mas
    DocumentRoot /var/www/suerte/error/html
    # Posiblemente configurar ErrorDocument aquí
</VirtualHost>

Entradas relacionadas: