Professional Documents
Culture Documents
La figura anterior muestra un servidor web Apache local y otros servidores web Apache remotos. Debe saber que la mayor cantidad de servidores web en Internet son servidores Apache.
Ingrese la direccin de correo electrnico de la persona que mantiene el servidor de Web en el campo Direccin de correo electrnico del Webmaster. Esta opcin corresponde a la directiva ServerAdmin en httpd.conf. Si usted configura pginas con error en el servidor que contenga una direccin del correo electrnico, esta direccin del correo electrnico se usar para que los usuarios puedan informar un problema enviando un correo al administrador del servidor. El valor predeterminado es el root@localhost. Use el campo Available Addresses para definir los puertos en que el servidor aceptar las demandas entrantes. Esta opcin corresponde a la directiva Listen en httpd.conf. Por defecto, Linux Fedora configura el Servidor HTTP Apache para escuchar por el puerto 80 las comunicaciones Web.
Captulo 27: El Servidor Web Apache Haga clic en el botn Aadir para definir los puertos adicionales en que se aceptarn las demandas. Una ventana como la que se muestra en la Figura 27.3., aparecer. O escoja la opcin Escuchar todas las direcciones para escuchar a todas las direcciones IP en el puerto definido o especificar una direccin IP particular en el campo Direccin. Slo especifique una direccin IP por nmero de puerto. Si usted quiere especificar ms de una direccin IP con el mismo nmero del puerto, cree una entrada para cada direccin IP. En caso extremo use una direccin de IP en lugar de un nombre del dominio prevenir una falla DNS.
Nota: Vaya a: http://httpd.apache.org/docs-2.0/dns-caveats.html, para ms informacin sobre los Problemas con respecto a DNS y Apache.
Ingresar un asterisco (*) en el campo Direccin da igual que elegir Escuchar todas las direcciones. Haciendo clic en el botn Modificar en Avalilable Addresses el marco muestra la misma ventana como al presionar el botn Aadir excepto que los campos estarn con datos. Para eliminar una entrada, seleccinelo y haga clic en el botn Eliminar.
Las entradas listadas en el marco Directory Page Search List se definen con la directiva DirectoryIndex. DirectoryIndex es la pgina predefinida enviada por el servidor cuando un usuario pide un ndice de un directorio al especificar un slash (/) al final del nombre del directorio. Por ejemplo, cuando un usuario ingresa en el URL: http://www.example.com/this_directory/, el sistema va a conseguir la pgina en DirectoryIndex si existe, o de una lista del directorio del servidor. El servidor intentar encontrar uno de los archivos listado en la directiva DirectoryIndex y devolver la primera que encuentre. Si no encuentra ninguno de estos archivos y si la directiva Options Indexes se fija para ese directorio, el servidor generar y devolver una lista, en formato HTML, de los subdirectorios y archivos en el directorio.
Sistema Operativo Linux Use la seccin: Error Pages para configurar el Servidor HTTP Apache para remitir al cliente a un URL local o externo en caso de un problema o error. Esta opcin corresponde a la directiva ErrorDocument. Si un problema o error ocurre cuando un cliente intenta conectarse al Servidor HTTP Apache, la accin predefinida es desplegar un corto mensaje de error mostrado en la columna: Cdigo de error. Para sobrescribir esta configuracin predefinida, seleccione el cdigo del error y haga clic en el botn: Modificar. Escoja por defecto para desplegar el mensaje predefinido de error, como se muestra en la figura siguiente:
Figura 27.6. Cdigo de error. Escoja un URL para remitir al cliente a un URL externo e ingrese un URL completo incluso http:// en el campo Location. Escoja File para remitir al cliente a un URL interior e ingrese la ubicacin del archivo bajo DocumentRoot para el servidor Web. La ubicacin debe empezar con un slash (/) y debe ser relativo a DocumentRoot. Por ejemplo, para remitir un 404 - Not Found error code a una pgina web que usted cre en un archivo llamado 404.html, copie 404.html a: DocumentRoot/errors/. En este caso, DocumentRoot es el directorio (raz) que usted ha definido (el valor predeterminado es /var/www/html). Despus, escoja File como patrn para 404 - Not Found error code e ingrese /errors/404.html en Location. o Del men Mensaje de pie de pgina de error predeterminado (Default Error Page Footer), usted puede escoger una de las opciones siguientes: Mostrar el pie de pgina con la direccin de correo electrnico (Show footer with email ardes). Despliega el pie de pgina (footer) predefinido al fondo de todas las pginas de error con la direccin de correo electrnico de quien mantiene el website especificada por la directiva ServerAdmin. Mostrar el pie de pgina (Show footer). Despliega el pie de pgina predefinido al fondo de las pginas de error. Ningn pie de pgina (No footer). No se despliega ningn pie de pgina al fondo de las pginas del error.
o o 0
27..2. Registro
Por defecto, el servidor graba: 1. 2. Registros de transferencia al archivo: /var/log/httpd/access_log. Registros de error al archivo: /var/log/httpd/error_log. El registro de transferencia contiene una lista de todos los intentos por acceder al servidor Web. Graba la direccin IP del cliente que est intentando conectarse, la fecha y la hora del intento, y el archivo en el servidor Web que est intentando recuperar I. Ingrese el nombre de la ruta y del archivo en que guardar esta informacin. Si la ruta y el nombre del archivo no empiezan con un slash (/), el camino es relativo al directorio raz de servidor configurado. Esta opcin corresponde a la directiva TransferLog. Usted puede configurar un formato de registro personalizado verificando Usar las facilidades del registro personalizado (Use custom logging facilities) y entrando una cadena de registro personalizado en el campo Cadena de registro de personalizacin (Custom Log String). Esto configura la directiva LogFormat.
Nota: Refirase a: http://httpd.apache.org/docs-2.0/mod/mod_log_config.html#formats para los detalles en el formato de esta directiva.
El registro de error contiene una lista errores que pueden ocurrir en el servidor. Ingrese el nombre de la ruta y del archivo en que se guardar esta informacin. Si la ruta y el nombre del archivo no empiezan con un slash (/), la ruta es relativa al directorio raz del servidor que se ha configurado. Esta opcin corresponde a la directiva ErrorLog. Use el men: Registrar el nivel (Log Level) para hacer que los mensajes de error sean ms explicativos. Puede ponerse (de menos a ms explicativo) a Emergencia (emerg), Advertencia (alert), Crtica (crit), error, Advertencia (warm), Aviso (notice), info o Depurar (debug). Esta opcin corresponde a la directiva LogLevel. El valor escogido con el men: Bsqueda inversa del DNS (Reverse DNS Lookup) lo define la directiva HostnameLookups. Al elegirse Ninguna bsqueda inversa (No Reverse Lookup) pone el valor a apagado (off). Al escoger Bsqueda inversa (Reverse Lookup) se pone el valor a prendido (on). Escogiendo Visin doble inversa (Double Reverse Lookup) se duplica esta accin.
2
Captulo 27: El Servidor Web Apache Si usted escoge Bsqueda inversa, su servidor resolver automticamente las direcciones IP para cada conexin que pide un documento de su servidor Web. Resolver la direccin IP quiere decir que su servidor har una o ms conexiones al DNS para averiguar el nombre del computador que corresponde a una particular direccin IP. Si usted escoge Visin doble inversa, su servidor realizar una doble accin de Bsqueda inversa del DNS. En otros trminos, despus de que una bsqueda inversa se ha realizado, una bsqueda directa se realiza. Por lo menos una de las direcciones IP en la bsqueda directa debe emparejar con la direccin de la primera bsqueda inversa. Generalmente, usted debe dejar esta opcin en Ninguna bsqueda inversa, porque las demandas del DNS agregan una carga a su servidor y pueden reducir su capacidad de accin.
Sistema Operativo Linux Use la seccin Pass to CGI Scripts para pasar el valor de una variable de entorno cuando el servidor se empez primero con los scripts CGI. Para ver esta variable de entorno, teclee el comando env en el shell del sistema. Haga clic el botn Aadir dentro de la seccin Pass to CGI Scripts e ingrese el nombre de la variable de entorno. Pulse el botn: Aceptar (OK) para agregarla a la lista. La seccin Pass to CGI Scripts se configura con la directiva PassEnv.
Si usted quiere quitar una variable de entorno para que el valor no se pase a los scripts CGI y pginas SSI, use la seccin Unset for CGI Scripts. Haga clic en Aadir en la seccin Unset for CGI Scripts, e ingrese el nombre de la variable de entorno. Pulse el botn: Aceptar (OK) para agregarla a la lista. Esto corresponde a la directiva UnsetEnv. Para editar cualquiera de stos los valores de entorno, seleccinelo de la lista y pulse el botn: Modificar (Edit). Para elimiar cualquier entrada de la lista, seleccinela y haga clic en el botn: Borrar (Delete).
Nota: Para aprender ms sobre las variables de entorno en el Servidor HTTP Apache, consulte a: http://httpd. apache.org/docs-2.0/env.html
27... Directorios
Use la pgina Directorio de la ficha Ejecucin, para configurar las opciones para directorios especficos. Esto corresponde a la directiva Directory. Haga clic en el botn: Modificar en la parte superior de la esquina derecha para configurar Opciones de directorio por defecto: para todos los directorios que no se especifican en la lista Directorio (Directory). Las opciones que usted escoge estn listadas en la directiva Options dentro de la directiva Directory. Usted puede configurar las opciones siguientes: ExecCGI: Permite ejecucin de scripts CGI. No se ejecutarn los scripts CGI si esta opcin no es escogida. FollowSymLinks: Permite seguir los enlaces simblicos. Incluyes: Permite pginas server-side includes. IncludesNOEXEC: Permite pginas server-side include, pero desactiva los comandos #exec y #include en los scripts CGI. Indexes: Despliega una lista formateada del contenido del directorio, si ningn DirectoryIndex, (como index.html) existe en el directorio pedido. Multiview: Soporta content-negotiated multiviews; esta opcin est desactivada por defecto. SymLinksIfOwnerMatch: Slo siga los enlaces simblicos si el archivo destino o el directorio tiene el mismo dueo como el enlace.
Para especificar opciones para directorios especficos, haga clic en el botn: Aadir al lado de la caja de lista Directorio. La ventana mostrada en la Figura 27.10, aparece: ingrese el directorio en el campo Directory al fondo de la ventana.
Sistema Operativo Linux Seleccione las opciones en la lista de la mano derecha, y configure la directiva Order con las opciones laterales de la mano izquierda. La directiva Order controla las directivas que se permiten o niegan para ser evaluadas. En los campos Permitir los accesos desde (Allow hosts from) y Negar los hosts desde (Deny hosts from) puede especificar lo siguiente: Allow all hosts: Digite all para el acceso a todos los hosts. Partial domain name: Permite a todos los hosts cuyos nombres encajen con la cadena ingresada. Full IP address: Permite acceder a una direccin IP especfica. A subset: Tal como 192.168.1.0/255.255.255.0. A network CIDR specification: Tal como 10.3.0.0/16.
Si usted verifica Let .htaccess files override directory options, las directivas de configuracin en el archivo .htaccess toman precedencia.
Captulo 27: El Servidor Web Apache Las directivas puestas para un host virtual slo se aplican a ese host virtual en particular. Si una directiva es puesta usando el botn: Modificar la configuracin por defecto... y no se definieron dentro de la configuracin del host virtual, se usa la configuracin por defecto. Por ejemplo, usted puede definir una direccin de correo electrnico para el Administrador del Web (Webmaster email address) en la ficha Principal y no puede definir las direcciones del correo electrnico individuales para cada host virtual.
La Herramienta de Configuracin HTTP incluye un host virtual predefinido como se muestra en la Figura 27.11.
Nota: http://httpd.apache.org/docs-2.0/vhosts/ y la documentacin del Servidor HTTP Apache en su mquina le proporciona ms informacin sobre los hosts virtuales.
7
Captulo 27: El Servidor Web Apache Host Virtual basado en IP Si usted escoge IP based Virtual Host, una ventana aparece para configurar la directiva <VirtualHost> basado en la direccin IP del servidor. Especifique la direccin IP en el campo IP address. Para especificar ms de una direccin IP se dirigen, separe cada direccin IP con espacios. Para especificar un puerto, use la sintaxis IP Address:Port. Use: * para configurar todos los puertos para la direccin IP. Especifique el nombre del host para el host virtual en el campo Server Host Name.
Host Virtual basado en el nombre: Si usted escoge Name based Virtual Host, una ventana aparece para configurar la directiva NameVirtualHost basado en el nombre del host del servidor. Especifique la direccin IP en el campo IP address. Para especificar ms de una direccin IP, separe cada direccin IP con espacios. Para especificar un puerto, use la sintaxis IP Address:Port. Use: * para configurar todos los puertos para la direccin IP. Especifique el nombre del host virtual en el campo Server Host Name. En la seccin Aliases, haga clic en Aadir para agregar un alias al host virtual. Al agregar un alias utiliza la directiva ServerAlias dentro de la directiva NameVirtualHost.
27...2. SSL
Si un Servidor HTTP Apache no se configura con el soporte SSL, las comunicaciones entre un Servidor HTTP Apache y sus clientes no se encriptan. Esto es apropiado para websites sin informacin personal o confidencial. Por ejemplo, un website open source que distribuye software open source y documentacin no tiene necesidad de una comunicacin segura. Sin embargo, un website e-commerce que requiere la informacin de la tarjeta de crdito debera usar el soporte Apache SSL para encriptar sus comunicaciones. Habilitando el soporte Apache SSL se habilita el uso del mdulo de seguridad de mod_ssl. Para habilitarlo a travs de la Herramienta de Configuracin HTTP usted debe permitir el acceso a travs de puerto 443 bajo la ficha Principal Direcciones disponibles (Available addresses).
Refirase a la Seccin 27.4. Configuraciones Bsicas para los detalles. Despus, seleccione el nombre del host virtual en la ficha Hosts virtuales (Virtual Hosts), haga clic en el botn Modificar (Edit), escoja la ficha SSL del men, y verifique la opcin Habilitar el soporte SSL (Enable SSL Support) como se muestra en la Figura 27.13. En la seccin SSL Configuration se pre-configura con el certificado digital dummy. El certificado digital provee autenticacin a su servidor Web seguro e identifica el servidor seguro a los navegadores Web del cliente. Usted debe comprar su propio certificado digital. No use el certificado dummy provisto por Linux Fedora para su website. 20
El campo Directorio de vaciado del ncleo (Core Dump Directory) se corresponde con la directiva CoreDumpDirectory. El Servidor HTTP Apache intenta cambiar a este directorio antes de descargar la memoria. El valor predefinido es ServerRoot. Sin embargo, si el servidor no puede escribir a este directorio, el vaciado de memoria no podr realizarse. Cambie este valor a un directorio con permisos de escritura por el usuario, si usted quiere realizar algunas depuraciones. El valor de la opcin Usuario (User) se corresponde con la directiva User. Pone el user-id usado por el servidor para contestar las demandas. Las configuraciones de este usuario determinan el acceso del servidor. Cualquiera archivo inaccesible para este usuario es tambin inaccesible para los visitantes a su website. El valor predeterminado para Usuario es apache. 2
Sistema Operativo Linux El usuario debe tener slo privilegios para que pueda acceder a los archivos que se supone son visibles al mundo externo. El usuario tambin es el dueo de cualquier proceso CGI tratado por el servidor. Al usuario no se le debe permitir ejecutar cualquier cdigo que no esta pensado como respuesta a las demandas de HTTP.
Advertencia: Por seguridad no ponga en la directiva Usuario al usuario root. Si hace esto ocasionar un agujero en la seguridad de su servidor Web.
El proceso httpd primero corre como root durante las operaciones normales, pero despus es manejado por el usuario apache. El servidor debe empezar como root porque necesita ligarse a un puerto menor a 1024. Los puertos debajo de 1024 son reservados para el uso del sistema, para que ellos no pueden usarse por cualquiera sino por root. Una vez el servidor se ha conectado a su puerto, este traslada el manejo al usuario apache antes de que acepte cualquier demanda de conexin. El valor de la opcin Grupo (Group) se corresponde con la directiva Group. La directiva Group es similar a la directiva Usuario. La opcin Group pone el grupo bajo el servidor que contestar las demandas. El grupo predefinido tambin es apache.
22
Captulo 27: El Servidor Web Apache La opcin Tiempo mximo de expiracin de la conexin (Connection Timeout) define, en segundos, la cantidad de tiempo que su servidor esperar por los recibos y transmisiones durante las comunicaciones. Especficamente, Tiempo mximo de expiracin de la conexin define cunto tiempo su servidor esperar por recibir una demanda GET, cunto tiempo esperar recibir paquetes TCP en una demanda POST o PUT y cunto tiempo esperar entre ACKs para responder a los paquetes TCP. Por defecto, Tiempo mximo de expiracin de la conexin se pone a 300 segundos que es muy apropiado para la mayora de las situaciones. Esta opcin corresponde a la directiva TimeOut.
La opcin Peticiones mximas de conexin (Max requests per connection) permite configurar el nmero mximo de demandas permitido por una conexin persistente. El valor predefinido es 100 que debera ser apropiado para la mayora de las situaciones. Esta opcin corresponde a la directiva MaxRequestsPerChild. Si usted verifica la opcin Permitir peticiones ilimitadas por conexin (Allow unlimited requests per connection), la directiva MaxKeepAliveRequests se activa y se permiten las demandas ilimitadas. Si usted no marca la opcin Permitir las conexiones persistentes (Allow Persistent Connections), la directiva KeepAlive es puesta a false. Si usted lo verifica, la directiva KeepAlive es puesta a true, y la directiva KeepAliveTimeout se pone al valor nmero que se seleccion como tiempo expirado para el prximo valor de Conexin. Esta directiva pone el nmero de segundos que su servidor esperar por una demanda subsecuente, despus de que una demanda se ha atendido, antes que se cierre la conexin. Una vez una demanda se ha recibido, el valor Connection Timeout se aplica en cambio. 2
Sistema Operativo Linux Poniendo las Conexiones Persistentes a un valor alto pueden causar que el servidor tenga una actividad lenta, dependiendo de cuntos usuarios estn intentando conectarse a l. Al ser ms alto el nmero, el servidor procesa ms esperando por otra conexin del ltimo cliente que se conect a l.
2
2
2
27
2
2
0
2
7
0
2
Ejecute man httpd para ver informacin sobre el demonio httpd. http://www.apache.org: The Apache Software Foundation
http://httpd.apache.org/docs-2.0/: La documentacin de La Fundacin del Software para el Servidor HTTP Apache versin 2.0, incluye una Gua del usuario del Servidor HTTP Apache v2.0.