| El servidor de web Apache: Introducción práctica: Apache 1.x y 2.0 alpha | ||
|---|---|---|
| Prev | Chapter 1. El servidor de web Apache | Next |
Es el fichero de configuración principal de Apache. Junto con la distribución, viene un ejemplo completo de las características que se controlan desde este fichero. Se muestran a continuación las principales opciones de dicho fichero, que el usuario debe editar para adaptarlas a su situación concreta:
ServerType: standalone o inetd El servidor de web puede ser arrancado, bien como un demonio individual, o bien como un demonio más dentro del conjunto de demonios que arranca inetd. Dadas las características de un servidor de web, que suele recibir peticiones de forma constante, es mejor arrancarlo de forma independiente, y no desde el inetd.
Port 80: Puerto desde el que escucha el servidor de web. Un usuario del sistema, sin derechos de superusuario, solo puede utilizar puertos por encima del 1024.
HostnameLookups on u off: Dentro de los logs del servidor, se intenta traducir la dirección IP del cliente que ha hecho la petición a un nombre utilizando DNS o no. El intento de traducción lleva asociada unas comunicaciones que pueden reducir el rendimiento del servidor.
User www-data Group #-1: Identidad del usuario bajo el que se ejecuta el servidor. Si es diferente de la del usuario que lanza el demonio, el usuario que lanza el demonio debe de ser root.
ServerAdmin acs@ieeesb.etsit.upm.es: Dirección de correo del usuario responsable de la administración del servidor de web, y al que se enviaran mensajes en caso de errores.
ServerRoot /usr/local/apache Directorio donde se encuentra la configuración del servidor, los ficheros de logs y los de error.
#BindAddress *: Con Apache se puede hacer que el servidor escuche en varias direcciones IP. Con esta opción se le dice al servidor que direcciones IP debe escuchar. Se describirá las características de servidores de web virtuales más adelante en este artículo.
ErrorLog logs/error_log: Fichero donde se almacenan los errores, como peticiones de usuarios de ficheros inexistentes, o peticiones que no se pueden reconocer. El directorio es relativo a ServerRoot.
TransferLog logs/access_log: Fichero donde se almacenan las transferencias de datos con los clientes. El directorio es relativo a ServerRoot. Este fichero es fundamental para sacar estadísticas de acceso a nuestro web.
PidFile logs/httpd.pid: Fichero donde se almacena el pid (identificador del proceso del servidor). El directorio es relativo a ServerRoot.
ScoreBoardFile logs/apache_status: Fichero que almacena información acerca del estado del servidor de web, estado que se actualiza en tiempo real, y que permite analizar a los administradores autorizados lo que está ocurriendo en el interior del servidor, como las peticiones actuales en curso, los recursos que está consumiendo el servidor.
ServerName www.ieeesb.etsit.upm.es Este es el nombre que el servidor envía a los clientes, en caso de los clientes hayan accedido a la máquina con un nombre diferente. Una máquina puede tener varios nombres, y por cualquiera de ellos se puede acceder al puerto 80, donde suele estar el servidor de web. Pero normalmente, hay un nombre preferido para el web, algo como www.dominio. El servidor puede indicar al cliente que en las peticiones futuras, debe utilizar ese nombre. El nombre ha de ser un nombre real registrado dentro del sistema DNS.
Timeout 300: El número de segundos tras el cual se envía o se recibe el fin de plazo de una petición.
KeepAlive On: Para permitir la existencia de conexiones persistentes (HTTP 1.1), es decir, de que por una misma conexión se puedan enviar varias peticiones HTTP.
MaxKeepAliveRequests 100 Número máximo de peticiones que se pueden cursar por una misma conexión. En caso de poner 0, el número será ilimitado. Cuantas más peticiones se puedan cursar por una misma conexión, mejor será el rendimiento de la comunicación, al evitar establecer nuevas conexiones TCP, que son muy costosas.
KeepAliveTimeout 15: Número de segundos máximos en los que se esperará la siguiente petición.
MinSpareServers 5 - MaxSpareServers 10: número mínimo y máximo de servidores que serán lanzados en la máquina. Apache de forma dinámica lanzará un número entre los dos límites, dependiendo de la carga de las peticiones recibidas. Esta parte va a sufrir un importante cambio con la aparición de hebras en la versión 2.0 de Apache.
StartServers 5: Número de servidores que se lanzan inicialmente.
MaxClients 150: Número máximo de clientes que pueden conectarse al servidor de web. Debe ser un número relativamente alto, ya que una vez superado, ningún cliente más podrá acceder a la información. Es una método de protección, que evita que el sistema pueda quedar totalmente bloqueado.
MaxRequestsPerChild 30: número máximo de peticiones que puede servir un proceso hijo del proceso servidor principal, antes de que sea eliminado. Esto es necesario en sistemas con agujeros en la gestión de memoria, como por ejemplo en algunas librerías de Solaris.
#ProxyRequests On: Si queremos que nuestro servidor de web, haga también de servidor de proxy, es decir, que guardé una caché con las páginas más accedidas por los clientes, podemos activar está funcionalidad con está opción.
#CacheRoot /usr/local/apache/proxy
#CacheSize 5
#CacheGcInterval 4
#CacheMaxExpire 24
#CacheLastModifiedFactor 0.1
#CacheDefaultExpire 1
#NoCache www.sun.com
#Listen 3000
#Listen 12.34.56.78:80
#<VirtualHost host.some_domain.com>
#ServerAdmin webmaster@host.some_domain.com
#DocumentRoot /www/docs/host.some_domain.com
#ServerName host.some_domain.com
#ErrorLog logs/host.some_domain.com-error_log
#TransferLog logs/host.some_domain.com-access_log #<VirtualHost>