Вы находитесь на странице: 1из 59

Apache HTTP Server

El Servidor HTTP Apache es un servidor Web de tecnologa Open Source slido y para uso comercial desarrollado por Apache Software Foundation (http://www.apache.org/ ). Red Hat Enterprise Linux incluye el Servidor HTTP Apache versin 2.2 as como tambin una serie de mdulos de servidor diseados para mejorar su funcionalidad. El archivo de configuracin predeterminado instalado en el Servidor HTTP Apache funciona sin necesidad de modificarlo, en la mayor parte de los casos. Este captulo da una idea general de las directrices dentro de este archivo de configuracin (/etc/httpd/conf/httpd.conf) para ayudar a aquellos que requieren una configuracin personalizada o que necesitan convertir un archivo de configuracin del formato ms antiguo del Servidor HTTP Apache versin 1.3.

Advertencia
If using the graphical HTTP Configuration Tool (system-config-httpd ), do not hand edit the Apache HTTP Server's configuration file as the HTTP Configuration Tool regenerates this file whenever it is used.

22.1. Servidor HTTP Apache Versin 2.2


There are important differences between the Apache HTTP Server 2.2 and version 2.0 (version 2.0 shipped with Red Hat Enterprise Linux 4 and earlier). This section reviews some of the features of Apache HTTP Server 2.2 and outlines important changes. If you are upgrading from version 1.3, you should also read the instructions on migrating from version 1.3 to version 2.0. For instructions on migrating a version 1.3 configuration file to the 2.0 format, refer to Seccin 22.2.2, Migracin de los Archivos de Configuracin del Servidor HTTP Apache de la Versin 1.3 a la 2.0.

22.1.1. Caractersticas del Servidor HTTP Apache Versin 2.2


El Servidor HTTP Apache Versin 2.2 presenta las siguientes mejoras sobre las versin 2.0: Mdulos de cacheo mejorados (mod_cache, mod_disk_cache, mod_mem_cache). Una nueva estructura para el soporte de autenticacin y autorizacin que remplaza los mdulos de autenticacin proporcionados en las versiones anteriores. Soporte para balanceo de carga proxy (mod_proxy_balancer) soporte para manejo de archivos grandes (ms grandes de 2 GB) en plataformas de 32 bits. Se han realizado los siguientes cambios a la configuracin httpd predeterminada: Los mdulos mod_cern_meta y mod_asis ya no se cargan por defecto. Ahora el mdulo mod_ext_filter se carga por defecto. Si actualiza desde un lanzamiento previo de Red Hat Enterprise Linux, la configuracin httpd necesitar actualizarse para httpd 2.2. Para obtener ms informacin refirase a http:// httpd.apache.org/docs/2.2/upgrading.html.

327

Migracin de los Archivos de Configuracin del Servidor HTTP Apache de la Versin 1.3 a la 2.0

22.2. Migracin de los Archivos de Configuracin del Servidor HTTP Apache


22.2.1. Migracin de los Archivos de Configuracin del Servidor HTTP Apache Versin 2.0.
This section outlines migration from version 2.0 to 2.2. If you are migrating from version 1.3, please refer to Seccin 22.2.2, Migracin de los Archivos de Configuracin del Servidor HTTP Apache de la Versin 1.3 a la 2.0. Los archivos de configuracin y los scripts de inicializacin de la versin 2.0 necesitan ajustes mnimos particularmente en los nombres de los mdulos los cuales pueden haber cambiado. Los mdulos de terceros que servan en la versin 2.0 tambin sirven en la versin 2.2 pero necesitan ser recompilados antes de que los cargue. Los mdulos claves que se deben observar son los mdulos de autenticacin y autorizacin. Para cada unos de los mdulos que ha sido renombrado 1 ser necesario actualizar la lnea LoadModule . El mdulo mod_userdir slamente actuar bajo pedidos si proporciona una directiva UserDir indicando un nombre de directorio. Si desea mantener los procedimientos utilizados en la versin 2.0 aada la directiva UserDir public_html en su archivo de configuracin. Para habilitar SSL, edite el archivo httpd.conf aadiendo las directivas necesarias mod_ssl. Utilice apachectl start ya que apachectl startssl no se encuentra disponible en la versin 2.2. Puede ver un ejemplo de la configuracin SSL para httpd en conf/extra/httpdssl.conf . Para probar su configuracin se le aconseja que utilice service httpd configtest la cual detectar errores de configuracin. Para obtener ms informacin sobre como actualizar desde la versin 2.0 a la 2.2 puede ir a http:// httpd.apache.org/docs/2.2/upgrading.html .

22.2.2. Migracin de los Archivos de Configuracin del Servidor HTTP Apache de la Versin 1.3 a la 2.0
Esta seccin detalla la migracin de un archivo de configuracin del Servidor HTTP Apache versin 1.3 para el Servidor HTTP Apache versin 2.0 lo pueda utilizar. Si est actualizando a Red Hat Enterprise Linux 5 desde Red Hat Enterprise Linux 2.1 tenga en cuenta que el nuevo archivo de configuracin para el paquete del Servidor HTTP Apache versin 2.0 es instalado como /etc/httpd/conf/httpd.conf.rpmnew y no se toca la versin original 1.3 httpd.conf. Depende absolutamente de usted si decide utilizar el nuevo archivo de configuracin y migrar los viejos cambios o si utilizar el archivo ya existente como base y modificarlo para que se adapte; sin embargo, algunas partes del archivo se han cambiado ms que otras y lo mejor es llegar a un punto intermedio. Los archivos de configuracin para ambas versiones la 1.3 y la 2.0 estn dividos en tres secciones. Si el archivo /etc/httpd/conf/httpd.conf es una versin modificada de la versin por defecto recin instalada y ha guardado una copia del original, entonces le ser ms fcil invocar el comando diff, como se muestra a continuacin (conectndose como root):

328

Migracin de los Archivos de Configuracin del Servidor HTTP Apache de la Versin 1.3 a la 2.0

diff -u httpd.conf.orig httpd.conf | less

Este comando subraya los cambios realizados. Si no tiene una copia del archivo original, cjalo del paquete RPM usando los comandos rpm2cpio y cpio, como en el ejemplo siguiente:
rpm2cpio apache- <version-number>.i386.rpm | cpio -i --make

In the above command, replace <version-number> with the version number for the apache package. Finalmente, es til saber que el Servidor HTTP Apache tiene un modo de prueba para verificar si hay errores en la configuracin. Para ello, escriba el siguiente comando:
apachectl configtest

22.2.2.1. Configuracin del entorno a nivel global


La seccin del entorno global del archivo de configuracin contiene directrices que afectan la operacin general del Servidor HTTP Apache como por ejemplo el nmero de peticiones que puede manejar al mismo tiempo y la ubicacin de varios archivos que usa. Esta seccin requiere un gran nmero de cambios y por ello se recomienda que base esta seccin en el archivo de configuracin del Servidor HTTP Apache versin 2.0 y que migre sus configuraciones anteriores a este.

22.2.2.1.1. Interfaces y vinculacin de puertos


Ya no existen las directrices BindAddress y Port; porque quedan recogidas en la directriz Listen. Si tena configurado el Puerto 80 en el archivo de configuracin de la versin 1.3, debe cambiarlo a Listen 80 en el archivo de configuracin 2.0. Si el valor del Puerto estaba configurado a un valor diferente que 80, tiene que poner el nmero del puerto a los contenidos de la directriz ServerName . Por ejemplo, el siguiente es un ejemplo de la directtriz de Servidor HTTP Apache de la versin 1.3:
Port 123 ServerName www.example.com

Para migrar esta configuracin al Servidor HTTP Apache versin 2.0 utilice la siguiente estructura:

Listen 123 ServerName www.example.com:123

For more on this topic, refer to the following documentation on the Apache Software Foundation's website: http://httpd.apache.org/docs-2.0/mod/mpm_common.html#listen http://httpd.apache.org/docs-2.0/mod/core.html#servername

22.2.2.1.2. Regulacin del tamao del pool de servidores


Cuando el Servidor HTTP Apache acepta peticiones, este despacha procesos hijo o hilos para que los manejen. Este grupo de procesos o hilos es conocido como un pool de servidores. Bajo el Servidor HTTP Apache versin 2.0 se ha abstrado la responsabilidad de crear y mantener estos pool de servidores a un grupo de mdulos llamados Mdulos de Procesos Mltiples (MPMs ). A diferencia de otros mdulos, el Servidor HTTP Apache slamente puede cargar un mdulo del grupo MPM.

329

Migracin de los Archivos de Configuracin del Servidor HTTP Apache de la Versin 1.3 a la 2.0

Hay tres mdulos MPM incluidos con la versin 2.0: prefork, worker , y perchild. Actualmente, nicamente estn disponibles los MPMs prefork y worker , aunque el MPM perchild estar disponible ms adelante. El comportamiento del Servidor HTTP Apache 1.3 original ha sido movido al MPM prefork. El MPM prefork acepta las mismas directrices que el Servidor HTTP Apache versin 1.3 por tanto, las siguientes directrices se pueden migrar directamente: StartServers MinSpareServers MaxSpareServers MaxClients MaxRequestsPerChild El MPM worker implementa un servidor multi-proceso y multi-hilos proporcionando una mayor escalabilidad. Cuando este utilizando este MPM, los hilos manejan las peticiones conservando recursos del sistema y permitiendo servir a grandes nmeros de peticiones de manera eficiente. An cuando algunas de las directrices aceptadas por el MPM worker son las mismas que aquellas aceptadas por el MPM prefork los valores para esas directrices no deberan ser transferidos directamente desde una instalacin del Servidor HTTP Apache versin 1.3. Es mejor utilizar los valores por defecto como una gua y luego experimentar para determinar los valores que funcionan mejor.

Importante
Para utilizar el MPM worker , cree el archivo /etc/sysconfig/httpd y aada la directriz siguiente:

HTT PD =/ usr/sbin/httpd.worker

For more on the topic of MPMs, refer to the following documentation on the Apache Software Foundation's website: http://httpd.apache.org/docs-2.0/mpm.html

22.2.2.1.3. Soporte del Dynamic Shared Object (DSO) (Objeto dinmico compartido)
Se tienen que realizar muchos cambios aqu, por eso se recomienda que para modificar la configuracin del Servidor HTTP Apache 1.3 para adaptarse a la versin 2.0 (al contrario de migrar los cambios en la configuracin de la versin 2.0) copie esta seccin del archivo de configuracin del Servidor HTTP Apache 2.0. Aquellos que no deseen copiar la seccin desde la configuracin del Servidor HTTP Apache versin 2.0 deberan tomar en cuenta lo siguiente: Las directrices AddModule y ClearModuleList ya no existen. Estas directrices eran usadas para asegurarse de que se pudiesen activar los mdulos en el orden correcto. El Servidor HTTP

330

Migracin de los Archivos de Configuracin del Servidor HTTP Apache de la Versin 1.3 a la 2.0

Apache versin 2.0 permite a los mdulos especificar su orden, eliminando la necesidad de estas dos directrices. El orden de las lneas LoadModule ya no es relevante en la mayora de los casos. Se han aadido muchos mdulos, otros han sido eliminados, renombrado, dividido o incorporados con otros. Ya no son necesarias las lneas LoadModule para los mdulos empaquetados en sus propios RPMs (mod_ssl , php, mod_perl y similares) ya que se pueden encontrar en sus archivos relevantes dentro del directorio /etc/httpd/conf.d/. Las definiciones HAVE_XXX ya no existen.

Importante
Si se est modificando el archivo original, por favor tenga en cuenta que es de suma importancia que httpd.conf contenga la directriz siguiente:

Include conf.d/*.conf

La omisin de esta directriz podra resultar en la falla de todos los mdulos enpaquetados en sus propios RPMs (tales como mod_perl , php y mod_ssl ).

22.2.2.1.4. Otros cambios en el entorno global


The following directives have been removed from Apache HTTP Server 2.0's configuration: ServerType El Servidor HTTP Apache se puede ejecutar slamente como ServerType standalone por lo que esta directriz es irrelevante. AccessConfig y ResourceConfig Se han eliminado estas directrices porque su funcionalidad aparece ya en la directriz Include. Si las directrices AccessConfig y ResourceConfig son configuradas, entonces reemplcelas por las directrices Include. Para asegurarse que estos archivos se lean en el orden de las antiguas directrices, las directrices Include se deberan colocar al final de httpd.conf, con la correspondiente a ResourceConfig precediendo la que corresponde a AccessConfig . Si se estan usando los valores por defecto, inclyalos explcitamente como archivos conf/srm.conf y conf/access.conf.

22.2.2.2. Configuracin del servidor principal


The main server configuration section of the configuration file sets up the main server, which responds to any requests that are not handled by a virtual host defined within a <VirtualHost> container. Values here also provide defaults for any <VirtualHost> containers defined. Las directrices utilizadas en esta seccin han cambiado ligeramente respecto a las del Servidor HTTP Apache versin 1.3 y la versin 2.0. Si la configuracin del servidor principal est altamente personalizada, le ser ms fcil modificar el archivo de configuracin existente para que se adapte a la versin 2.0 del Servidor HTTP Apache. Los usuarios con secciones del servidor principal ligeramente personalizadas deberan migrar sus cambios al archivo de configuracin 2.0 predeterminado.

331

Migracin de los Archivos de Configuracin del Servidor HTTP Apache de la Versin 1.3 a la 2.0

22.2.2.2.1. Asignaciones UserDir


La directriz UserDir se usa para habilitar URLs tales como http://example.com/~bob/ para mapear a un subdirectorio dentro del directorio home del usuario bob tal como /home/bob/ public_html/. Un efecto secundario de esta caracterstica es que un potencial atacante puede determinar si un nombre de usuario dado se encuentra en el sistema; por esta razn la configuracin por defecto para el Servidor HTTP Apache desactiva esta directriz. Para habilitar la asignacin de UserDir , cambie la directriz en httpd.conf desde:

UserDir disable

a lo siguiente:

UserDir public_html

For more on this topic, refer to the following documentation on the Apache Software Foundation's website: http://httpd.apache.org/docs-2.0/mod/mod_userdir.html#userdir

22.2.2.2.2. Logging
Se han eliminado las siguientes directrices de conexin: AgentLog RefererLog RefererIgnore Sin embargo, las conexiones agent y referrer estan disponibles usando las directrices CustomLog y LogFormat . For more on this topic, refer to the following documentation on the Apache Software Foundation's website: http://httpd.apache.org/docs-2.0/mod/mod_log_config.html#customlog http://httpd.apache.org/docs-2.0/mod/mod_log_config.html#logformat

22.2.2.2.3. ndice de directorios


Se ha eliminado la directriz FancyIndexing. La misma funcionalidad se encuentra ahora en FancyIndexing option dentro de la directriz IndexOptions . La opcin VersionSort para la directriz IndexOptions causa que los archivos conteniendo nmeros de versiones sean ordenados de una forma ms natural. Por ejemplo, httpd-2.0.6.tar aparece antes de httpd-2.0.36.tar en una pgina de ndices de directorio. Las directrices predeterminadas ReadmeName y HeaderName han sido cambiadas desde README y HEADER a README.html y HEADER.html.

332

Migracin de los Archivos de Configuracin del Servidor HTTP Apache de la Versin 1.3 a la 2.0

For more on this topic, refer to the following documentation on the Apache Software Foundation's website: http://httpd.apache.org/docs-2.0/mod/mod_autoindex.html#indexoptions http://httpd.apache.org/docs-2.0/mod/mod_autoindex.html#readmename http://httpd.apache.org/docs-2.0/mod/mod_autoindex.html#headername

22.2.2.2.4. Negociacin de contenido


La directriz CacheNegotiatedDocs toma ahora el argumento on o off . Las instancias existentes de CacheNegotiatedDocs deberan ser cambiadas con CacheNegotiatedDocs on . For more on this topic, refer to the following documentation on the Apache Software Foundation's website: http://httpd.apache.org/docs-2.0/mod/mod_negotiation.html#cachenegotiateddocs

22.2.2.2.5. Documentos de error


To use a hard-coded message with the ErrorDocument directive, the message should be enclosed in a pair of double quotation marks ", rather than just preceded by a double quotation mark as required in Apache HTTP Server 1.3. Por ejemplo, el siguiente es un ejemplo de la directtriz de Servidor HTTP Apache de la versin 1.3:

ErrorDocument 404 "The document was not found

Para migrar la configuracin de ErrorDocument al Servidor HTTP Apache versin 2.0, utilice la siguiente estructura:

ErrorDocument 404 "The document was not found"

Observe las dobles comillas en la directriz ErrorDocument del ejemplo anterior. For more on this topic, refer to the following documentation on the Apache Software Foundation's website: http://httpd.apache.org/docs-2.0/mod/core.html#errordocument

22.2.2.3. Configuracin de host virtuales


The contents of all <VirtualHost> containers should be migrated in the same way as the main server section as described in Seccin 22.2.2.2, Configuracin del servidor principal.

Importante
Observe que la configuracin de las mquinas virtuales SSL/TLS se han quitado del archivo de configuracin del servidor principal al archivo /etc/httpd/conf.d/ ssl.conf .

333

Migracin de los Archivos de Configuracin del Servidor HTTP Apache de la Versin 1.3 a la 2.0

http://httpd.apache.org/docs-2.0/vhosts/

22.2.2.4. Mdulos y el Servidor HTTP Apache 2.0


En la versin 2.0 del Servidor HTTP Apache el sistema de mdulos se ha cambiado para permitir que los mdulos se encadenen o se combinen en maneras nuevas e interesantes. Los scripts CGI (Common Gateway Interface), por ejemplo, pueden generar documentos HTML interpretados por el servidor que luego pueden ser procesados por mod_include. Esto abre una gran cantidad de posibilidades en lo que se refiere a cmo los mdulos pueden combinarse para lograr una meta determinada. La forma en que esto funciona es que cada peticin es servida por exctamente un mdulo handler seguido por cero o ms mdulos filtro. Bajo el Servidor HTTP Apache 1.3, por ejemplo, un script Perl es manejado completamente por el mdulo Perl (mod_include). En la versin 2.0 del Servidor HTTP Apache la peticin la gestiona inicialmente el mdulo principal que sirve archivos estticos y que es luego filtrado por mod_perl . Exactamente cmo utilizar esto y otras de las nuevas caractersticas del Servidor HTTP Apache 2.0, estn ms all del alcance de este documento; sin embargo, el cambio tiene ramificaciones si ha usado la directriz PATH_INFO para un documento que es gestionado por un mdulo que ahora se implementa como un filtro, pues cada uno contiene informacin del recorrido del nombre del archivo verdadero. El mdulo principal, que inicialmente manejaba la peticin, no entiende por defecto PATH_INFO y devuelve el error 404 Not Found para las peticiones que contienen dicha informacin. Como alternativa puede utilizar la directriz AcceptPathInfo para obligar al mdulo principal a que acepte peticiones con PATH_INFO. A continuacin se presenta un ejemplo de esta directriz:

AcceptPathInfo on

For more on this topic, refer to the following documentation on the Apache Software Foundation's website: http://httpd.apache.org/docs-2.0/mod/core.html#acceptpathinfo http://httpd.apache.org/docs-2.0/handler.html http://httpd.apache.org/docs-2.0/filter.html

22.2.2.4.1. El mdulo suexec


En el Servidor HTTP Apache 2.0, el mdulo mod_suexec utiliza la directriz SuexecUserGroup en vez de las directrices User y Group, la cual se utiliza para configurar hosts virtuales. Las directrices User y Group tambin se pueden utilizar en general, pero no para la configuracin de hosts virtuales. Por ejemplo, el siguiente es un ejemplo de la directtriz de Servidor HTTP Apache de la versin 1.3:

<VirtualHost vhost.example.com:80>

User someone Group somegroup </VirtualHost>

Para migrar esta configuracin al Servidor HTTP Apache versin 2.0 utilice la siguiente estructura:

334

Migracin de los Archivos de Configuracin del Servidor HTTP Apache de la Versin 1.3 a la 2.0

<VirtualHost vhost.example.com:80> SuexecUserGroup someone somegroup </VirtualHost>

22.2.2.4.2. El mdulo mod_ssl


The configuration for mod_ssl has been moved from the httpd.conf file into the /etc/httpd/ conf.d/ssl.conf file. For this file to be loaded, and for mod_ssl to work, the statement Include conf.d/*.conf must be in the httpd.conf file as described in Seccin 22.2.2.1.3, Soporte del Dynamic Shared Object (DSO) (Objeto dinmico compartido). Las directrices ServerName en las mquinas virtuales SSL tienen que especificar el nmero del puerto. Por ejemplo, el siguiente es un ejemplo de la directtriz de Servidor HTTP Apache de la versin 1.3:

<VirtualHost _default_:443> # General setup for the virtual host ServerName ssl.example.name ... </VirtualHost>

Para migrar esta configuracin al Servidor HTTP Apache versin 2.0 utilice la siguiente estructura:

<VirtualHost _default_:443> # General setup for the virtual host ServerName ssl.host.name:443 ... </VirtualHost>

It is also important to note that both the SSLLog and SSLLogLevel directives have been removed. The mod_ssl module now obeys the ErrorLog and LogLevel directives. Refer to ErrorLog and LogLevel for more information about these directives. For more on this topic, refer to the following documentation on the Apache Software Foundation's website: http://httpd.apache.org/docs-2.0/mod/mod_ssl.html http://httpd.apache.org/docs-2.0/vhosts/

22.2.2.4.3. El mdulo mod_proxy


Proxy access control statements are now placed inside a <Proxy> block rather than a <Directory proxy:> . La funcionalidad de cach del antiguo mod_proxy se ha dividido en tres mdulos siguientes: mod_cache mod_disk_cache mod_mem_cache Estos generalmente usan directrices similares a las versiones anteriores del mdulo mod_proxy , pero se recomienda que verifique cada directriz antes de migrar cualquier configuracin cach. For more on this topic, refer to the following documentation on the Apache Software Foundation's website:

335

Migracin de los Archivos de Configuracin del Servidor HTTP Apache de la Versin 1.3 a la 2.0

http://httpd.apache.org/docs-2.0/mod/mod_proxy.html

22.2.2.4.4. El mdulo mod_include


The mod_include module is now implemented as a filter and is therefore enabled differently. Refer to Seccin 22.2.2.4, Mdulos y el Servidor HTTP Apache 2.0 for more about filters. Por ejemplo, el siguiente es un ejemplo de la directtriz de Servidor HTTP Apache de la versin 1.3:

AddType text/html .shtml AddHandle r server-parsed .shtml

Para migrar esta configuracin al Servidor HTTP Apache versin 2.0 utilice la siguiente estructura:

AddType text/html .shtml AddOutputFilter INCLUDES .shtml

Note that the Options +Includes directive is still required for the <Directory> container or in a .htaccess file. For more on this topic, refer to the following documentation on the Apache Software Foundation's website: http://httpd.apache.org/docs-2.0/mod/mod_include.html

22.2.2.4.5. Los mdulos mod_auth_dbm y mod_auth_db


El Servidor HTTP Apache 1.3 soportaba dos mdulos de autenticacin, mod_auth_db y mod_auth_dbm que usaba las bases de datos Berkeley y DBM respectivamente. Estos mdulos se han combinado en un nico mdulo que se llama mod_auth_dbm en el Servidor HTTP Apache 2.0, que puede acceder a diferentes formatos de bases de datos. Para migrar desde mod_auth_db los archivos de configuracin se tienen que ajustar reemplazando AuthDBUserFile y AuthDBGroupFile con los equivalentes: AuthDBMUserFile y AuthDBMGroupFile . Tambin, se debe aadir la directriz AuthDBMType DB para indicar el tipo de archivo de base de datos en uso. El siguiente ejemplo muestra una configuracin mod_auth_db de ejemplo para el Servidor HTTP Apache 1.3:

<Location /private/> AuthType Basic AuthName "My Private Files" AuthDBUserFi le /var/www/authdb require valid-user </Location>

Para migrar esta configuracin a la versin 2.0 del Servidor HTTP Apache 2.0 utilice la siguiente estructura:

<Location /private/> AuthType Basic AuthName "My Private Files" AuthDB MUserFile /var/www/ authdb AuthDBMType DB require valid-user </Location>

Observe que la directriz AuthDBMUserFile tambin puede ser usada en archivos .htaccess . El script Perl dbmmanage que se utiliza para manipular bases de datos de nombres de usuarios y contraseas ha sido reemplazado por htdbm en el Servidor HTTP Apache 2.0. El programa htdbm ofrece una funcionalidad equivalente y como mod_auth_dbm puede operar en una variedad de

336

Migracin de los Archivos de Configuracin del Servidor HTTP Apache de la Versin 1.3 a la 2.0

formatos de bases de datos; la opcin -T se puede usar en la lnea de comandos para especificar el formato a utilizar. Tabla 22.1, Mi gracin del dbmmanage a htdbm shows how to migrate from a DBM-format database to htdbm format using dbmmanage. Action Aade un usuario a la base de datos (usando la contrasea dada) Aade un usuario a la base de datos ( le pide la contrasea) Eliminar el usuario de la base de datos Listar usuarios en la base de datos Verificar una contrasea comando dbmmanage (1.3) dbmmanage authdb add username password dbmmanage authdb adduser username dbmmanage authdb delete username dbmmanage authdb view comando equivalente htdbm (2.0) htdbm -b -TDB authdb username password htdbm -TDB authdb username htdbm -x -TDB authdb username htdbm -l -TDB authdb htdbm -v -TDB authdb username

dbmmanage authdb check username Tabla 22.1. Migracin del dbmmanage a htdbm

Las opciones -m y -s trabajan con dbmmanage y con htdbm, permitiendo el uso de los algortimos MD5 o SHA1 para las contraseas hashing, respectivamente. Cuando cree una nueva base de datos con htdbm, use la opcin -c. For more on this topic, refer to the following documentation on the Apache Software Foundation's website: http://httpd.apache.org/docs-2.0/mod/mod_auth_dbm.html

22.2.2.4.6. El mdulo mod_perl


The configuration for mod_perl has been moved from httpd.conf into the file /etc/httpd/ conf.d/perl.conf. For this file to be loaded, and hence for mod_perl to work, the statement Include conf.d/*.conf must be included in httpd.conf as described in Seccin 22.2.2.1.3, Soporte del Dynamic Shared Object (DSO) (Objeto dinmico compartido). Las ocurrencias del Apache:: en el httpd.conf tienen que ser sustitudas por ModPerl:: . Adems, se ha cambiado el modo en que se registran los manejadores. Ejemplo de configuracin del Servidor HTTP Apache 1.3 mod_perl:

<Directory /var/www/perl> SetHandler perl-script PerlHandler Apache::Registry Options +ExecCGI </Directory>

Este es el equivalente del mod_perl para el Servidor HTTP Apache 2.0:

<Directory /var/www/perl> SetHandler perl-script PerlResponseHandler ModPerl::Registry Options +ExecCGI </Directory>

337

Migracin de los Archivos de Configuracin del Servidor HTTP Apache de la Versin 1.3 a la 2.0

La mayora de los mdulos para mod_perl 1.x deberan funcionar sin modificacin con los mdulos mod_perl 2.x. Los mdulos XS requieren recompilacin y quizs algunas modificaciones menores de Makefile.

22.2.2.4.7. El mdulo mod_python


Configuration for mod_python has moved from httpd.conf to the /etc/httpd/conf.d/ python.conf file. For this file to be loaded, and hence for mod_python to work, the statement Include conf.d/*.conf must be in httpd.conf as described in Seccin 22.2.2.1.3, Soporte del Dynamic Shared Object (DSO) (Objeto dinmico compartido).

22.2.2.4.8. PHP
The configuration for PHP has been moved from httpd.conf into the file /etc/httpd/conf.d/ php.conf. For this file to be loaded, the statement Include conf.d/*.conf must be in httpd.conf as described in Seccin 22.2.2.1.3, Soporte del Dynamic Shared Object (DSO) (Objeto dinmico compartido).

Nota
Cualquier directriz de configuracin PHP utilizada en el Servidor HTTP Apache 1.3 ahora es completamente compatible cuando se migra al Servidor HTTP Apache 2.0 en Red Hat Enterprise Linux 5. En PHP 4.2.0 y posterior, el conjunto predeterminado de variables predefinidas que estn disponibles en el mbito global, han cambiado. Las entradas individuales y las variables del servidor, por defecto, ya no se colocan directamente en el mbito global. Este cambio puede hacer que se rompan los scripts. Cmbiese al antiguo comportamiento colocando register_globals a On en el archivo / etc/php.ini . Para mayor informacin sobre estos temas, consulte los siguientes sitios web: http://www.php.net/release_4_1_0.php

22.2.2.4.9. El mdulo mod_authz_ldap


Red Hat Enterprise Linux ships with the mod_authz_ldap module for the Apache HTTP Server. This module uses the short form of the distinguished name for a subject and the issuer of the client SSL certificate to determine the distinguished name of the user within an LDAP directory. It is also capable of authorizing users based on attributes of that user's LDAP directory entry, determining access to assets based on the user and group privileges of the asset, and denying access for users with expired passwords. The mod_ssl module is required when using the mod_authz_ldap module.

Importante
El mdulo mod_authz_ldap no valida un usuario a un directorio LDAP usando un hash de contrasea encriptada. Esta funcionalidad es proporcionada por el mdulo experimental mod_auth_ldap . Consulte la documentacin en lnea de mod_auth_ldap en http://httpd.apache.org/docs-2.0/mod/mod_auth_ldap.html para ms detalles sobre el estatus de este mdulo. El archivo /etc/httpd/conf.d/authz_ldap.conf configura al mdulo mod_authz_ldap.

338

Arrancar y detener httpd

Refer to /usr/share/doc/mod_authz_ldap-<version> /index.html (replacing <version> with the version number of the package) or http://authzldap.othello.ch/ for more information on configuring the mod_authz_ldap third party module.

22.3. Arrancar y detener httpd


After installing the httpd package, review the Apache HTTP Server's documentation available online at http://httpd.apache.org/docs/2.2/ . El RPM de httpd instala el script /etc/init.d/httpd, el cual se puede acceder usando el comando /sbin/service . Iniciando httpd utilizandoel script de control apachectl configura las variables del entorno en /etc/sysconfig/httpd e inicia httpd. Tambin puede configurar las variables del entorno utilizando el script de inicializacin. Para arrancar el servidor utilizando el script de control apachectl como tipo root:

apachectl start

Tambin puede arrancar httpd utilizando /sbin/service httpd start. Esto inicia httpd pero no configura las variables del entorno. Si est utilizando la directriz predeterminada Listen en httpd.conf, la cual es el puerto 80, necesitar contar con privilegios de usuario root para iniciar el servidor apache. Para detener el servidor, como root escriba:

apachectl stop

Tambin puede detener httpd utilizando /sbin/service httpd stop. La opcin restart es una manera ms rpida de detener y luego iniciar el Servidor HTTP Apache. Para reiniciar el servidor como root escriba:

apachectl restart or: /sbin/service httpd restart

Apache presentar un mensaje en la consola o en el ErrorLog si encuentra un error al iniciar. Por defecto, el servicio httpd no inicia automticamente al momento de arranque. Si quiere que Apache inicie al momento de arranque necesitar aadir una llamada a apachectl en sus archivos de inicalizacin dentro de su directorio rc.local. Un archivo que se utiliza tpicamente es rc.local. Ya que esto inicia Apache como usuario root se recomienda que configure apropiadamente su seguridad y autenticacin antes de aadir esta llamada. Tambin puede configurar el servicio httpd para iniciar en tiempo de arranque utilizando una herramienta script de inicializacin tal como /sbin/chkconfig , /usr/sbin/ntsysv , o el programa Services Configuration Tool. Tambin puede visualizar el estado de su servidor httpd escribiendo:

339

Arrancar y detener httpd

apachectl status

Sin embargo, el mdulo de estado mod_status necesita ser habilitado en su archivo de configuracin mod_status para que esto funcione. Para obtener ms detalles sobre mod_status vaya a http://httpd.apache.org/docs/2.2/mod/mod_status.html .

Nota
If running the Apache HTTP Server as a secure server, the secure server's password is required after the machine boots when using an encrypted private SSL key. Puede encontrar ms informacin en http://httpd.apache.org/docs/2.2/ssl

22.4. Configuracin del Servidor HTTP Apache


The HTTP Configuration Tool allows you to configure the /etc/httpd/conf/httpd.conf configuration file for the Apache HTTP Server. It does not use the old srm.conf or access.conf configuration files; leave them empty. Through the graphical interface, you can configure directives such as virtual hosts, logging attributes, and maximum number of connections. To start the HTTD Configuration Tool, click on System > Administration > Server Settings > HTTP . Slo se pueden configurar con la Herramienta de Configuracin HTTP aquellos mdulos que estn includos con Red Hat Enterprise Linux. Si se instalan otros mdulos, no se podrn configurar utilizando esta herramienta.

Advertencia
No modifique el archivo de configuracin /etc/httpd/conf/httpd.conf manualmente si desea utilizar esta herramienta. La Herramienta de Configuracin HTTP genera este archivo despus de que haya grabado los cambios y haya salido del programa. Si desea aadir mdulos u opciones de configuracin que no se encuentran en la Herramienta de Configuracin HTTP no podr usarla. Los pasos generales para configurar el Servidor HTTP Apache utilizando la Herramienta de Configuracin HTTP son los siguientes: 1. 2. 3. 4. 5. 6. 7. 8. Configure los aspectos bsicos que se encuentran en la pestaa Principal Haga clic en Hosts Virtualesy configure las opciones predeterminadas. Bajo la pestaa Hosts Virtuales configure el Host Virtual Predeterminado. Para servir ms de una URL o ms de un host virtual, aada cualquier host virtual adicional. Configure las caractersticas del servidor bajo la pestaa Servidor. Configure la configuracin de las conexiones bajo la pestaa Ajuste de Rendimiento . Copie todos los archivos necesarios a los directorios DocumentRoot y cgi-bin Salga de la aplicacin y seleccione guardar sus configuraciones.

340

Basic Settings

22.4.1. Basic Settings


Use la pestaa Principal para establecer las configuraciones bsicas del servidor.

Figura 22.1. Basic Settings Enter a fully qualified domain name that you have the right to use in the Server Name text area. 2 This option corresponds to the ServerName directive in httpd.conf. The ServerName directive sets the hostname of the Web server. It is used when creating redirection URLs. If you do not define a server name, the Web server attempts to resolve it from the IP address of the system. The server name does not have to be the domain name resolved from the IP address of the server. For example, you might set the server name to www.example.com while the server's real DNS name is foo.example.co m. Enter the email address of the person who maintains the Web server in the Webmaster email 3 address text area. This option corresponds to the ServerAdmin directive in httpd.conf. If you configure the server's error pages to contain an email address, this email address is used so that users can report a problem to the server's administrator. The default value is root@localhost. Utilice el rea Direcciones Disponibles para definir los puertos en los que el servidor acepta pedidos 4 entrantes. Esta opcin corresponde a la directriz Listen en httpd.conf. Por defecto, Red Hat configura el Servidor HTTP Apache para que escuche el puerto 80 para comunicaciones de web no seguras.
2 3 4

http://httpd.apache.org/docs/2.2/mod/core.html#servername http://httpd.apache.org/docs/2.2/mod/core.html#serveradmin http://httpd.apache.org/docs/2.2/mod/mpm_common. html#listen

341

Basic Settings

Click the Add button to define additional ports on which to accept requests. A window as shown in Figura 22.2, Available Addresses appears. Either choose the Listen to all addresses option to listen to all IP addresses on the defined port or specify a particular IP address over which the server accepts connections in the Address field. Only specify one IP address per port number. To specify more than one IP address with the same port number, create an entry for each IP address. If at all possible, use an IP address instead of a domain name to prevent a DNS lookup failure. Refer to http:// httpd.apache.org/docs/2.2/dns-caveats.html for more information about Issues Regarding DNS and Apache. Si introduce un asterisco (*) en el campo Direccionesequivaldr a elegir la opcin Escuchar todas las direcciones. Haga click en el botn Modificar en el recuadro de Direcciones disponibles muestra la misma ventana que el botn Aadir excepto los campos de la entrada seleccionada. Para borrar una entrada, seleccionela y haga clic en el botn Eliminar.

Tip
Si configur el servidor para escuchar en el puerto 1024, deber ser root para arrancarlo. Para el puerto 1024 y superiores, se puede arrancar httpd como un usuario normal.

Figura 22.2. Available Addresses

22.4.2. Configuraciones predeterminadas


Despus de definir el Nombre del Servidor, Direccin de correo eletrnico del webmaster y Direcciones Disponibles haga clic en la pestaa Hosts Virtuales. La figura a continuacin ilustra la pestaa Hosts Virtuales.

342

Configuraciones predeterminadas

Figura 22.3. Virtual Hosts Tab Al hacer clic en Modificar presentar la ventana de las Propiedades del Host Virtual desde donde usted puede configurarlo como desee. Para aadir nuevas configuraciones haga clic en el botn Aadir, el cual tambin presentar la ventana Propiedades del Host Virtual. Al hacer clic en el botn Modificar Configuracin Predeterminada aparecer una ventana Propiedades del Host Virtual sin la pestaa Opciones Generales . In the General Options tab, you can change the hostname, the document root directory and also set the webmaster's email address. In the Host information, you can set the Virtual Host's IP Address and Host Name. The figure below illustrates the General Options tab.

343

Configuraciones predeterminadas

Figura 22.4. General Options Si aade un host virtual, la configuracin del host virtual tiene prioridad para ese host virtual. Para una directriz no definida dentro de la configuracin del host virtual se utiliza el valor predeterminado.

22.4.2.1. Site Configuration


La figura a continuacin ilustra la pestaa Opciones de Pgina desde la cual puede configurar la Lista de Pginas del Directorio y Pginas de Error. Si no est seguro de esta configuracin no la modifique.

344

Configuraciones predeterminadas

Figura 22.5. Site Configuration Las entradas que aparecen en la Lista de Bsqueda de Pgina de Directorio definen la directiva 5 DirectoryIndex . ElDirectoryIndex es la pgina predeterminada que el servidor da a un usuario que pide el ndice de un directorio escribiendo la barra inclinada (/) al final del nombre del directorio. Por ejemplo, cuando un usuario pide la pginahttp://www.example.com/this_directory/ recibe la pgina del ndice del directorio, DirectoryIndex , si existe, o un listado de directorios generado por el servidor. El servidor intentar encontrar uno de los archivos incluidos en DirectoryIndex y entregar el primero que encuentre. Si no encuentra ninguno de estos archivos y siOptions Indexes est configurado para ese directorio, el servidor genera y devuelve una lista, en formato HTML, de los subdirectorios y archivos dentro del directorio.
5

http://httpd.apache.org/docs/2.2/mod/mod_dir.html#directoryindex

345

Configuraciones predeterminadas

Utilice la seccin Cdigo Error para configurar el Servidor HTTP Apache para redireccionar el cliente a una URL local o externa en el caso de que haya un error o un problema. Esta opcin corresponde a 6 la directriz ErrorDocument . Si ocurre un error o si se presenta un problema cuando un clienta trata de conectarse al Servidor HTTP Apache, la accin predeterminada es presentar un corto mensaje de error en la columna Cdigo Error. Para cancelar esta configuracin predeterminada seleccione el cdigo error y haga clic en el botn Modificar. Seleccione Predeterminado para visualizar el mensaje corto de error predeterminado. Elija URL para redireccionar el cliente a la URL externa e ingresar una URL completa incluyendo el http:// en el campo Location. Seleccione File para redireccionar el cliente a una URL interna e ingresar la ubicacin de un archivo bajo la raz del documento para el servidor Web. La ubicacin debe comenzar con la barra inclinada (/) y debe estar relacionada con la Raz del Docu mento. Por ejemplo, para redirigir un cdigo de error 404 Not Found a una pgina web que usted ha creado en un archivo llamado 404.html copie 404.html a DocumentRoot /../error/404.html . En este caso, DocumentRoot es el directorio del documento raz que ha definido (el valor por defecto es /var/www/html/). Si se deja el documento raz como la ubicacin por defecto, el archivo debera ser copiado a /var/www/error/404.html . Luego, elija Archivo como el Comportamiento para el cdigo de error 404 - Not Found e introduzca /error/404.html como la Ubicacin . Desde el men Pie de Pgina de Error por Defecto escoja una de las siguientes opciones: Mostrar el pie de pgina con la direccin de correo electrnico Esta opcin muestra el pie de pgina predeterminado en todas las pginas de error junto con la direccin de correo electrnico 7 del encargado del sitio web especificado por la directriz ServerAdmin . Muestra el pie de pgina Esta opcin le muestra el pie de pgina predeterminado en todas las pginas de error. Ningn pie de pgina No muestra el pie de pgina en las pginas de error.

22.4.2.2. Soporte SSL


El mod_ssl le permite encriptar el protocolo HTTP sobre SSL. El protocolo SSL(Secure Sockets Layer) se utiliza para comunicacin y para encriptar sobre redes TCP/IP. La pestaa SSL le permite configurar SSL para su servidor. Para configurar SSL necesita proporcionar la ruta a su: Archivo de certificado - equivalente a utilizar la directriz SSLCertificateFile la cual apunta la ruta al archivo de certificado de servidor codificado PEM (Privacy Enhanced Mail). Archivo de la llave - equivalente a utilizar la directriz SSLCertificateKeyFile la cual apunta la ruta al archivo de la llave privada del servidor codificado PEM. Certificate chain file - equivalent to using the SSLCertificateChainFile directive which points the path to the certificate file containing all the server's chain of certificates. Archivo de autoridad del certificado - es un archivo encriptado utilizado para confirmar la autenticidad o identidad de las partes que se comunican con el servidor. Puede encontrar ms informacin sobre las directrices de configuracin para SSL en http:// 8 httpd.apache.org/docs/2.2/mod/directives.html#S . Tambin necesita determinar que opciones SSL debe habilitar. Estas son equivalentes a utilizar SSLOptions con las siguientes opciones:
6 8

http://httpd.apache.org/docs/2.2/mod/core.html#errordocument http://httpd.apache.org/docs/2.2/mod/directives.html#S

346

Configuraciones predeterminadas

FakeBasicAuth - enables standard authentication methods used by Apache. This means that the Client X509 certificate's Subject Distinguished Name (DN) is translated into a basic HTTP username. ExportCertData - crea variables de entorno CGI en SSL_SERVER_CERT, SSL_CLIENT_CERT y SSL_CLIENT_CERT_CHAIN_n en donde n es un nmero 0,1,2,3,4... Los scripts CGI utilizan estos archivos para ms chequeos de certificados. CompatEnvVars - habilita una compatibilidad retroactiva para Apache SSL aadiendo variables de entorno CGI. StrictRequire - habilita acceso estricto el cual obliga a denegar acceso cuando las directrices SSLRequireSSL y SSLRequire indican que es prohibido el acceso. OptRenegotiate - permite eludir los apretones de manos de mod_ssl el cual tambin realiza chequeos de parmetros seguros. Se recomienda que habilite OptRenegotiate con base en el directorio. Para obtener ms informacin sobre las opciones SSL mencionadas anteriormente vaya a http:// 9 httpd.apache.org/docs/2.2/mod/mod_ssl.html#ssloptions . La figura a continuacin ilustra la pestaa SSL y las opciones que se discutieron anteriormente.

http://httpd.apache.org/docs/2.2/mod/mod_ssl.html#ssloptions

347

Configuraciones predeterminadas

Figura 22.6. SSL

22.4.2.3. Logging
Utilice la pestaa Registro para configurar las opciones para registro de errores y transferencia especfica. Por defecto, el servidor escribe el registro de transferencia en el archivo /var/log/httpd/ access_log y el registro de error en el archivo /var/log/httpd/error_log . El registro de transferencias contiene una lista de todos los intentos para acceder al servidor web. Graba las direcciones IP del cliente que est tratande de conectarse, la fecha y hora en que intent, y el archivo en el servidor web que est tratando de recuperar. Introduzca el nombre de la ruta y del archivo en donde se alamacenar esta informacin. Si el nombre de la ruta y del archivo no

348

Configuraciones predeterminadas

comienzan con una barra inclinada (/), la ruta es relativa al directorio root del servidor como se 10 configur. Esta opcin corresponde a la directriz TransferLog .

Figura 22.7. Logging Puede configurar un registro con formato personalizado chequeando Usar las facilidades de registro personalizado e introduciendo una cadena personalizada en el campo Cadena de 11 registro personalizada. Esto configura la directriz LogFormat . Para mayor informacin sobre los detalles del formato de la directiva consulte http://httpd.apache.org/docs/2.2/mod/ 12 mod_log_config.html#logformat . El registro de transferencia incluye una lista de los errores del servidor. Introduzca el nombre de la ruta y del archivo en donde se debe almacenar esta informacin. Si el nombre de la ruta y del archivo
10 11 12

http://httpd.apache.org/docs/2.2/mod/mod_log_config.html#transferlog http://httpd.apache.org/docs/2.2/mod/mod_log_config.html#logformat http://httpd.apache.org/docs-2.0/mod/mod_log_config.html#formats

349

Configuraciones predeterminadas

no empiezan con una barra inclinada (/), la ruta es relativa al directorio root del servidor como se 13 configur. Esta opcin corresponde a la directriz ErrorLog . Utilice el men Nivel de Registro para establecer la verbosidad de los emnsajes de error en los registrs de error. Se puede configurar (del menos verbos al ms verboso) como emerg, alerta, crit, 14 error, advert, aviso, info o depurar. Esta opcin corresponde a la directriz LogLevel . El valor escogido en el men Bsqueda inversa del DNS define la directiva HostnameLookups Si escoge Ninguna bsqueda inversa se desactiva el valor, si escoge Bsqueda inversa el valor est activado y si escoge Doble bsqueda inversa ste se duplica. Si escoje Bsuqeda Inversa su servidor resuelve automticamente la direccin IP para cada conexin la cual pide un documento de su servidor web. El resolver una direccin IP significa que su servidor realiza una o ms conexiones al DNS para encontrar el nombre del host que corresponde a una direccin IP en particular. Si elije Bsqueda Inversa Doble su servidor realiza un DNS inverso doble. Es decir, despus de que se realiza una bsqueda inversa, se realiza una bsqueda avanzada en el resultado. Por lo menos una de las direcciones IP en la bsqueda vanazada debe coincidir con la direccin de la primera bqieda inversa. Generalmente, esta opcin debera de estar en Ninguna Bsqueda Inversa porque sino se sobrecarga al servidor y disminuye el ritmo de trabajo. Si su servidor tiene mucha carga, al tratar de realizar estas bsquedas, los efectos sern bastante notables. Reverse lookups and double reverse lookups are also an issue for the Internet as a whole. Each individual connection made to look up each hostname adds up. Therefore, for your own Web server's benefit, as well as for the Internet's benefit, you should leave this option set to No Reverse Lookup.
15

22.4.2.4. Environment Variables


Utilice la pestaa Entorno para configurar las opciones para variables especficas para establecer, pasar o desconfigurar para scripts CGI. Algunas veces es necesario modificar las variables del entorno para scripts CGI o pginas server-side include (SSI). El Servidor HTTP Apache puede usar el mdulo mod_env para configurar las variables del ambiente que son pasadas a los scripts CGI y a las pginas SSI. Utilice la pgina Variables de entorno para configurar las directivas para este mdulo. Use the Set for CGI Scripts section to set an environment variable that is passed to CGI scripts and SSI pages. For example, to set the environment variable MAXNUM to 50, click the Add button inside the Set for CGI Script section, as shown in Figura 22.8, Environment Variables, and type MAXNUM in the Environment Variable text field and 50 in the Value to set text field. Click OK to add it to the list. 16 The Set for CGI Scripts section configures the SetEnv directive. Utilice la seccin Pasar a los Scripts CGI para pasar el valor de una variable de entorno cuando el servidor se inicia por primera vez en scripts CGI. Para ver esta variable de entrada escriba el comando env en un intrprete de comandos. Haga clic en el botn Aadir dentro de la seccin Pasar a Scripts CGI e introduzca el nombre de la variable de entorno en la ventana de dilogo
13 14 15 16

http://httpd.apac he.org/docs/2.2/mod/core.html#errorlog http://httpd.apac he.org/docs/2.2/mod/core.html#loglevel http://httpd.apache.org/docs/2.2/mod/core.html#hostna melookups http://httpd.apache.org/docs/2.2/mod/mod_e nv.html#setenv

350

Configuraciones predeterminadas

que aparece. Haga clic en OK para aadirla a la lista. La seccin Pass to CGI Scripts configura la 17 directriz PasarEnt .

Figura 22.8. Environment Variables Para eliminar una variable de entorno de manera que el valor no se pase a a los scripts CGI y a las pginas SSI utilice la seccin Desconfigurar para Scripts CGI. Haga clic en Aadir en la seccin Desconfigurar para Scripts CGI e introduzca el nombre de la variable de entorno en desconfigurar. 18 Haga clic en OK para aadirla a la lista. Esto corresponde a la directriz DesconfigEnt Para modificar cualquier de estos valores de entorno seleccinelo de la lista y haga clic en el botn Modificar . Para borrar cualquier entrada de la lista seleccinela y haga clic en el botn Eliminar correspondiente.
17 18

http://httpd.apache.org/docs/2.2/mod/mod_e n v.html#passenv http://httpd.apache.org/docs/2.2/mod/mod_e n v.html#unsetenv

351

Configuraciones predeterminadas

Para obtener ms informacin sobre las variables de entorno en el Servidor HTTP Apache refirase a: http://httpd.apache.org/docs/2.2/env.html

22.4.2.5. Directories
Use the Directories page in the Performance tab to configure options for specific directories. This 19 corresponds to the <Directory> directive.

Figura 22.9. Directories Click the Edit button in the top right-hand corner to configure the Default Directory Options for all directories that are not specified in the Directory list below it. The options that you choose are listed

19

http://httpd.apac he.org/docs/2.2/mod/core.html#directory

352

Configuraciones predeterminadas

as the Options options:

20

directive within the <Directory>

21

directive. You can configure the following

ExecCGI Permite la ejecucin de los scripts CGI. Los scripts no se ejecutan si no elige esta opcin. FollowSymLinks Permite que se sigan enlaces simblicos. Includes Permite las inclusiones en el servidor (SSI). IncludesNOEXEC Permite las inclusiones en el servidor pero anula los comandos #exec y #include en los scripts CGI. Indexes Display a formatted list of the directory's contents, if no DirectoryIndex (such as index.html ) exists in the requested directory. index.html Soporta las visualizaciones mltiples de los contenidos; esta opcin no est activada por defecto. SymLinksIfOwnerMatch Permite seguir un enlace simblico slamente si el archivo o el directorio en cuestin tienen el mismo propietario que el enlace. To specify options for specific directories, click the Add button beside the Directory list box. A window as shown in Figura 22.10, Directory Settings appears. Enter the directory to configure in the Directory text field at the bottom of the window. Select the options in the right-hand list and configure 22 the Order directive with the left-hand side options. The Order directive controls the order in which allow and deny directives are evaluated. In the Allow hosts from and Deny hosts from text field, you can specify one of the following: Permitir todas los hosts Escriba all para permitir el acceso a todos los hosts. Nombre parcial de dominio Permite todas las mquinas cuyos nombres coincidan o terminen con una cadena determinado. Direccin IP completa Permite el acceso a una determinada direccin IP. Una subred Tal como 192.168.1.0/255.255.255.0 Una especificacin CIDR de red como por ejemplo 10.3.0.0/16

20 21 22

http://httpd.apac he.org/docs/2.2/mod/core.html#options http://httpd.apac he.org/docs/2.2/mod/core.html#directory http://httpd.apache.org/docs -2.0/mod/mod_access.html#order

353

Configuraciones predeterminadas

Figura 22.10. Directory Settings Si marca Permitir que los archivos .htaccess pasen por encima de las opciones del directorio las directivas de configuracin en el archivo .htaccess toman precedencia.

22.5. Directrices de configuracin en httpd.conf


El archivo de configuracin del Servidor HTTP Apache es /etc/httpd/conf/httpd.conf. El archivo httpd.conf est bien comentado y en gran parte es autoexplicativo. Su configuracin por defecto funciona para la mayora de los casos; sin embargo, es una buena idea familiarizarse con algunas de las opciones de configuracin ms importantes.

Advertencia
With the release of Apache HTTP Server 2.2, many configuration options have changed. If migrating from version 1.3 to 2.2, please firstly read Seccin 22.2.2, Migracin de los Archivos de Configuracin del Servidor HTTP Apache de la Versin 1.3 a la 2.0.

22.5.1. Sugerencias de configuracin generales


If configuring the Apache HTTP Server, edit /etc/httpd/conf/httpd.conf and then either reload, restart, or stop and start the httpd process as outlined in Seccin 22.3, Arrancar y detener httpd . Antes de modificar el archivo httpd.conf, primero haga una copia del archivo original. Al crear una copia de respaldo se hace ms fcil recuperarse de posibles errores cometidos mientras se editaba el archivo de configuracin.

354

Sugerencias de configuracin generales

Si comete un error y su servidor de web no funciona correctamente, lo primero que debe realizar es revisar lo que lo que acaba de modificar en httpd.conf para ver si no hay errores de transcripcin. Next look in the Web server's error log, /var/log/httpd/error_log . The error log may not be easy to interpret, depending on your level of expertise. However, the last entries in the error log should provide useful information. Las siguientes subsecciones proporcionan una breve descripcin de muchas de las directrices incluidas en httpd.conf. Estas descripciones no son exhaustivas. Para obtener ms informacin consulte la documentacin de Apache en lnea http://httpd.apache.org/docs/2.2/ . Para obtener mayor informacin sobre las directrices mod_ssl consulte la documentacin en http:// httpd.apache.org/docs/2.2/mod/mod_ssl.html .

AccessFileName
AccessFileName denomina el archivo que el servidor utilizar para informacin de control de acceso en cada directorio. Por defecto, el servidor utilizar .htaccess. Justo tras AccessFileName , un conjunto de indicadores de Files aplican el control de acceso a cualquier archivo comenzando con un .ht. Estas directrices niegan el acceso Web a cualquier archivo .htaccess (o otros archivos que comiencen con .ht) por razones de seguridad.

Action
Action especifica parejas tipo contenido MIME y script CGI, para que cuando un archivo de ese tipo de media sea solicitado, se ejecute un script CGI particular.

AddDescription
Cuando utilice FancyIndexing como un parmetro de IndexOptions , la directriz AddDescription se puede usar para mostrar descripciones especificadas por el usuario para ciertos archivos o tipos de archivo en un listado de directorio generado por el servidor. La directriz AddDescription soporta el listado de archivos especficos, expresiones con comodines o extensiones de archivos.

AddEncoding
La directriz AddEncoding nombra las extensiones de archivos que deberan especificar un tipo particular de codificacin. Tambin se puede usar AddEncoding para decirle a los navegadores que descompriman ciertos archivos mientras los descargan.

AddHandler
La directriz AddHandler hace corresponder extensiones de archivos a manejadores especficos. Por ejemplo, se puede corresponder el manejador cgi-script con la extensin .cgi para que automticamente trate a cualquier archivo con un nombre que termine en .cgi como un script CGI. A continuacin se presenta un ejemplo de una directriz AddHandler para la extensin .cgi.

AddHandle r cgi-script .cgi

355

Sugerencias de configuracin generales

This directive enables CGIs outside of the cgi-bin to function in any directory on the server which has the ExecCGI option within the directories container. Refer to Directory for more information about setting the ExecCGI option for a directory. Adems de los scripts CGI, la directriz AddHandler es usada para procesar archivos de mapas de imagen y HTML analizados por el servidor.

AddIcon
AddIcon dice al servidor qu icono mostrar en los listados del directorio para ciertos tipos de archivos segn la extensin. Por ejemplo, el servidor Web muestra el icono binary.gif para archivos con extensiones .bin o .exe .

AddIconByEncoding
Esta directriz denomina qu iconos se mostrarn con los archivos segn su codificacin MIME, en los listados de directorio. Por ejemplo, el servidor muestra por defecto el icono compressed.gif junto a archivos con codificacin MIME x-compress y x-gzip en los listados de directorio.

AddIconByType
Esta directriz denomina qu iconos se mostrarn con los archivos con codificacin MIME, en los listados del directorio. Por ejemplo, por defecto, el servidor muestra el icono text.gif junto a archivos con tipo MIME text en los listados del directorio.

AddLanguage
AddLanguage associates file name extensions with specific languages. This directive is useful for Apache HTTP Servers which serve content in multiple languages based on the client Web browser's language settings.

AddType
Utilice la directriz AddType para definir o suprimir por defecto pares tipo MIME y extensiones de archivos. El siguiente ejemplo de directriz le dice al Servidor HTTP Apache que reconozca la extensin de archivos .tgz:

AddType application/x-tar .tgz

Alias
The Alias setting allows directories outside the DocumentRoot directory to be accessible. Any URL ending in the alias automatically resolves to the alias' path. By default, one alias for an icons/ directory is already set up. An icons/ directory can be accessed by the Web server, but the directory is not in the DocumentRoot .

Allow
Allow especifica cual cliente puede acceder a un directorio dado. El solicitante puede ser all, un nombre de dominio, una direccin IP, una direccin IP parcial, un par de red/mscara de la red, etc. El directorio DocumentRoot est configurado para permitir (Allow ) peticiones desde todos (all), es decir, que todos tienen acceso.

356

Sugerencias de configuracin generales

AllowOverride
La directriz AllowOverride indica si puede o no ignorar cualquiera de las Options por las declaraciones en un archivo .htaccess . Por defecto, tanto el directorio raz como DocumentRoot estn configurados para no se permita ignorar .htaccess .

BrowserMatch
The BrowserMatch directive allows the server to define environ ment variables and take appropriate actions based on the User-Agent HTTP header field which identifies the client's Web browser type. By default, the Web server uses BrowserMatch to deny connections to specific browsers with known problems and also to disable keepalives and HTTP header flushes for browsers that are known to have problems with those actions.

Directrices Cache
El archivo de configuracin del Servidor HTTP Apache suministra varias directrices de cach comentadas. En la mayora de los casos, al quitar el comentario de estas lneas mediante la eliminacin de las almohadillas (#) del principio de la lnea es suficiente. Sin embargo, lo siguiente es una lista de algunas de las directrices relacionadas con cach ms importantes. CacheEnable Especifica si la cach es un disco, memoria o cach de archivo descriptivo. Por defecto CacheEnable configura un disco cach para las URLs en o por debajo de /. CacheRoot pone el nombre del directorio que contiene archivos de cach. El valor predeterminado de CacheRoot es el directorio /var/httpd/proxy/. CacheSize establece cunto espacio puede usar el cach, en KB. El valor predeterminado de CacheSize es 5 KB. Lo siguiente es una lista de algunas directrices comunes relacionadas con cach. CacheMaxExpire Especifica cuanto tiempo se conservan los documentos HTML (sin una recarga desde el servidor Web original) en el cach. El valor por defecto es 24 horas (86400 segundos). CacheLastModifiedFactor Especifica la creacin de una fecha de vencimiento para documentos que no venan con caducidad desde el servidor de origen. El valor predeterminado de CacheLastModifiedFactor est configurado a 0.1 , es decir que la fecha de vencimiento para tales documentos es igual a un dcimo de la cantidad de tiempo desde la ltima vez que se modific el documento. CacheDefaultExpire Especifica el tiempo de caducidad en horas para un documento que fue recibido usando un protocolo que no soporta fechas de vencimiento. El valor por defecto es configurado a 1 hora (3600 segundos). NoProxy Especifica una lista separada por espacios de subredes, direcciones IP, dominios o hosts cuyos contenidos no estn en cach. Este valor es de gran utilidad para sitios de Intranet.

CacheNegotiatedDocs
Por defecto, el servidor Web requiere a los servidores proxy que no hagan cach de los documentos que se negocian en base al contenido (pueden cambiar en el tiempo o segn la entrada de quien los solicita). Si se configura CacheNegotiatedDocs a on, se desactiva la funcin y se permite acceso a los servidores proxy a tales documentos cach.

357

Sugerencias de configuracin generales

CustomLog
CustomLog identifica el archivo de registro y su formato. Por defecto, el registro de acceso es guardado al archivo /var/log/httpd/access_log mientras que los errores se guardan en el archivo /var/log/httpd/error_log. El formato por defecto CustomLog es combined, como se ilustra a aqu:

remotehost rfc931 user date "request" status bytes referrer user-agent

DefaultIcon
DefaultIcon especifica el icono desplegado en el listado generado por el servidor para archivos que no tienen otro icono especificado. El archivo de imagen por defecto es unknown.gif .

DefaultType
DefaultType establece el tipo de contenido por defecto que el servidor utilizar para documentos cuyos tipos MIME no puedan ser determinados. Por defecto es text/plain .

Deny
Deny funciona igual que Allow , excepto que especifica a quin se le niega el acceso. DocumentRoot no es configurado para negar (Deny) peticiones a ninguno por defecto.

Directory
<Directory /path/to/directory> and </Directory> tags create a container used to enclose a group of configuration directives which apply only to a specific directory and its subdirectories. Any directive which is applicable to a directory may be used within Directory tags. By default, very restrictive parameters are applied to the root directory (/), using the Options (refer to Options) and AllowOverride (refer to AllowOverride) directives. Under this configuration, any directory on the system which needs more permissive settings has to be explicitly given those settings. En la configuracin predeterminada, otro contenedor Directory es configurado para el DocumentRoot, el cual asigna parmetros menos rgidos al rbol del directorio para que el Servidor HTTP Apache pueda acceder a los archivos que residan all. The Directory container can be also be used to configure additional cgi-bin directories for serverside applications outside of the directory specified in the ScriptAlias directive (refer to ScriptAlias for more information). Para lograr esto, el contenedor Directory debe configurar la opcin ExecCGI para ese directorio. Por ejemplo, si los scripts CGI estn localizados en /home/my_cgi_directory , aada el contenedor siguiente Directory al archivo httpd.conf:

<Directory /home/my_cgi_directory> Options +ExecCGI </Directory>

Next, the AddHandler directive must be uncommented to identify files with the .cgi extension as CGI scripts. Refer to AddHandler for instructions on setting AddHandler .

358

Sugerencias de configuracin generales

Para que esto funcione, los permisos para los scripts CGI y la ruta completa a los scripts, se deben colocar a 0755.

DirectoryIndex
DirectoryIndex es la pgina por defecto que entrega el servidor cuando hay una peticin de ndice de un directorio especificado con una barra (/) al final del nombre del directorio. Cuando un usuario pide la pgina http:// ejemplo/ este_directorio/, recibe la pgina del ndice del directorio, DirectoryIndex , si existe, o un listado de directorios generado por el servidor. El valor por defecto para DirectoryIndex es index.html y el tipo de mapa index.html.var . El servidor intentar encontrar cualquiera de estos archivos y entregar el primero que encuentre. Si no encuentra ninguno de estos archivos y Options Indexes esta configurado para ese directorio, el servidor genera y devuelve una lista, en formato HTML, de los subdirectorios y archivos dentro del directorio, a menos que la caracterstica de listar directorios est desactivada.

DocumentRoot
DocumentRoot es el directorio que contiene la mayora de los archivos HTML que se entregarn en respuesta a peticiones. El directorio predeterminado DocumentRoot para servidores web seguros y no seguros es /var/www/html. Por ejemplo, el servidor puede recibir una peticin para el siguiente documento:

http://exa mple.co m/foo.html

El servidor busca por el archivo siguiente en el directorio por defecto:

/var/www/html/foo.ht ml

To change the DocumentRoot so that it is not shared by the secure and the non-secure Web servers, refer to Seccin 22.7, Hosts virtuales.

ErrorDocument
La directriz ErrorDocument asocia un cdigo de respuesta HTTP con un mensaje o un URL para que sea devuelto al cliente. Por defecto, el servidor Web produce una salida simple de mensaje de error cuando ocurre alguno. La directriz ErrorDocument obliga a que el servidor Web envie una salida de mensaje personalizado o pgina.

Importante
To be valid, the message must be enclosed in a pair of double quotes " .

ErrorLog
ErrorLog especifica el archivo donde se guardan los errores del servidor . Por defecto, esta directriz es configurada a /var/log/httpd/error_log .

359

Sugerencias de configuracin generales

ExtendedStatus
The ExtendedStatus directive controls whether Apache generates basic (off) or detailed server status information (on), when the server-status handler is called. The server-status handler is called using Location tags. More information on calling server-status is included in Location .

Group
Especifica el nombre del grupo de los procesos del Servidor HTTP Apache. Esta directriz se ha desaprobado para la configuracin de hosts virtuales. Por defecto, Group est configurado a apache .

HeaderName
La directriz HeaderName dicta el archivo (si existe dentro del directorio) que se antepondr al comienzo de los listados de los directorios. Al igual que con ReadmeName, el servidor intentar incluirlo como documento HTML si es posible, o en caso contrario, como texto.

HostnameLookups
HostnameLookups se puede configurar a on, off o double . Si se configura HostnameLookups a on, el servidor automticamente resuelve las direcciones IP para cada conexin. Resolver las direcciones IP significa que el servidor hace una o ms conexiones a un servidor DNS, aadiendo sobrecarga por procesamiento. Si HostnameLookups es configurado a double, el servidor realiza bsquedas inversa doble del DNS, aadiendo an ms sobrecarga. Para ahorrar recursos en el servidor, HostnameLookups es configurado a off por defecto. Si se requieren nombres de host en los archivos de registro, considere ejecutar una de los muchas herramientas de anlisis de log que llevan a cabo las bsquedas de DNS de forma mucho ms eficiente y por montones cuando se este rotando los archivos de log del servidor Web.

IfDefine
The IfDefine tags surround configuration directives that are applied if the "test" stated in the IfDefine tag is true. The directives are ignored if the test is false. The test in the IfDefine tags is a parameter name (for example, HAVE_PERL ). If the parameter is defined, meaning that it is provided as an argument to the server's start-up command, then the test is true. In this case, when the Web server is started, the test is true and the directives contained in the IfDefine tags are applied.

IfModule
<IfModule> and </IfModule> tags create a conditional container which are only activated if the specified module is loaded. Directives within the IfModule container are processed under one of two conditions. The directives are processed if the module contained within the starting <IfModule> tag is loaded. Or, if an exclamation point ! appears before the module name, the directives are processed only if the module specified in the <IfModule> tag is not loaded.

360

Sugerencias de configuracin generales

For more information about Apache HTTP Server modules, refer to Seccin 22.6, Aadir mdulos.

Include
Include permite que se incluyan otros archivos de configuracin en el tiempo de ejecucin. La ruta a estos archivos de configuracin pueden ser absolutas o relativas con respecto al ServerRoot.

Importante
Para que el servidor use mdulos de paquetes individuales, como mod_ssl, mod_perl y php, tiene que estar la siguiente directriz en Section 1: Global Environment del httpd.conf:

Include conf.d/*.conf

IndexIgnore
IndexIgnore lista las extensiones de archivo, los nombres de los archivos parciales, las expresiones con comodines o los nombres completos. El servidor Web no incluir ningn archivo que coincida con estos patrones en los listados de directorios.

IndexOptions
IndexOptions controls the appearance of server generated directing listings, by adding icons, file descriptions, and so on. If Options Indexes is set (refer to Options), the Web server generates a directory listing when the Web server receives an HTTP request for a directory without an index. Primero el servidor Web busca en el directorio solicitado un archivo que coincida los nombres listados en la directriz DirectoryIndex (usualmente, index.html). Si el servidor no encuentra un archivo index.html el Servidor HTTP Apache genera un listado del directorio en HTML. La apariencia del listado de este directorio es controlada, en parte, por la directriz IndexOptions . La configuracin predeterminada activa FancyIndexing . Esto significa que un usuario puede reordenar un listado de directorio haciendo clic en las cabeceras de columnas. Otro clic en la misma cabecera cambiar del orden ascendente al descendente. FancyIndexing tambin muestra iconos diferentes para diferentes archivos, basados en las extensiones de archivos. La opcin AddDescription , cuando se utiliza junto con FancyIndexing , presenta una descripcin corta para el archivo en los listados de directorios generados por el servidor. IndexOptions tiene otros parmetros que pueden activarse para controlar la apariencia de los listados generados por los servidores. Los parmetros IconHeight y IconWidth requieren que el servidor incluya etiquetas HTML HEIGHT y WIDTH para los iconos en las pginas generadas por el servidor. El parmetro IconsAreLinks combina el icono con el ancla HTML, la cual contiene el enlace URL objetivo.

KeepAlive
KeepAlive sets whether the server allows more than one request per connection and can be used to prevent any one client from consuming too much of the server's resources.

361

Sugerencias de configuracin generales

By default Keepalive is set to off. If Keepalive is set to on and the server becomes very busy, the server can quickly spawn the maximum number of child processes. In this situation, the server slows down significantly. If Keepalive is enabled, it is a good idea to set the the KeepAliveTimeout low (refer to KeepAliveTimeout for more information about the KeepAliveTimeout directive) and monitor the /var/log/httpd/error_log log file on the server. This log reports when the server is running out of child processes.

KeepAliveTimeout
La directriz KeepAliveTimeout establece el nmero de segundos que el servidor esperar tras haber dado servicio a una peticin, antes de cerrar la conexin. Una vez que el servidor recibe una peticin, se aplica la directriz Timeout en su lugar. KeepAliveTimeout est configurado a 15 segundos por defecto.

LanguagePriority
La directriz LanguagePriority permite dar la prioridad para diferentes idiomas en caso de que el navegador Web no especique la preferencia de idioma.

Listen
El comando Listen identifica los puertos en los que el servidor Web aceptar las peticiones entrantes. Por defecto, el Servidor HTTP Apache est configurado para escuchar en el puerto 80 para comunicaciones Web no seguras y (en el archivo /etc/httpd/conf.d/ssl.conf el cual define cualquier servidor seguro) en el puerto 443 para comunicaciones seguras. Si el Servidor HTTP Apache est configurado para escuchar en un puerto por debajo del 1024, se necesita al usuario root para iniciarlo. Para los puertos 1024 y superiores, httpd puede ser arrancado por cualquier usuario. La directriz Listen tambin se puede usar para especificar direcciones IP particulares sobre las cuales el servidor aceptar conexiones.

LoadModule
LoadModule is used to load Dynamic Shared Object (DSO) modules. More information on the Apache HTTP Server's DSO support, including instructions for using the LoadModule directive, can be found in Seccin 22.6, Aadir mdulos. Note, the load order of the modules is no longer important with Apache HTTP Server 2.0. Refer to Seccin 22.2.2.1.3, Soporte del Dynamic Shared Object (DSO) (Objeto dinmico compartido) for more information about Apache HTTP Server 2.0 DSO support.

Location
The <Location> and </Location> tags create a container in which access control based on URL can be specified. For instance, to allow people connecting from within the server's domain to see status reports, use the following directives:

<Location /server-status> SetHandler server-status Order deny,allow Deny from all Allow from <.example.com> </Location>

362

Sugerencias de configuracin generales

Replace <.example.com> with the second-level domain name for the Web server. Para proporcionar informes de configuracin del servidor (incluyendo los mdulos instalados y las directrices de configuracin) a peticiones desde dentro del dominio, utilice las siguientes directrices:

<Location /server-info> SetHandler server-info Order deny,allow Deny from all Allow from <.example.com> </Location>

Again, replace <.example.com> with the second-level domain name for the Web server.

LogFormat
The LogFormat directive configures the format of the various Web server log files. The actual LogFormat used depends on the settings given in the CustomLog directive (refer to CustomLog). Las siguientes son las opciones de formato si la directriz CustomLog es configurada a combined: %h (remote host's IP address or hostname) Lista la direccin IP de la mquina remota del cliente solicitante. Si HostnameLookups es configurada a on, el nombre de mquina del cliente es registrado a menos que no este disponible desde el DNS. %l (rfc931) No se usa. Un guin - aparece en el campo de registro para este campo. %u (usuario autenticado) Si se requiere autenticacin, lista el nombre del usuario registrado. Usualmente, esto no se utiliza, por tanto aparece un guin - en el archivo de registro para este campo. %t (fecha) Lista la fecha y hora de la solicitud. %r (cadena de la solicitud) Lista la cadena de la solicitud exactamente como viene del navegador o cliente. %s (estado) Lista el estado de cdigo HTTP el cual fue devuelto al host cliente. %b (bytes) Lista el tamao del documento. %\"%{Referer}i\" (referrer) Lista la direccin URL de la pgina web que refiere el mquina cliente al servidor Web. %\"%{User-Agent}i\" (user-agent) Lista el tipo de navegador Web que est realizando la solicitud.

LogLevel
LogLevel establece la cantidad de detalles que tendrn los registros de mensajes de error. LogLevel se puede configurar (desde el que tiene menos detalles a los ms detallados) a emerg , alert, crit, error, warn, notice , info o debug. El valor predeterminado de LogLevel es warn .

363

Sugerencias de configuracin generales

MaxKeepAliveRequests
This directive sets the maximum number of requests allowed per persistent connection. The Apache Project recommends a high setting, which impro ves the server's performance. MaxKeepAliveRequests is set to 100 by default, which should be appropriate for most situations.

NameVirtualHost
La directriz NameVirtualHost asocia una direccin IP y el nmero de puerto, si es necesario, para cualquier mquina virtual basada en nombres. El hospedaje virtual basado en nombres permite a un Servidor HTTP Apache servir a dominios diferentes sin utilizar mltiples direcciones IP.

Nota
Los hosts virtuales basados en nombre only funcionan con conexiones HTTP no seguras. Si est usando host virtuales con un servidor seguro, use host virtuales basados en direcciones IP.

Para habilitar el hospedaje basado en nombres, quite los comentarios de la directriz de configuracin NameVirtualHost y aada la direccin IP correcta. Luego aada ms contenedores VirtualHost para cada host virtual como sea necesario para su configuracin.

Options
La directriz Options controla cules caractersticas del servidor estn disponibles en un directorio en particular. Por ejemplo, en los parmetros restrictivos especificados para el directorio raz, Options slo permite FollowSymLinks . No hay caractersticas activadas, salvo que el servidor puede seguir enlaces simblicos en el directorio raz. Por defecto, en el directorio DocumentRoot , Options se configura para incluir Indexes y FollowSymLinks . Indexes permite al servidor generar un listado de un directorio si no se especifica el DirectoryIndex (por ejemplo, index.html). FollowSymLinks permite al servidor seguir enlaces simblicos en ese directorio.

Nota
Options statements from the main server configuration section need to be replicated to each VirtualHost container individually. Refer to VirtualHost for more information.

Order
La directriz Order controla el orden en el cual las directrices allow y deny son evaluadas. El servidor es configurado para evaluar las directrices Allow antes de las directrices Deny para el directorio DocumentRoot.

PidFile
PidFile nombra el archivo en el que el servidor graba su ID de proceso (pid). Por defecto, el PID es listado en /var/run/httpd.pid .

364

Sugerencias de configuracin generales

Proxy
<Proxy *> and </Proxy> tags create a container which encloses a group of configuration directives meant to apply only to the proxy server. Many directives which are allowed within a <Directory> container may also be used within <Proxy> container.

ProxyRequests
To configure the Apache HTTP Server to function as a proxy server, remove the hash mark (#) from the beginning of the <IfModule mod_proxy.c> line, the ProxyRequests, and each line in the <Proxy> stanza. Set the ProxyRequests directive to On, and set which domains are allowed access to the server in the Allow from directive of the <Proxy> stanza.

ReadmeName
La directriz ReadmeName determina el archivo (si existe dentro del directorio) que se adjuntar a los listados de los directorios. El servidor Web intentar primero incluirlo como documento HTML y luego como texto plano. El valor predeterminado de ReadmeName es README.html.

Redirect
Cuando se mueve una pgina web, se puede utilizar Redirect para crear asignaciones de la ubicacin del archivo a un nuevo URL. El formato es como sigue:

Redirect / <old-path> /<file-name> http://<current-domain> /<current-path> / <file-name>

In this example, replace <old-path> with the old path information for <file-name> and <current-domain> and <current-path> with the current domain and path information for <file-name> . In this example, any requests for <file-name> at the old location is automatically redirected to the new location. Para tcnicas de redireccionamiento ms avanzadas, utilice el mdulo mod_rewrite incluido con el Servidor HTTP Apache. Para obtener ms informacin sobre la configuracin del mdulo mod_rewrite refirase a la documentacin de la Apache Software Foundation en http:// 23 httpd.apache.org/docs/2.2/mod/mod_rewrite.html .

ScriptAlias
La directriz ScriptAlias define donde pueden encontrarse los scripts CGI. Normalmente, no es una buena idea colocar los scripts CGI dentro de DocumentRoot , donde podran, potencialmente, ser visualizados como documentos de texto. Por esta razn, la directriz ScriptAlias disea un directorio especial fuera del directorio DocumentRoot para contener ejecutables del servidor y scripts. Este directorio es conocido como un cgi-bin y se configura por defecto a /var/www/cgibin/. It is possible to establish directories for storing executables outside of the cgi-bin/ directory. For instructions on doing so, refer to AddHandler and Directory.
23

http://httpd.apac he.org/docs/2.2/mod/mod_re write.html

365

Sugerencias de configuracin generales

ServerAdmin
Configure la directriz ServerAdmin a la direccin de correo electrnico del administrador del servidor Web. Esta direccin de correo aparecer en los mensajes de error en las pginas generadas por el servidor Web, de tal manera que los usuarios pueden comunicar errores enviando correo al administrador. Por defecto, ServerAdmin es configurado a root@localhost . Una forma tpica de configurar ServerAdmin es configurarlo en a webmaster@ejemplo.com . Una vez configurado, cree un alias del webmaster para la persona responsable del servidor Web en / etc/aliases y ejecute /usr/bin/newaliases .

ServerName
ServerName specifies a hostname and port number (matching the Listen directive) for the server. The ServerName does not need to match the machine's actual hostname. For example, the Web server may be www.example.com , but the server's hostname is actually foo.example.com. The value specified in ServerName must be a valid Domain Name Service (DNS) name that can be resolved by the system do not make something up. Lo siguiente es una directriz ServerName de ejemplo:

ServerName www.example.com:80

Cuando especifique un ServerName , asegrese de que el par de la direccin IP y el nombre del servidor esten incluidos en el archivo /etc/hosts.

ServerRoot
The ServerRoot directive specifies the top-level directory containing website content. By default, ServerRoot is set to "/etc/httpd" for both secure and non-secure servers.

ServerSignature
La directriz ServerSignature aade una lnea que contiene la versin del Servidor HTTP Apache 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 . ServerSignature se puede configurar como EMail el cual aade una etiqueta HTML mailto:ServerAdmin a la lnea de firma de respuestas auto generadas. Tambin se puede configurar como Off para que Apache pare de enviar su nmero de versin y la informacin del mdulo. Revise tambin la configuracin de ServerTokens.

ServerTokens
La directriz ServerTokens determina si el encabezamiento de la respuesta del servidor que se devuelve al cliente debe incluir detalles sobre el tipo de Sistema Operativo e informacin sobre los mdulos compilados. Por defecto, ServerTokens se encuentra configurado como Full y por tanto enva informacin sobre el tipo del Sistema Operativo y lo mdulos compilados. Al configurar ServerTokens como Prod enva el nombre del producto slamente y se recomienda un buen nmero de hackers revise la informacin en el encabezamiento del servidor en la bsqueda de vulnerabilidades. Tambin puede configurar ServerTokens como Min (minimal) o como OS (sistema operativo).

366

Sugerencias de configuracin generales

SuexecUserGroup
La directriz SuexecUserGroup , que se origina desde el mdulo mod_suexec , permite especificar privilegios de ejecucin de usuario y grupo para programas CGI. Las solicitudes no CGI tambin son procesadas con el usuario y el grupo especificado en las directrices User y Group .

Nota
Desde la versin 2.0, la directriz SuexecUserGroup reemplaza la configuracin del Servidor HTTP Apache versin 1.3 de utilizar las directrices User y Group dentro de la configuracin de las secciones VirtualHosts .

Timeout
Timeout define, en segundos, el tiempo que el servidor esperar por recibir y transmitir durante la comunicacin. Timeout est configurado por defecto a 300 segundos, lo cual es apropiado para la mayora de las situaciones.

TypesConfig
TypesConfig nombra el archivo que configura la lista por defecto de asignaciones tipo MIME (extensiones de nombres de archivo a tipos de contenido). El archivo predeterminado TypesConfig es /etc/mime.types . En vez de modificar el /etc/mime.types , la forma recomendada de aadir asignaciones de tipo MIME es usando la directriz AddType. For more information about AddType, refer to AddType.

UseCanonicalName
Cuando se configure esta directriz como on, se est indicando al Servidor HTTP Apache a que se referencie asmismo utilizando el valor especificado en las directrices ServerName y Port. Cuando UseCanonicalName es configurada como off , el servidor usar el valor usado por el cliente solicitante cuando se refiera a l. UseCanonicalName est configurada a off por defecto.

User
La directriz User establece el nombre de usuario para el proceso del servidor y determina qu archivos pueden acceder al servidor. Cualquier archivo que no est accesible a este usuario tampoco estar disponible para los clientes conectndose al Servidor HTTP Apache. Por defecto User es configurado a apache. Esta directriz se ha desaprobado para la configuracin de hosts virtuales.

Nota
Por razones de seguridad, el Servidor HTTP Apache no se ejecuta como el usuario root.

367

Sugerencias de configuracin generales

UserDir
UserDir is the subdirectory within each user's home directory where they should place personal HTML files which are served by the Web server. This directive is set to disable by default. El nombre para el subdirectorio esta configurado a public_html en la configuracin por defecto. Por ejemplo, el servidor puede recibir la siguiente peticin:

http://example.com /~ username /foo.html

El servidor buscar por el archivo:

/home/username/public_html/foo.html

In the above example, /home/username/ is the user's home directory (note that the default path to users' home directories may vary). Make sure that the permissions on the users' home directories are set correctly. Users' home directories must be set to 0711. The read (r) and execute (x) bits must be set on the users' public_html directories (0755 also works). Files that are served in a users' public_html directories must be set to at least 0644.

VirtualHost
<VirtualHost> and </VirtualHost> tags create a container outlining the characteristics of a virtual host. The VirtualHost container accepts most configuration directives. A commented VirtualHost container is provided in httpd.conf, which illustrates the minimum set of configuration directives necessary for each virtual host. Refer to Seccin 22.7, Hosts virtuales for more information about virtual hosts.

Nota
El contenedor de host virtuales SSL por defecto reside en el archivo /etc/httpd/ conf.d/ssl.conf.

22.5.2. Configuracin de directrices para SSL


Las directrices en el archivo /etc/httpd/conf.d/ssl.conf se pueden configurar para activar las comunicaciones Web seguras usando SSL y TLS.

SetEnvIf
SetEnvIf sets environment variables based on the headers of incoming connections. It is not solely an SSL directive, though it is present in the supplied /etc/httpd/conf.d/ssl.conf file. It's purpose in this context is to disable HTTP keepalive and to allow SSL to close the connection without a closing notification from the client browser. This setting is necessary for certain browsers that do not reliably shut down the SSL connection. Para ms informacin sobre otras directrices dentro del archivo de configuracin SSL, consulte los siguientes URLs:

368

Directrices MPM especficas al pool de servidores

http://localhost/manual/mod/mod_ssl.html http://httpd.apache.org/docs/2.2/mod/mod_ssl.html

Nota
En la mayora de los casos, las directrices SSL son configuradas apropiadamente durante la instalacin de Red Hat Enterprise Linux. Tenga cuidado cuando altere las directrices del Servidor Seguro HTTP de Apache pues un error en la configuracin puede provocar que el servidor sea vulnerable en trminos de seguridad.

22.5.3. Directrices MPM especficas al pool de servidores


As explained in Seccin 22.2.2.1.2, Regulacin del tamao del pool de servidores, the responsibility for managing characteristics of the server-pool falls to a module group called MPMs under Apache HTTP Server 2.0. The characteristics of the server-pool differ depending upon which MPM is used. For this reason, an IfModule container is necessary to define the server-pool for the MPM in use. Por defecto, el Servidor HTTP Apache 2.0 define el pool de servidores para ambos MPMs: prefork y worker. La seccin siguiente lista las directrices encontradas dentro de los contenedores del pool de servidores especficos al MPM.

MaxClients
MaxClients sets a limit on the total number of server processes, or simultaneously connected clients, that can run at one time. The main purpose of this directive is to keep a runaway Apache HTTP Server from crashing the operating system. For busy servers this value should be set to a high value. The server's default is set to 150 regardless of the MPM in use. However, it is not recommended that the value for MaxClients exceeds 256 when using the prefork MPM.

MaxRequestsPerChild
MaxRequestsPerChild establece el nmero mximo de peticiones que cada proceso de servidor hijo procesa antes de morir. La principal razn para configurar MaxRequestsPerChild es evitar que procesos de larga vida gasten memoria. El valor predeterminado de MaxRequestsPerChild para el MPM prefork es de 4000 y, para el MPM worker, es 0.

MinSpareServers y MaxSpareServers
Estos valores solamente se utilizan con el MPM prefork. Ellos ajustan como el Servidor HTTP Apache se adapta dinmicamente a la carga percibida manteniendo un nmero apropiado de procesos de servidor extras o de repuesto basado en el nmero de peticiones entrantes. El servidor comprueba el nmero de servidores que esperan peticiones y elimina algunos si el nmero es ms alto que MaxSpareServers o crea algunos si el nmero de servidores es menor que MinSpareServers. El valor predeterminado de MinSpareServers es 5 y el de MaxSpareServers es 20. Estos valores predeterminados son suficientes en la mayora de los casos. Tenga cuidado de no incrementar el nmero de MinSpareServers a un nmero muy elevado ya que crear una gran carga de procesamiento, incluso cuando el trfico fuese bajo.

369

Directrices MPM especficas al pool de servidores

MinSpareThreads y MaxSpareThreads
Estos valores solamente son utilizado con el MPM worker . Ellos ajustan como el Servidor HTTP Apache se adapta dinmicamente a la carga percibida manteniendo un nmero apropiado de hilos de servidores extras basado en el nmero de peticiones entrantes. El servidor comprueba el nmero de hilos de servidores que esperan peticiones y elimina algunos si el nmero es ms alto que MaxSpareThreads o crea algunos si el nmero de servidores es menor que MinSpareThreads. El valor predeterminado de MinSpareThreads es 25 y el de MaxSpareThreads es 75. Estos valores predeterminados son apropiados en la mayora de los casos. El valor para MaxSpareThreads debe ser mayor o igual que la suma de MinSpareThreads y ThreadsPerChild, de lo contrario el Servidor HTTP Apache lo corregir automticamente.

StartServers
La directriz StartServers establece cuntos procesos de servidor sern creados al arrancar. Ya que el servidor Web crea y elimina dinmicamente procesos de servidor segn el trfico, no se necesitar cambiar este parmetro. El servidor web est configurado para arrancar 8 procesos del servidor al arrancar para el MPM prefork y 2 para el MPM worker .

ThreadsPerChild
Este valor solamente es utilizado con el MPM worker . Configura el nmero de hilos dentro de cada proceso hijo. El valor por defecto para esta directriz es 25.

22.6. Aadir mdulos


El Servidor HTTP Apache se distribuye con un nmero de mdulos. Para obtener ms informacin sobre los mdulos HTTP Apache dirjase a http://httpd.apache.org/docs/2.2/mod/ . El Servidor HTTP Apache soporta Objetos Compartidos Dinmicamente (Dynamically Shared Objects, DSOs) o mdulos, los cuales se pueden cargar fcilmente en el momento de ejecucin. El Proyecto Apache proporciona Documentacin DSO completa en lnea en http://httpd.apache.org/ docs/2.2/dso.html. Si el paquete http-manual est instalado, se puede encontrar documentacin sobre DSOs en http://localhost/manual/mod/ . For the Apache HTTP Server to use a DSO, it must be specified in a LoadModule directive within /etc/httpd/conf/httpd.conf. If the module is provided by a separate package, the line must appear within the modules configuration file in the /etc/httpd/conf.d/ directory. Refer to LoadModule for more information. If adding or deleting modules from http.conf, Apache HTTP Server must be reloaded or restarted, as referred to in Seccin 22.3, Arrancar y detener httpd . Si est creando un nuevo mdulo, instale primero el paquete httpd-devel pues contiene los archivos include, las cabeceras de archivos as como tambin la aplicacin APache eXtenSion (/ usr/sbin/apxs ), la cual utiliza los archivos include y las cabeceras para compilar DSOs. Despus de escribir un mdulo, utilice /usr/sbin/apxs para compilar las fuentes del mdulo fuera del rbol de fuentes Apache. Para obtener ms informacin sobre el uso del comando /usr/sbin/ apxs , vea la documentacin de Apache en lnea en http://httpd.apache.org/docs/2.2/dso.html y en la pgina man de apxs .

370

Hosts virtuales

Una vez compilado, coloque el mdulo en el directorio /usr/lib/httpd/modules/ . Para las plataformas RHEL que utilizan el espacio de usuario de 64 bits predeterminado (x86_64, ia64, ?) esta ruta ser /usr/lib64/httpd/modules/ . Luego aada una lnea LoadModule al archivo httpd.conf usando la siguiente estructura:

LoadModule <module-name> <path/to/module.so>

Where <module-name> is the name of the module and <path/to/module.so> is the path to the DSO.

22.7. Hosts virtuales


The Apache HTTP Server's built in virtual hosting allows the server to provide different information based on which IP address, hostname, or port is being requested. A complete guide to using virtual hosts is available online at http://httpd.apache.org/docs/2.2/vhosts/.

22.7.1. Configuracin de mquinas virtuales


Para crear un host virtual basado en nombre, lo mejor es utilizar el contenedor del host virtual proporcionado en httpd.conf como un ejemplo. El ejemplo de mquina virtual se lee como sigue:
#NameVirtualHost *:80 # #<VirtualHost *:80> # ServerA dmin webmaster@ dummy-host.example.com # DocumentRoot /www/docs/dummy-host.example.com # ServerName dummy-host.example.com # ErrorLog logs/dummy-host.example.com-error_log # CustomLog logs/dummy-host.example.com-access_log common #</VirtualHost>

Para activar mquinas virtuales basadas en nombre, quite los comentarios de la lnea NameVirtualHost eliminando el smbolo de numeral o almohadilla (#) y reemplazando el astersco (*) con la direccin IP asignada a la mquina. Next, configure a virtual host by uncommenting and customizing the <VirtualHost> container. On the <VirtualHost> line, change the asterisk (* ) to the server's IP address. Change the ServerName to a valid DNS name assigned to the machine, and configure the other directives as necessary. The <VirtualHost> container is highly customizable and accepts almost every directive available within the main server configuration.

Tip
Si se est configurando un host virtual para que escuche en un puerto no predeterminado, se debe agregar ese puerto a la directriz Listen en la seccin de configuraciones globales del archivo /etc/httpd/conf/http.conf.

371

Hosts virtuales

To activate a newly created virtual host, the Apache HTTP Server must be reloaded or restarted. Refer to Seccin 22.3, Arrancar y detener httpd for further instructions. Se proporciona informacin completa sobre la creacin y configuracin de mquinas virtuales basadas en nombre y en direccin IP en http://httpd.apache.org/docs/2.2/vhosts/ .

22.8. Configuracin del Servidor Seguro Apache HTTP Este


captulo proporciona informacin bsica sobre SErvidor HTTP Apache con el mdulo de seguridad mod_ssl activado para utilizar las bibliotecas y el conjunto de herramientas de OpenSSL. La combinacin de estos tres componentes se conocen en este captulo como el servidor Web seguro o simplemente como el servidor seguro. El mdulo mod_ssl es un mdulo de seguridad para el Servidor HTTP Apache. El mdulo mod_ssl utiliza las herramientas proporcionadas por el Proyecto OpenSSL para aadir una caracterstcia muy importante al Servidor HTTP Apache la habilidad de encriptar comunicaciones. Por el contrario, las comunicaciones HTTP comunes entre un navegador y un servidor Web se envan en texto plano, el cual lo puede interceptar y leer alguien en la ruta entre el navegador y el servidor. Este captulo no est diseado para ser una gua completa de ninguno de estos programas. Siempre que sea posible, esta gua le indicar los lugares apropiados en donde puede encontrar informacin ms detallada sobre estos temas. Este captulo le mostrar como instalar estos programas. Tambin aprender los pasos necesarios para generar una clave privada y una peticin de certificado, cmo generar su propio certificado firmado, y cmo instalar un certificado para usarlo con su servidor web seguro. El archivo de configuracin mod_ssl se encuentra en /etc/httpd/conf.d/ssl.conf . Para cargar este archivo y hacer que mod_ssl funcione tiene que tener la declaracin Include conf.d/ *.conf en el archivo /etc/httpd/conf/httpd.conf . Esta declaracin esta includa por defecto en el archivo de configuracin predeterminado del Servidor HTTP Apache.

22.8.1. Vista preliminar de los paquetes relacionados con la seguridad


Para habilitar el servidor seguro tiene que tener los siguientes paquetes instalados como mnimo: httpd El paquete httpd contiene el demonio httpd y herramientas relacionadas, archivos de configuracin, iconos, mdulos del Servidor HTTP Apache, pginas man y otros archivos qu el Servidor HTTP apache utiliza. mod_ssl El paquete mod_ssl incluye el mdulo mod_ssl que proporciona criptografa fuerte para el Servidor HTTP Apache a travs de los protocolos SSL, Secure Sockets Layer y TLS, Transport Layer Security. openssl El paquete openssl contiene el kit de herramientas OpenSSL. Este kit implementa los protocolos SSL y TLS y tambin incluye una biblioteca criptogrfica de uso general. Adicionalmente, otros paquetes de software pueden proporcionar ciertas funcionalidades de seguridad (pero que no son requeridas para que funcione el servidor seguro):

372

Vista preliminar de certificados y seguridad

22.8.2. Vista preliminar de certificados y seguridad


Your secure server provides security using a combination of the Secure Sockets Layer (SSL) protocol and (in most cases) a digital certificate from a Certificate Authority (CA). SSL handles the encrypted communications as well as the mutual authentication between browsers and your secure server. The CA-approved digital certificate provides authentication for your secure server (the CA puts its reputation behind its certification of your organization's identity). When your browser is communicating using SSL encryption, the https:// prefix is used at the beginning of the Uniform Resource Locator (URL) in the navigation bar. Encryption depends upon the use of keys (think of them as secret encoder/decoder rings in data format). In conventional or symmetric cryptography, both ends of the transaction have the same key, which they use to decode each other's transmissions. In public or asymmetric cryptography, two keys co-exist: a public key and a private key. A person or an organization keeps their private key a secret and publishes their public key. Data encoded with the public key can only be decoded with the private key; data encoded with the private key can only be decoded with the public key. To set up your secure server, use public cryptography to create a public and private key pair. In most cases, you send your certificate request (including your public key), proof of your company's identity, and payment to a CA. The CA verifies the certificate request and your identity, and then sends back a certificate for your secure server. A secure server uses a certificate to identify itself to Web browsers. You can generate your own certificate (called a "self-signed" certificate), or you can get a certificate from a CA. A certificate from a reputable CA guarantees that a website is associated with a particular company or organization. Alternatively, you can create your own self-signed certificate. Note, however, that self-signed certificates should not be used in most production environments. Self-signed certificates are not automatically accepted by a user's browser users are prompted by the browser to accept the certificate and create the secure connection. Refer to Seccin 22.8.4, Tipos de certificados for more information on the differences between self-signed and CA-signed certificates. Una vez que haya obtenido un certificado auto-firmado o un certificado firmado del AC que haya escogido, tiene que instalarlo en su servidor seguro.

22.8.3. Uso de claves y certificados preexistentes


If you already have an existing key and certificate (for example, if you are installing the secure server to replace another company's secure server product), you can probably use your existing key and certificate with the secure server. The following two situations provide instances where you are not able to use your existing key and certificate: Si est cambiando su direccin IP o su nombre de dominio No podr usar su vieja clave y certificado si est cambiando la direccin IP o el nombre de dominio. Los certificados se emiten para un par concreto de direccin IP y nombre de dominio. Necesitar un nuevo certificado si los cambia. If you have a certificate from VeriSign and you are changing your server software VeriSign is a widely used CA. If you already have a VeriSign certificate for another purpose, you may have been considering using your existing VeriSign certificate with your new secure server. However, you are not be allowed to because VeriSign issues certificates for one specific server software and IP address/domain name combination.

373

Vista preliminar de certificados y seguridad

Si cambia uno de estos parmetros (por ejemplo, si previamente ha usado otro producto de servidor web seguro, el certificado VeriSign que obtuvo para usar con la configuracin previa, no funcionar con la nueva configuracin. Necesitar obtener un nuevo certificado. Si ya tiene una clave y un certificado existente que quiera usar, no tendr que generar una nueva clave ni obtener un nuevo certificado. Sin embargo, necesitar mover y renombrar los archivos que contienen su clave y su certificado. Mueva su archivo de claves existente a:

/etc/pki/tls/private/server.key

Mueva su archivo de certificado existente a:

/etc/pki/tls/certs/server.crt

If you are upgrading from the Red Hat Secure Web Server, your old key (httpsd.key) and certificate (httpsd.crt) are located in /etc/httpd/conf/ . Move and rename your key and certificate so that the secure server can use them. Use the following two commands to move and rename your key and certificate files:
mv /etc/httpd/conf/httpsd.key /etc/pki/tls/private/server.key mv /etc/httpd/conf/httpsd.crt /etc/pki/tls/certs/server.crt

Despus inicie su servidor seguro con el comando:

/sbin/service httpd start

22.8.4. Tipos de certificados


Si ha instalado su servidor seguro desde el paquete RPM proporcionado por Red Hat se genera una llave aleatoria y un certificado de prueba y son puestos en sus directorios apropiados. Sin embargo, antes de que empiece a usar su servidor seguro necesitar generar su propia llave y obtener un certificado que identifique correctamente su servidor. Necesita una llave y un certificado para operar su servidor seguro lo cual significa que puede generar un certificado autofirmado o adquirir uno firmado por una CA. Cules son las diferencias entre los dos? Un certificado firmado por una CA proporciona dos importantes capacidades para su servidor: Los navegadores (normalmente) reconocen automticamente el certificado y permiten establecer la conexin segura sin preguntar al usuario. Cuando una CA emite un certificado firmado, ellos garantizan la identidad de la organizacin que est proporcionando las pginas web al navegador. Si a su servidor seguro est siendo accesado por todo el mundo, necesitar un certificado firmado por una CA, as la gente que acceda a su sitio web sabr que dicho sitio es propiedad de la organizacin

374

Generar una clave

que proclama ser la duea. Antes de firmar un certificado, una CA verifica que la organizacin peticionaria de dicho certificado es realmente quien proclama ser. Muchos navegadores web que soportan SSL tienen una lista de CAs cuyos certificados admiten automticamente. Si el navegador encuentra un certificado autorizado por una CA que no est en la lista, el navegador preguntar al usuario si desea aceptar o rechazar la conexin. Puede generar un certificado auto-firmado para su servidor seguro pero tenga en cuenta de que un certificado auto-firmado no proporciona la misma funcionalidad que un certificado firmado por un AC. Un certificado auto-firmado no es reconocido automticamente por la mayora de los navegadores y no proporciona ninguna garanta en realcin con la identidad de la organizacin que proporciona el sitio web. UN certificado firmado por un AC proporciona estas dos habilidades tan importantes para un servidor seguro. Si va a utilizar su servidor seguro en un entorno de produccin se recomienda que tenga un certificado firmado por AC. El proceso para conseguir un certificado de una CA es bastante sencillo. A continuacin un vistazo rpido a dicho proceso: 1. 2. Crear un par de claves encriptadas, pblica y privada. Crear una peticin de certificado basada en la clave pblica. La peticin contiene informacin sobre su servidor y la compaa que lo hospeda. Send the certificate request, along with documents proving your identity, to a CA. Red Hat does not make recommendations on which certificate authority to choose. Your decision may be based on your past experiences, on the experiences of your friends or colleagues, or purely on monetary factors. Una vez que haya decidido por un CA, necesitar seguir las instrucciones que se le indiquen para obtener un certificado de ellos. 4. Cuando la AC se encuentra satisfecha con su presumible identidad ellos le proporcionarn un certificado digital. Instale este certificado en su servidor seguro y comience a manejar transacciones seguras.

3.

5.

Whether you are getting a certificate from a CA or generating your own self-signed certificate, the first step is to generate a key. Refer to Seccin 22.8.5, Generar una clave for instructions.

22.8.5. Generar una clave


Tiene que ser root para generar una clave. First, use the cd command to change to the /etc/pki/tls/ directory. Remove the fake key and certificate that were generated during the installation with the following commands:
rm private/server.key rm certs/server.crt

El paquete crypto-utils contiene la herramienta genkey , la cual se puede utilizar para generar llaves, as como lo implica su nombre. Para crear su propia llave privada asegrese de que el paquete crypto-utils se encuentre instalado. Puede encontrar ms opciones si escribe man genkey en su terminal. Asumiendo de que usted quiere generar llaves para www.example.com utilizando la herramienta genkey escriba el siguiente comando en su terminal:

375

Generar una clave

genkey www.example.com

Observe que el proceso basado en make ya no se incluye junto con RHEL 5. Esto iniciar la interfaz grfica de usuario genkey . La figura que se encuentra a continuacin ilustra la primera pantalla. Para navegar utilice las flechas y tab. Estas ventanas indican en donde se almacenar su llave y le preguntar si desea continuar o cancelar la operacin. Para proceder al siguiente paso seleccione Siguiente y oprima la tecla Intro.

Figura 22.11. Keypair generation La siguiente pantalla le pedir que seleccione el tamao de su llave. Como se indic anteriormente entre ms pequea sea su llave recibir ms rpido respuesta de su servidor y su nivel de seguridad ser menor. Utilice las flechas para seleccionar el tamao de la llave y haga clic en Siguiente para proceder al siguiente paso. La figura a continuacin ilustra la pantalla de seleccin del tamao de la llave.

376

Generar una clave

Figura 22.12. Choose key size Al seleccionar el siguiente paso se iniciar el proceso de generacin de bits que puede llegar a tomar un poco de tiempo dependiendo del tamao de la llave que seleccion. Entre ms grande sea su llave ms tiempo se tomar en generarla.

377

Generar una clave

Figura 22.13. Generating rando m bits Al generar su llave se le pedir que envie un Pedido de Certificado a una Autoridad de Certificacin (AC).

Figura 22.14. Generate CSR

378

Generar una clave

Selecting Yes will prompt you to select the Certificate Authority you wish to send your request to. Selecting No will allow you to generate a self-signed certificate. The next step for this is illustrated in Figura 22.17, Generating a self signed certificate for your server.

Figura 22.15. Choose Certificate Authority (CA) En Seleccin de su opcin preferida escoja Siguiente para proceder al siguiente paso. La siguiente pantalla le permititr ingresar los detalles de su certificado.

379

Generar una clave

Figura 22.16. Enter details for your certificate If you prefer to generate a self signed cert key pair, you should not generate a CSR. To do this, select No as your preferred option in the Generate CSR screen. This will display the figure below from which you can enter your certificate details. Entering your certificate details and pressing the return key will display the Figura 22.19, Protecting your private key from which you can choose to encrypt your private key or not.

380

Generar una clave

Figura 22.17. Generating a self signed certificate for your server Al ingresar los detalles de su certificado seleccione Siguiente para continuar. La figura que se encuentra a continuacin ilustra un ejemplo de la pantalla siguiente que aparecer despus de completar los detalles para un certificado que se va a enviar a Equifax. Observe que esta pantalla no aparecer si se encuentra generando una llave auto-firmada para su servidor.

Figura 22.18. Begin certificate request

381

Generar una clave

Al oprimir la tecla intro aparecer la siguiente pantalla desde la cual puede habilitar o deshabilitar la opcin de encriptar la llave privada. Utilice la barra espaciadora para escoger. Cuando se encuentra habilitada aparecer un caracter [*]. Al seleccionar su opcin preferida seleccione Siguiente para continuar al siguiente paso.

Figura 22.19. Protecting your private key La siguiente pantalla le permitir configurar la contrasea de la llave.

382

Generar una clave

Figura 22.20. Set passphase Si trata de ejecutar genkey makeca en un servidor que ya tiene una pareja de llaves existentes aparecer un mensaje de error como se ilustra a continuacin. Necesita borrar su archivo de llave existente como se indica para poder generar un nuevo par de llaves.

383

Generar una clave

Figura 22.21. genkey error http://httpd.apache.org/docs/2.2/ssl/ http://httpd.apache.org/docs/2.2/vhosts/

22.8.6. Cmo configurar el servidor para utilizar la nueva clave


Los pasos para configurar el Servidor HTTP Apache para poder utilizar la nueva llave son los siguientes: Obtenga el certificado firmado del AC despus de enviar el CSR. Copie el certificado a la ruta, por ejemplo /etc/pki/tls/certs/www.example.com.crt Edit /etc/httpd/conf.d/ssl.conf . Change the SSLCertificateFile and SSLCertificateKey lines to be.

SSLCertificateFile /etc/pki/tls/certs/www.example.co m.crt SSLCertificateKeyFile /etc/pki/tls/private/www.example.com.key

where the "www.example.com" part should match the argument passed on the genkey command.

22.9. Recursos adicionales


Para mayor informacin sobre el Servidor HTTP Apache consulte los siguientes recursos:

384

Sitios Web de utilidad

22.9.1. Sitios Web de utilidad


http://httpd.apache.org/ El sitio oficial para el Servidor HTTP Apache con documentacin sobre todas las directrices y mdulos predeterminados. http://www.modssl.org/ El sitio oficial para mod_ssl . http://www.apacheweek.com/ Informacin semanal completa sobre todas las cosas de Apache.

385

Вам также может понравиться