Sie sind auf Seite 1von 6

ome / Blog / Qu hace un Servidor Web como Apache?.

Configuracin

Qu hace un Servidor Web como Apache?. Configuracin


Posteado en Mar 17, 2012 Apache es el Servidor Web ms utilizado, lder con el mayor nmero de instalaciones a nivel mundial muy por delante de otras soluciones como el IIS (Internet Information Server) de Microsoft. Apache es un proyecto de cdigo abierto y uso gratuito, multiplataforma (hay versiones para todos los sistemas operativos ms importantes), muy robusto y que destaca por su seguridad y rendimiento. Ahora bien,se puede estar preguntando alguien , qu es un Servidor Web y qu hace exactamente? Bueno, lo primero que debemos aclarar es que estamos hablando de software, aunque el equipo donde se ejecuta recibe la misma denominacin. Su misin es crtica, ya que es el encargado de aceptar las peticiones de pginas (o recursos en general) que provienen de los visitantes que acceden a nuestro sitio web y gestionar su entrega o denegacin, de acuerdo a las polticas de seguridad establecidas. Esto, que puede parecer simple, implica muchas facetas y funcionalidades que debe cubrir, como pueden ser:

Atender de manera eficiente, ya que puede recibir un gran nmero de peticiones HTTP, incluyendo una ejecucin multitarea ya que pueden darse peticiones simultneas. Cualquier peticin compleja (por ejemplo con acceso a base de datos) dejara colapsado el servicio. Restricciones de acceso a los ficheros que no se quieran exponer, g estin de autentificaciones de usuarios o filtrado de peticiones segn el origen de stas. Manejar los errores por pginas no encontradas, informando al visitante y/o redirigiendo a pginas predeterminadas. Gestin de la informacin a transmitir en funcin de su formato e informar adecuadamente al navegador que est solicitando dicho recurso. Gestin de logs, es decir almacenar las peticiones recibidas, errores que se han producido y en general toda aquella informacin que puede ser

registrada y analizada posteriormente para obtener las estadsticas de acceso al sitio web. Adems, Apache nos permite configurar un Hosting Virtual basado en IPs o en nombres, es decir, tener varios sitios web en un mismo equipo (por ejemplo: nombreweb1.com, nombreweb2.com,.) o como indicbamos, establecer distintos niveles de control de acceso a la informacin incluyendo el soporte a cifrado SSL utilizando protocolo seguro HTTPS. A continuacin, para los que quieran tener una visin ms en detalle de cmo se trabaja con Apache, reproducimos la explicacin del fichero de configuracin de Apache 2 de nuestro curso Servidor Web Apache, elaborado por Franciso Illeras. Este apartado, junto a otros dos, los podis descargar en el extracto del curso que hemos publicado en nuestra seccin de Tutoriales, para que podis tener una mejor idea del mismo.

Archivo apache2.conf
(apartado del Tema Configuracin y ajuste del servidor Apache) Sin lugar a dudas, apache2.conf es el fichero ms importante de Apache, puesto que en l se definir el comportamiento general del servidor de pginas web y adems, es el encargado de acceder a los distintos mdulos que amplan la funcionalidad del servidor. Como ya hemos comentado, el archivo apache2.conf se encuentra en el directorio /etc/apache2, y al tratarse de un fichero de texto podr editarlo fcilmente (por ejemplo, con nuestro editor preferido joe). Dentro del archivo de configuracin encontraremos dos partes bien diferenciadas: 1) Variables globales del servidor: variables que definen el funcionamiento general del servidor. Las ms importantes son (siempre podr completar la informacin que le suministro con la que posee en la propia web de Apache, el lugar donde encontrar la documentacin es http://httpd.apache.org/docs/2.0/es/):

Directiva

Descripcin

ServerRoot /etc/apache2

Indica la ubicacin de los ficheros configuracin del servidor Apache.

de

ServerName miservidor.ugr.es

Indica el nombre del servidor.

PidFile ${APACHE_PID_FILE}

Fichero en el que se almacenar el nmero de proceso con el que se esta ejecutando el servidor Apache. Fjese que no se indica un directorio o ubicacin sino que se le asigna el valor de la variable APACHE_PID_FILE. Ms adelante comprobar que esa variable esta definida en el archivo de configuracin envvars.

Timeout 300MaxKeepAliveRequests 100KeepAliveTimeout 15

Todas estas directivas estn relacionadas con el tiempo de espera de las conexiones con los clientes.

User ${APACHE_RUN_USER} Group ${APACHE_RUN_GROUP}

Aunque nosotros hemos instalado el servidor Apache como administradores (root), la aplicacin no podr ejecutarse con estos privilegios porque provocara muchos problemas de seguridad. En lugar de ello, el servidor Apache dispondr de su propio usuario y grupo con el que se ejecutar. De nuevo hace referencia a unos valores almacenados en las variables APACHE_RUN_USER Y APACHE_RUN_GROUP que podr localizar en el archivo envvars. Indica el nombre (.htaccess) que deber tener el fichero local de un directorio en el que se

AccessFileName .htaccess

almacenen directivas de acceso. ErrorLog /var/log/apache2/error.log Indica el nombre del directorio del sistema en el que se guardarn los registros de error del servidor Apache.

A la vista de la tabla anterior parecera que Apache es un servidor que no es muy complejo de configurar, porque no posee muchas opciones. Es cierto en parte, aunque stas son solo una pequea parte de las opciones que posee Apache, ya que mayora de las variables de configuracin se encuentra repartida entre otros pequeos ficheros de configuracin (mdulos) guardados en mods -available (pero esto lo veremos ms adelante). En este momento solo tiene que preocuparte que el nombre de nuestro servidor est bien indicado mediante la variable ServerName para que cualquier redireccin o referencia existente en nuestros documentos HTML funcionen bien. Y el resto de las variables no tendrn que tocarse puesto que por defecto vienen con los valores adecuados, salvo la parte correspondiente a AccessFileName. Lo explicaremos de una manera ms detallada. .htaccess es un archivo de texto oculto (por esa razn comienza por .) que permite personalizar el funcionamiento del servidor Apache un directorio concreto sin necesidad de modificar el fichero de configuracin principal apache2.conf. Cuando un cliente web solicita un archivo al servidor, este busca desde el directorio raz hasta el subdirectorio que contiene el archivo solicitado el archivo .htaccess y tiene en cuenta las directivas contenidas en el mismo antes de proceder con la peticin. Los usos principales del .htaccess son:

Impedir el listado de los archivos de un directorio. Redireccionar el trfico Web. Personalizar las pginas de error. Restringir el acceso a determinados archivos. Impedir el acceso a determinadas IPs o rangos de IP.

En el apartado de comunicaciones seguras de este mismo tema lo veremos con ms detenimiento. 2) Ampliacin de funcionalidades: relacionado con las llamadas a otros mdulos y archivos de configuracin. Todas las directivas relacionadas con este punto vendrn precedidas por la palabra Include.

Directiva

Descripcin

Incluir todos los mdulos existentes en el directorio /etc/apache2/mods-enabled/. Esto Include /etc/apache2/modssignifica que todas las directivas que se enabled/*.loadInclude encuentren en los archivos de este directorio /etc/apapche2/modssern tenidas en cuenta para el funcionamiento enabled/*.conf del servidor. Todos estos ficheros son funcionalidades extra del servidor.

Include /etc/apache2/ports.conf

Incluir las directivas incluidas en el archivo ports.conf, que hacen referencia al puerto por el que se dar servicio (normalmente el puerto 80).

Include enabled/

Incluye el directorio /etc/apache2/sitesenabled, que es el lugar donde se definirn los /etc/apache2/sitesdistintos dominios virtuales que deseemos ofrecer con nuestro servidor. Lo veremos ms adelante.

Si an no te has hecho una idea mental de cmo esta conformado el servidor Apache, la siguiente imagen te ayudar.

Ilustracin 1: Estructura del servidor Apache2.

Hasta ahora has aprendido que el archivo de configuracin principal de Apache 2 se llama apache2.conf y se encuentra en el directorio /etc/apache2. Ya sabes como indicar el nombre del servidor, que el usuario y grupo con el que se ejecuta el servidor Apache se llama www-data, y que se cargarn todos los mdulos que se encuentren almacenados en los directorios de configuracin mods -enabled y sites-enabled.

Das könnte Ihnen auch gefallen