OPCIONES DE CONFIGURACIÓN Directivas Globales de Configuración: ServerRoot: especifica la localización del directorio raíz en el que se encuentra instalado el servidor web. Partiendo de este directorio, se encuentran los ficheros de configuración, etc. Si la instalación del servidor es correcta, no debería modificarse nunca. PidFile: fichero donde el servidor guarda su id de Proceso, desde el Administrador de tareas en Servicios lo podemos comprobar. TimeOut El valor de este parámetro indica el número de segundos antes de enviar un timeout. Es un valor a tener en cuenta en la optimización del servidor Apache, es posible y de vez en cuando ocurra que, al solicitar una página web, el servidor necesite más tiempo para procesar la petición y enviar la página web. Imagina que por cualquier motivo el servidor entra en bucle infinito, esto consume mucha memoria, micro,.. con el timeout le dices que a los X segundos pare. Las empresas de hosting tienen que tener muy controlado este valor, pues piensa en crear un bucle infinito en una página PHP que nunca llegue a responder al navegante. Esto le supone al servidor una carga de procesamiento mayor y tener un proceso ocupado un largo tiempo consumiendo recursos. El valor por defecto es de 300 segundos (5 minutos). Si utilizas tu Servidor Web para compartir ficheros déjalo como está, pero si su finalidad es hosting mi recomendación es reducirlo. KeepAlive: El comando KeepAlive determina si el servidor permitirá varias conexiones a la vez (p.e., más de una petición por conexión). KeepAlive puede usarse para impedir que un cliente consuma muchos recursos del servidor. El comando KeepAlive aparece ya en on por defecto, lo que significa que se permiten varias conexiones a la vez. Puede ponerse en off para desactivarlas. Consulte la sección de nombre MaxKeepAliveRequests para conocer un método alternativo para limitar las peticiones. Servidores como Apache se pueden configurar para que cierren la conexión según si: Supera un cierto periodo de inactividad, el valor de keepalive. Simplemente cerrará la conexión Supera un número máximo de peticiones por la misma conexión. En este caso lo notificará al cliente mediante un Connection: close y cerrará la conexión una vez haya servido la última petición. Conclusión Final: - Off Motivos de Seguridad - On Motivos de Velocidad MaxKeepAliveRequests: Esta directiva establece el número máximo de peticiones permitidas por cada conexión que se produzca a la vez. El Grupo Apache recomienda un valor alto, lo que mejoraría el rendimiento. El valor predeterminado del comando MaxKeepAliveRequests es de 100 que debería bastar en la mayoría de los casos. KeepAliveTimeout: La directiva KeepAliveTimeout establece el número de segundos que el servidor esperará a la siguiente petición, tras haber dado servicio a una petición, antes de cerrar la conexión. Una vez recibida la petición, aplica la directiva Timeout en su lugar. Listen El comando Listen establece los puertos en los que secure Web server acepta las peticiones entrantes. secure Web server está configurado para escuchar en el puerto 80 para comunicaciones no seguras y (en máquinas virtuales que define el servidor seguro) en el puerto 443 para comunicaciones seguras. Para puertos por debajo de 1024, el comando httpd deberá ser ejecutado como root. Para el puerto 1024 y superiores, el comando httpd puede ser ejecutado como si se fuera un usuario cualquiera. El comando Listen también se puede usar para especificar direcciones IP específicas en las cuales aceptará conexiones el servidor. Comentar lo de que en un Servidor puede existir más de un interfaz de red con varias IPS. Listen 80 Listen 8000 Listen 192.170.2.1:80 Listen 192.170.2.5:8000 LoadModule: Permite cargar en el servidor los módulos adicionales de Apache. La sintaxis es: LoadModule modulo ficheromodulo Directivas principales ServerAdmin Cuando ocurre un error en el servidor web genera un error y no puede mostrar la página solicitada envía una página de error, en esa página se muestra una dirección email de administrador de sistema. De esta forma los visitantes del sitio web podrán informar de cualquier problema a través de un mensaje de correo electrónico. ServerName: sirve para especificar el nombre y el puerto TCP que el Apache utiliza para identificarse. Se puede determinar de forma automática, pero se recomienda especificarlo. Si el servidor no tuviera un nombre DNS, es recomendable incluir su dirección IP. No debe incluirse dentro de ninguna sección. Su sintaxis es: ServerName nombredireccion:puerto como en: DocumentRoot Este parámetro indica al servidor que ha de considerar el directorio especificado como el path del nivel superior. La elección de este directorio es muy importante, por ejemplo si el valor es DocumentRoot “C:/” podrás acceder a todo el disco duro. Obviamente se pueden proteger dichos archivos estableciendo los permisos oportunos. A este root se le llama Root Virtual, para aclarar el documentroot y que veas la utilidad de este importante parámetro, el valor es la ruta PATH del disco desde donde puede Apache encontrar las páginas web por defecto. Si tienes dos discos duros, puedes colocar en un disco duro la instalación de Apache junto con los archivos del sistema operativo y colocar en otro disco duro las páginas webs, de este modo no corres ningún riesgo de que algún curioso pueda acceder al disco duro donde tienes instalado el sistema. Por ejemplo, puedes tener otra unidad “E:” donde colocarás los archivos HTML, GIF, MP3, DIVX,…, Los parámetros a modificar serían: ServerRoot “C:/Apache/” DocumentRoot “E:/” Como puedes ver el root del servidor (ServerRoot) está donde se instaló el Apache mientras que el Root de las páginas web se encuentra en la unidad E. De esta forma tan sencilla has dificultado el acceso al sistema de curiosos, os aseguro que muchas empresas de hosting tienen un servidor muy potente con un disco duro de muchas gigas (en una unidad) y este disco duro está compartido por el sistema operativo y todos los dominios, cualquier webmaster con nociones de PHP puede acceder a otros dominios si estos parámetros están mal configurados. Os adelanto que puedes crear más de un espacio web en tu ordenador y que dependiendo del nombre de dominio introducido se derivan tus usuarios a una zona u otra. Esto lo digo porque los parámetros comentados hasta el momento afectan a todos los sitios creados pareo se pueden configurar características que afecten a sitios concretos de tu servidor. DirectoryIndex: especifica el fichero que Apache servirá por defecto para cada directorio en caso de que no se especifique ningún fichero concreto en la URL de la petición. Por defecto es "index.html". Es decir, si se solicita en la barra de direcciones del navegador: www.cibernetia.com el servidor enviará por defecto www.cibernetia.com/index.html. Es posible especificar más de un fichero y el orden con que se especifican los ficheros determinará la prioridad para determinar cuál se debe servir. Es posible encontrar la directiva fuera de cualquier sección o dentro de alguna de ellas. ErrorDocument: esta directiva establece el comportamiento de Apache en caso de error. Existen 4 configuraciones distintas: Mostrar algún texto de error. Redirección hacia un fichero en el mismo directorio. Redirección hacia un fichero en nuestro servidor. Redirección hacia un fichero fuera de nuestro servidor. La sintaxis es ErrorDocument código_error acción. Es posible encontrar esta directiva tanto dentro de una sección, como en la configuración global. Por ejemplo: ErrorDocument 404 /noencont.html. En caso de que Apache no encuentre un fichero, se mostrará el fichero noencont.html. Alias Permite la definición de directorios virtuales, un directorio virtual es un directorio que se encuentra en un directorio distinto del que se mapea en la URL. El directorio virtual no se tiene porqué encontrar dentro de árbol de directorios que se crea a partir de DocumentRoot, sino que se puede encontrar en cualquier otra ubicación, incluso se podría encontrar en otro servidor distinto. Por ejemplo, cuando se escribe www.desarrolloweb.com/manual/php la carpeta php no se tiene que encontrar necesariamente dentro de la carpeta manual, que a su vez esta dentro de la carpeta raíz Desarrolloweb, sino que puede estar en una ubicación distinta, y fuera del árbol de subdirectorios de la directiva DocumentRoot Sintaxis: Alias nombreFicticio ubicacionReal Nota: Toma como referencia de partida la dirección del ServerRoot. ServerSignature La directriz ServerSignature añade una línea que contiene la versión del Servidor Apache HTTP y el ServerName para cualquier documento generado por el servidor, tales como mensajes de error devueltos a los clientes. Por defecto ServerSignature está configurada a on. También se puede configurar a off o a EMail. EMail, agrega una etiqueta HTML mailto:ServerAdmin a la línea de la firma de las respuestas autogeneradas.