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:
- 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
). - Dentro del nuevo archivo (
sitio_suerte_8080.conf
), modifica todas las referencias al puerto80
por8080
(principalmente en la directiva<VirtualHost *:8080>
). - Asegúrate de que los
DocumentRoot
y otras directivas sean correctos para este Virtual Host. - En el archivo de configuración principal de puertos de Apache (
/etc/apache2/ports.conf
), añade la líneaListen 8080
para que Apache escuche en ese puerto. - Habilita el nuevo Virtual Host con el comando
sudo a2ensite sitio_suerte_8080.conf
. - 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>