El Servidor Apache (Cap27)

46
Capítulo 27: El Servidor Web Apache El Servidor Web APACHE Tabla de contenidos: 27.1. Introducción. 27.2. Archivos necesarios en HTTP Apache. 27.2.1. Archivo de configuración: httpd.conf. 27.2.2. Herramienta de configuración: system-config-httpd. 27.3. Usando HTTP Apache. 27.3.1. Lineamientos generales. 27.3.2. Activación del Web Server Apache. 27.4. Configuraciones básicas. 27.5. Configuraciones por defecto. 27.5.1. Configuración del sitio. 27.5.2. Registro. 27.5.3. Variables del entorno. 27.5.4. Directorios. 27.6. Configurando Hosts Virtuales. 27.6.1. Agregando y Revisando a un Host Virtual. 27.6.1.1. Ficha: Opciones generales. 27.6.1.2. SSL. 27.7. Configuración del servidor. 27.8. Ajuste de rendimiento. 27.9. Salvado sus configuraciones. 27.9.1. Archivo /etc/httpd/conf/httpd.conf. 27.10. Recursos adicionales. 27.10.1. Documentación instalada. 27.10.2. Websites útiles.

description

servidor apache

Transcript of El Servidor Apache (Cap27)

Page 1: El Servidor Apache (Cap27)

Capítulo 27: El Servidor Web Apache

El Servidor Web APACHE

Tabla de contenidos:

27.1. Introducción.

27.2. Archivos necesarios en HTTP Apache.

27.2.1. Archivo de configuración: httpd.conf.

27.2.2. Herramienta de configuración: system-config-httpd.

27.3. Usando HTTP Apache.

27.3.1. Lineamientos generales.

27.3.2. Activación del Web Server Apache.

27.4. Configuraciones básicas.

27.5. Configuraciones por defecto.

27.5.1. Configuración del sitio.

27.5.2. Registro.

27.5.3. Variables del entorno.

27.5.4. Directorios.

27.6. Configurando Hosts Virtuales.

27.6.1. Agregando y Revisando a un Host Virtual.

27.6.1.1. Ficha: Opciones generales.

27.6.1.2. SSL.

27.7. Configuración del servidor.

27.8. Ajuste de rendimiento.

27.9. Salvado sus configuraciones.

27.9.1. Archivo /etc/httpd/conf/httpd.conf.

27.10. Recursos adicionales.

27.10.1. Documentación instalada.

27.10.2. Websites útiles.

Page 2: El Servidor Apache (Cap27)

2

Sistema Operativo Linux

Page 3: El Servidor Apache (Cap27)

Capítulo 27: El Servidor Web Apache

El Servidor Web APACHE

27.�. IntroducciónEl Servidor HTTP Apache es una ponderosa y flexible herramienta para publicación de páginas web en Internet. Inicialmente fue diseñado como un reemplazo para el servidor NCSA http, pero después se convirtió en el más popular servidor web de Internet.

Gracias al proyecto de Apache Software Foundation, los desarrolladores han mantenido robusto, flexible, poderoso, basado en los estándares del mercado y comercial a este servidor. El servidor web Apache está disponible en Internet, totalmente gratis, ah!, y el software fuente también.

La versión que se explicará en las siguientes secciones corresponde a la versión 2.0 en adelante.

Figura 27.1. El Servidor Web Apache.

La figura anterior muestra un servidor web Apache local y otros servidores web Apache remotos. Debe saber que la mayor cantidad de servidores web en Internet son servidores Apache.

Page 4: El Servidor Apache (Cap27)

Sistema Operativo Linux

27.2. Archivos necesarios en HTTP Apache

27.2.�. Archivo de configuración: httpd.conf

El archivo de configuración es: /etc/httpd/conf/httpd.conf. En este archivo usted puede configurar directivas tales como máquinas virtuales, registro de atributos, y número máximo de conexiones, etc.

No edite el archivo de configuración /etc/httpd/conf/httpd.conf con ningún otro editor. Mejor use la herramienta: system-config-httpd.

Nota: No use los archivos de configuración antiguos srm.conf o access.conf; déjelos vacíos.

27.2.2. Herramienta de configuración: system-config-httpd

Para usar la Herramienta de Configuración HTTP, se necesitan que los paquetes RPM httpd y system-config-httpd estén instalados. También se requiere trabajar en el ambiente gráfico X Window y acceder al sistema como usuario root.

Para ver si tiene instalado los paquetes de http, ejecute:

[root@fedora3 ~]# rpm -qa http*httpd-2.0.52-3httpd-suexec-2.0.52-3httpd-manual-2.0.52-3

Se puede apreciar del despliegue que la versión http en Linux Fedora Core 3 es la versión: “2.0.52-3”.

Para empezar la aplicación HTTP, tiene dos opciones:

• Seguir la siguiente secuencia: presionar el Botón del Menú Principal Configuración del Sistema Configuración del Servidor Servidor HTTP.

• Digitar el comando system-config-httpd en el indicador de órdenes del shell (por ejemplo, en un terminal XTERM o un terminal GNOME).

Page 5: El Servidor Apache (Cap27)

Capítulo 27: El Servidor Web Apache

27.�. Usando HTTP Apache

27.�.�. Lineamientos generales

Los pasos generales por configurar el Servidor HTTP Apache usando la Herramienta de Configuración HTTP son los siguientes:

1. Configure lo básico bajo la ficha Principal. 2. Haga clic en la ficha Hosts virtuales y configure.3. Bajo la ficha Hosts virtuales configure el Host virtual por defecto. 4. Si usted quiere servir más de un URL o host virtual, agregue los hosts virtuales

adicionales. 5. Configure la ficha Servidor. 6. Configure las Conexiones bajo la ficha Ajuste del rendimiento. 7. Copie todos los archivos necesarios a los directorios: DocumentRoot y cgi-bin. 8. Salve su configuración y salga de la aplicación.

27.�.2. Activación del Web Server Apache

• Después inicie su servidor HTTP Apache:[root@fedora3 ~]# service httpd start

• Si realiza algún cambio de configuración ejecute:[root@fedora3 ~]# service httpd restart

• Para ver el estado del servidor HTTP Apache ejecute: [root@fedora3 ~]# service httpd statusSe está ejecutando httpd (pid 2474 2472 2468 2467 2466 2464 2462 2461 2426)...

• Para parar el servidor Apache ejecute el siguiente comando de línea:[root@fedora3 ~]# service httpd stop

• En modo gráfico use la herramienta de administración: system-config-services.

Page 6: El Servidor Apache (Cap27)

Sistema Operativo Linux

27.�. Configuraciones básicas Use la ficha Principal para configurar los datos básicos del servidor:

• Ingrese un nombre del dominio totalmente calificado en Nombre del Servidor. Esta opción corresponde a la directiva ServerName en httpd.conf. La directiva ServerName fija el nombre del servidor Web. Si usted no define un nombre de servidor, el servidor Web intenta resolverlo con la dirección IP del sistema.

El nombre del servidor no tiene que ser el nombre del dominio resuelto con la dirección IP del servidor. Por ejemplo, usted podría querer poner el nombre del servidor a ftp.iciuni.edu.pe, cuando el nombre real DNS del servidor fedora3.iciuni.edu.pe.

Figura 27.2. Configuraciones básicas.

• Ingrese la dirección de correo electrónico de la persona que mantiene el servidor de Web en el campo Dirección de correo electrónico del Webmaster. Esta opción corresponde a la directiva ServerAdmin en httpd.conf. Si usted configura páginas con error en el servidor que contenga una dirección del correo electrónico, esta dirección del correo electrónico se usará para que los usuarios puedan informar un problema enviando un correo al administrador del servidor. El valor predeterminado es el root@localhost.

• Use el campo Available Addresses para definir los puertos en que el servidor aceptará las demandas entrantes. Esta opción corresponde a la directiva Listen en httpd.conf. Por defecto, Linux Fedora configura el Servidor HTTP Apache para escuchar por el puerto 80 las comunicaciones Web.

Page 7: El Servidor Apache (Cap27)

7

Capítulo 27: El Servidor Web Apache

Haga clic en el botón Añadir para definir los puertos adicionales en que se aceptarán las demandas. Una ventana como la que se muestra en la Figura 27.3., aparecerá. O escoja la opción Escuchar todas las direcciones para escuchar a todas las direcciones IP en el puerto definido o especificar una dirección IP particular en el campo Dirección. Sólo especifique una dirección IP por número de puerto. Si usted quiere especificar más de una dirección IP con el mismo número del puerto, cree una entrada para cada dirección IP. En caso extremo use una dirección de IP en lugar de un nombre del dominio prevenir una falla DNS.

Nota:Vaya a: http://httpd.apache.org/docs-2.0/dns-caveats.html, para más información sobre los Problemas con respecto a DNS y Apache.

Ingresar un asterisco (*) en el campo Dirección da igual que elegir Escuchar todas las direcciones. Haciendo clic en el botón Modificar en Avalilable Addresses el marco muestra la misma ventana como al presionar el botón Añadir excepto que los campos estarán con datos. Para eliminar una entrada, selecciónelo y haga clic en el botón Eliminar.

Page 8: El Servidor Apache (Cap27)

Sistema Operativo Linux

Nota: Si usted pusiera el servidor a escuchar en un puerto menor que 1024, usted debería ser el usuario root para inicializarlo. Si el puerto toma valores como 1024 y anteriores, httpd puede ser iniciado con un usuario regular.

Figura 27.3. Direcciones disponibles.

Figura 27.4. Direcciones disponibles.

27.�. Configuraciones por defectoDespués de definir el Nombre del Servidor, dirección de correo electrónico del Administrador Web, y las Direcciones Disponibles, pulse la ficha: Host virtuales y haga clic en el botón: Modificar la configuración por defecto.... La ventana que se muestra en la Figura 27.5., aparecerá. Configure los valores por defecto para su servidor Web en esta ventana. Si usted agrega un host virtual, las configuraciones que usted realiza para el host virtual toman precedencia para esa máquina virtual. Para una directiva no definida con las configuraciones del host virtual, el valor predefinido es usado.

Page 9: El Servidor Apache (Cap27)

Capítulo 27: El Servidor Web Apache

27.�.�. Configuración del sitio

Los valores predefinidos para los marcos Directory Page Search List y Error Pages trabajarán para la mayoría de los servidores. Si no esta seguro no los modifique.

Figura 27.5. Configuración del Sitio.

• Las entradas listadas en el marco Directory Page Search List se definen con la directiva

DirectoryIndex. DirectoryIndex es la página predefinida enviada por el servidor cuando un usuario pide un índice de un directorio al especificar un slash (/) al final del nombre del directorio.

Por ejemplo, cuando un usuario ingresa en el URL: http://www.example.com/this_directory/, el sistema va a conseguir la página en DirectoryIndex

si existe, o de una lista del directorio del servidor. El servidor intentará encontrar uno de los archivos listado en la directiva DirectoryIndex y devolverá la primera que encuentre. Si no encuentra ninguno de estos archivos y si la directiva Options Indexes se fija para ese directorio, el servidor generará y devolverá una lista, en formato HTML, de los subdirectorios y archivos en el directorio.

Page 10: El Servidor Apache (Cap27)

�0

Sistema Operativo Linux

• Use la sección: Error Pages para configurar el Servidor HTTP Apache para remitir al cliente a un URL local o externo en caso de un problema o error. Esta opción corresponde a la directiva ErrorDocument. Si un problema o error ocurre cuando un cliente intenta conectarse al Servidor HTTP Apache, la acción predefinida es desplegar un corto mensaje de error mostrado en la columna: Código de error. Para sobrescribir esta configuración predefinida, seleccione el código del error y haga clic en el botón: Modificar. Escoja por defecto para desplegar el mensaje predefinido de error, como se muestra en la figura siguiente:

Figura 27.6. Código de error.

Escoja un URL para remitir al cliente a un URL externo e ingrese un URL completo incluso http:// en el campo Location. Escoja File para remitir al cliente a un URL interior e ingrese la ubicación del archivo bajo DocumentRoot para el servidor Web. La ubicación debe empezar con un slash (/) y debe ser relativo a DocumentRoot.

Por ejemplo, para remitir un 404 - Not Found error code a una página web que usted creó en un archivo llamado 404.html, copie 404.html a:DocumentRoot/errors/. En este caso, DocumentRoot es el directorio (raíz) que usted ha definido (el valor predeterminado es /var/www/html). Después, escoja File como patrón para 404 - Not Found error code e ingrese /errors/404.html en Location.

• Del menú Mensaje de pie de página de error predeterminado (Default Error Page Footer), usted puede escoger una de las opciones siguientes:

o Mostrar el pie de página con la dirección de correo electrónico (Show footer with email ardes). Despliega el pie de página (footer) predefinido al fondo de todas las páginas de error con la dirección de correo electrónico de quien mantiene el website especificada por la directiva ServerAdmin.

o Mostrar el pie de página (Show footer). Despliega el pie de página predefinido al fondo de las páginas de error.

o Ningún pie de página (No footer). No se despliega ningún pie de página al fondo de las páginas del error.

Page 11: El Servidor Apache (Cap27)

��

Capítulo 27: El Servidor Web Apache

27.�.2. RegistroPor defecto, el servidor graba:

1. Registros de transferencia al archivo: /var/log/httpd/access_log.2. Registros de error al archivo: /var/log/httpd/error_log.

• El registro de transferencia contiene una lista de todos los intentos por acceder al servidor Web. Graba la dirección IP del cliente que está intentando conectarse, la fecha y la hora del intento, y el archivo en el servidor Web que está intentando recuperar I.

Ingrese el nombre de la ruta y del archivo en que guardará esta información. Si la ruta y el nombre del archivo no empiezan con un slash (/), el camino es relativo al directorio raíz de servidor configurado. Esta opción corresponde a la directiva TransferLog.

Usted puede configurar un formato de registro personalizado verificando Usar las facilidades del registro personalizado (Use custom logging facilities) y entrando una cadena de registro personalizado en el campo Cadena de registro de personalización (Custom Log String). Esto configura la directiva LogFormat.

Nota:Refiérase a:http://httpd.apache.org/docs-2.0/mod/mod_log_config.html#formatspara los detalles en el formato de esta directiva.

Page 12: El Servidor Apache (Cap27)

�2

Sistema Operativo Linux

Figura 27.7. Logging.

• El registro de error contiene una lista errores que pueden ocurrir en el servidor. Ingrese el nombre de la ruta y del archivo en que se guardará esta información. Si la ruta y el nombre del archivo no empiezan con un slash (/), la ruta es relativa al directorio raíz del servidor que se ha configurado. Esta opción corresponde a la directiva ErrorLog.

• Use el menú: Registrar el nivel (Log Level) para hacer que los mensajes de error sean más explicativos. Puede ponerse (de menos a más explicativo) a Emergencia (emerg), Advertencia (alert), Crítica (crit), error, Advertencia (warm), Aviso (notice), info o Depurar (debug). Esta opción corresponde a la directiva LogLevel.

• El valor escogido con el menú: Búsqueda inversa del DNS (Reverse DNS Lookup) lo define la directiva HostnameLookups. Al elegirse Ninguna búsqueda inversa (No Reverse Lookup) pone el valor a “apagado” (off). Al escoger Búsqueda inversa (Reverse Lookup) se pone el valor a “prendido” (on). Escogiendo Visión doble inversa (Double Reverse Lookup) se duplica esta acción.

Page 13: El Servidor Apache (Cap27)

��

Capítulo 27: El Servidor Web Apache

Si usted escoge Búsqueda inversa, su servidor resolverá automáticamente las direcciones IP para cada conexión que pide un documento de su servidor Web. Resolver la dirección IP quiere decir que su servidor hará una o más conexiones al DNS para averiguar el nombre del computador que corresponde a una particular dirección IP.

Si usted escoge Visión doble inversa, su servidor realizará una doble acción de Búsqueda inversa del DNS. En otros términos, después de que una búsqueda inversa se ha realizado, una búsqueda directa se realiza. Por lo menos una de las direcciones IP en la búsqueda directa debe emparejar con la dirección de la primera búsqueda inversa.

Generalmente, usted debe dejar esta opción en Ninguna búsqueda inversa, porque las demandas del DNS agregan una carga a su servidor y pueden reducir su capacidad de acción.

27.�.�. Variables del entorno

A veces es necesario modificar las variables del entorno para scripts CGI o páginas server-side include (SSI). El Servidor HTTP Apache puede usar el módulo mod_env para configurar las variables del entorno que se pasan a los scripts CGI y páginas SSI. Use la ficha Entorno (Environment Variables) para configurar las directivas para este módulo.

• Use la sección Set for CGI Scripts para poner una variable de entorno que se pasa a los scripts CGI o a las páginas SSI. Por ejemplo, para poner la variable de entorno MAXNUM a 50, haga clic en el botón: Añadir dentro de la sección Set for CGI Script como es mostrado en Figura 27.8, y digite MAXNUM en el campo Varible de entorno (Environment Variable) y 50 en el campo Valor a configurar (Value to set). Pulse el botón: Aceptar (OK) para agregarlo a la lista. La sección Set for CGI Scripts se configura con la directiva SetEnv.

Page 14: El Servidor Apache (Cap27)

��

Sistema Operativo Linux

• Use la sección Pass to CGI Scripts para pasar el valor de una variable de entorno cuando el servidor se empezó primero con los scripts CGI. Para ver esta variable de entorno, teclee el comando env en el shell del sistema. Haga clic el botón Añadir dentro de la sección Pass to CGI Scripts e ingrese el nombre de la variable de entorno. Pulse el botón: Aceptar (OK) para agregarla a la lista. La sección Pass to CGI Scripts se configura con la directiva PassEnv.

Figura 27.8. Variables de entorno.

Si usted quiere quitar una variable de entorno para que el valor no se pase a los scripts CGI y páginas SSI, use la sección Unset for CGI Scripts. Haga clic en Añadir en la sección Unset for CGI Scripts, e ingrese el nombre de la variable de entorno.

• Pulse el botón: Aceptar (OK) para agregarla a la lista. Esto corresponde a la directiva UnsetEnv. Para editar cualquiera de éstos los valores de entorno, selecciónelo de la lista y pulse el botón: Modificar (Edit). Para elimiar cualquier entrada de la lista, selecciónela y haga clic en el botón: Borrar (Delete).

Nota:Para aprender más sobre las variables de entorno en el Servidor HTTP Apache, consulte a: http://httpd.apache.org/docs-2.0/env.html

Page 15: El Servidor Apache (Cap27)

��

Capítulo 27: El Servidor Web Apache

27.�.�. Directorios

Use la página Directorio de la ficha Ejecución, para configurar las opciones para directorios específicos. Esto corresponde a la directiva Directory.

Haga clic en el botón: Modificar en la parte superior de la esquina derecha para configurar Opciones de directorio por defecto: para todos los directorios que no se especifican en la lista Directorio (Directory). Las opciones que usted escoge están listadas en la directiva Options dentro de la directiva Directory. Usted puede configurar las opciones siguientes:

• ExecCGI: Permite ejecución de scripts CGI. No se ejecutarán los scripts CGI si esta opción no es escogida.

• FollowSymLinks: Permite seguir los enlaces simbólicos. • Incluyes: Permite páginas server-side includes. • IncludesNOEXEC: Permite páginas server-side include, pero desactiva los comandos #exec

y #include en los scripts CGI. • Indexes: Despliega una lista formateada del contenido del directorio, si ningún DirectoryIndex,

(como index.html) existe en el directorio pedido. • Multiview: Soporta content-negotiated multiviews; esta opción está desactivada por

defecto. • SymLinksIfOwnerMatch: Sólo siga los enlaces simbólicos si el archivo destino o el directorio

tiene el mismo dueño como el enlace.

Figura 27.9. Directorios.

Para especificar opciones para directorios específicos, haga clic en el botón: Añadir al lado de la caja de lista Directorio. La ventana mostrada en la Figura 27.10, aparece: ingrese el directorio en el campo Directory al fondo de la ventana.

Page 16: El Servidor Apache (Cap27)

��

Sistema Operativo Linux

Seleccione las opciones en la lista de la mano derecha, y configure la directiva Order con las opciones laterales de la mano izquierda. La directiva Order controla las directivas que se permiten o niegan para ser evaluadas. En los campos Permitir los accesos desde (Allow hosts from) y Negar los hosts desde (Deny hosts from) puede especificar lo siguiente:

• Allow all hosts: Digite all para el acceso a todos los hosts.• Partial domain name: Permite a todos los hosts cuyos nombres encajen con la cadena

ingresada. • Full IP address: Permite acceder a una dirección IP específica. • A subset: Tal como 192.168.1.0/255.255.255.0. • A network CIDR specification: Tal como 10.3.0.0/16.

Figura 27.10. Configurando el Directorio.

Si usted verifica Let .htaccess files override directory options, las directivas de configuración en el archivo .htaccess toman precedencia.

27.�. Configurando Hosts VirtualesUsted puede usar la herramienta de configuración HTTP (HTTP Configuration Tool) para configurar hosts virtuales. Los hosts virtuales le permiten “correr” (ejecutar) diferentes servidores para diferentes direcciones IP, diferentes nombres de host, o diferentes puertos en la misma máquina.

Por ejemplo, usted puede ejecutar el website http://www.example.com y el website http://www.anotherexample.com en el mismo servidor Web usando hosts virtuales. Esta opción corresponde a la directiva VirtualHost para el host virtual predefinido y para el host virtual basado en una dirección IP. Corresponde a la directiva NameVirtualHost el host virtual basado en el nombre.

Page 17: El Servidor Apache (Cap27)

�7

Capítulo 27: El Servidor Web Apache

Las directivas puestas para un host virtual sólo se aplican a ese host virtual en particular. Si una directiva es puesta usando el botón: Modificar la configuración por defecto... y no se definieron dentro de la configuración del host virtual, se usa la configuración por defecto. Por ejemplo, usted puede definir una dirección de correo electrónico para el Administrador del Web (Webmaster email address) en la ficha Principal y no puede definir las direcciones del correo electrónico individuales para cada host virtual.

Figura 27.11. Hosts Virtuales.

La Herramienta de Configuración HTTP incluye un host virtual predefinido como se muestra en la Figura 27.11.

Nota:http://httpd.apache.org/docs-2.0/vhosts/ y la documentación del Servidor HTTP Apache en su máquina le proporciona más información sobre los hosts virtuales.

Page 18: El Servidor Apache (Cap27)

��

Sistema Operativo Linux

27.�.�. Agregando y Revisando a un Host Virtual

Para agregar a un host virtual, pulse la ficha Virtual Hosts y después haga clic en el botón Añadir (Add). Usted también puede editar un host virtual seleccionándolo de la lista y haciendo clic en el botón Modificar (Edit).

27.�.�.�. Ficha: Opciones generales

Las configuraciones sólo se aplican al host virtual que usted está configurando. Ponga el nombre del host virtual en Nombre del Host virtual (Virtual Host Name). Este nombre será usado por la Herramienta de Configuración HTTP para distinguirlo de entre los otros hosts virtuales.

Ponga en Directorio de Root del documento (Document Root Directory) la ruta que contiene el documento (como index.html) para el organizador virtual. Esta opción corresponde a la directiva DocumentRoot dentro de la directiva <VirtualHost>. En Linux Fedora el Directorio de Root del documento se ha predefinido en /var/www/html.

La dirección de correo electrónico del Administrador Web corresponde a la directiva ServerAdmin dentro de la directiva Dirección de correo electrónico del Webmaster (Webmaster email ardes).

En la sección de Host Information, escoja:Host Virtual por defecto (Default Virtual Host), Host Virtual basado en IP (IP based Virtual Host) o Host Virtual basado en el nombre (Name based Virtual Host).

• Host Virtual por defecto: Usted debe configurar sólo un host virtual por defecto (recuerde que hay uno predefinido).

Las configuraciones del host virtual predeterminado se usan cuando la dirección IP pedida no se lista explícitamente en otro host virtual. Si no hay ningún host virtual predefinido, se usarán las configuraciones del servidor principal.

Page 19: El Servidor Apache (Cap27)

��

Capítulo 27: El Servidor Web Apache

• Host Virtual basado en IP Si usted escoge IP based Virtual Host, una ventana aparece para configurar la directiva

<VirtualHost> basado en la dirección IP del servidor. Especifique la dirección IP en el campo IP address. Para especificar más de una dirección IP se dirigen, separe cada dirección IP con espacios. Para especificar un puerto, use la sintaxis IP Address:Port. Use: * para configurar todos los puertos para la dirección IP. Especifique el nombre del host para el host virtual en el campo Server Host Name.

Figura 27.12. Hosts Virtuales.

• Host Virtual basado en el nombre: Si usted escoge Name based Virtual Host, una ventana aparece para configurar la directiva

NameVirtualHost basado en el nombre del host del servidor. Especifique la dirección IP en el campo IP address. Para especificar más de una dirección IP, separe cada dirección IP con espacios. Para especificar un puerto, use la sintaxis IP Address:Port. Use: * para configurar todos los puertos para la dirección IP. Especifique el nombre del host virtual en el campo Server Host Name. En la sección Aliases, haga clic en Añadir para agregar un alias al host virtual. Al agregar un alias utiliza la directiva ServerAlias dentro de la directiva NameVirtualHost.

Page 20: El Servidor Apache (Cap27)

20

Sistema Operativo Linux

27.�.�.2. SSL

Si un Servidor HTTP Apache no se configura con el soporte SSL, las comunicaciones entre un Servidor HTTP Apache y sus clientes no se encriptan. Esto es apropiado para websites sin información personal o confidencial.

Por ejemplo, un website “open source” que distribuye software “open source” y documentación no tiene necesidad de una comunicación segura. Sin embargo, un website e-commerce que requiere la información de la tarjeta de crédito debería usar el soporte Apache SSL para encriptar sus comunicaciones. Habilitando el soporte Apache SSL se habilita el uso del módulo de seguridad de mod_ssl. Para habilitarlo a través de la Herramienta de Configuración HTTP usted debe permitir el acceso a través de puerto 443 bajo la ficha Principal Direcciones disponibles (Available addresses).

Figura 27.13. Soporte SSL.

Refiérase a la Sección 27.4. Configuraciones Básicas para los detalles. Después, seleccione el nombre del host virtual en la ficha Hosts virtuales (Virtual Hosts), haga clic en el botón Modificar (Edit), escoja la ficha SSL del menú, y verifique la opción Habilitar el soporte SSL (Enable SSL Support) como se muestra en la Figura 27.13. En la sección SSL Configuration se pre-configura con el certificado digital dummy. El certificado digital provee autenticación a su servidor Web seguro e identifica el servidor seguro a los navegadores Web del cliente. Usted debe comprar su propio certificado digital. No use el certificado dummy provisto por Linux Fedora para su website.

Page 21: El Servidor Apache (Cap27)

2�

Capítulo 27: El Servidor Web Apache

27.7. Configuración del servidor La ficha Servidor le permite configurar las opciones básicas del servidor. Los valores predefinidas para estas opciones son apropiadas para la mayoría de las situaciones.

El valor de Archivo de bloqueo (Lock File) corresponde a la directiva LockFile. Esta directiva pone la ruta al archivo de cerradura usado cuando el servidor es compilado. Debe guardarse en el disco local. Debe dejarse el valor predefinido a menos que el directorio de registros (logs) se localice en un NFS compartido. Si éste es el caso, el valor predefinido debe cambiarse a una ubicación en el disco local y a un directorio que sólo es leíble por el usuario root.

El campo Archivo PID (PID File) esta asociado a la directiva PidFile. Esta directiva pone el archivo en que el servidor graba su identificador de proceso (pid). Este archivo sólo debe ser leído por el usuario root. En la mayoría de los casos, debe dejarse al valor predefinido.

Figure 27.14. Configuración del servidor.

El campo Directorio de vaciado del núcleo (Core Dump Directory) se corresponde con la directiva CoreDumpDirectory. El Servidor HTTP Apache intenta cambiar a este directorio antes de descargar la memoria. El valor predefinido es ServerRoot. Sin embargo, si el servidor no puede escribir a este directorio, el vaciado de memoria no podrá realizarse. Cambie este valor a un directorio con permisos de escritura por el usuario, si usted quiere realizar algunas depuraciones.

El valor de la opción Usuario (User) se corresponde con la directiva User. Pone el user-id usado por el servidor para contestar las demandas. Las configuraciones de este usuario determinan el acceso del servidor. Cualquiera archivo inaccesible para este usuario es también inaccesible para los visitantes a su website. El valor predeterminado para Usuario es apache.

Page 22: El Servidor Apache (Cap27)

22

Sistema Operativo Linux

El usuario debe tener sólo privilegios para que pueda acceder a los archivos que se supone son visibles al mundo externo. El usuario también es el dueño de cualquier proceso CGI tratado por el servidor. Al usuario no se le debe permitir ejecutar cualquier código que no esta pensado como respuesta a las demandas de HTTP.

Advertencia: Por seguridad no ponga en la directiva Usuario al usuario root. Si hace esto ocasionará un agujero en la seguridad de su servidor Web.

El proceso httpd primero corre como root durante las operaciones normales, pero después es manejado por el usuario apache. El servidor debe empezar como root porque necesita ligarse a un puerto menor a 1024. Los puertos debajo de 1024 son reservados para el uso del sistema, para que ellos no pueden usarse por cualquiera sino por root. Una vez el servidor se ha conectado a su puerto, este traslada el manejo al usuario apache antes de que acepte cualquier demanda de conexión.

El valor de la opción Grupo (Group) se corresponde con la directiva Group. La directiva Group es similar a la directiva Usuario. La opción Group pone el grupo bajo el servidor que contestará las demandas. El grupo predefinido también es apache.

27.�. Ajuste de rendimientoHaga clic en la ficha Ajuste de rendimiento (Performance Tuning) para configurar el número máximo de conexiones al servidor HTTP Apache y la cantidad de pedidos por cada cliente. Las configuraciones predefinidas para estas opciones son apropiadas para la mayoría de las situaciones. AL alterar estas configuraciones se puede afectar la actuación global de su servidor Web.

La opción Número máximo de conexiones (Max Number of Connections) es el número máximo de demandas simultáneas del cliente que el servidor podrá manejar. Por cada conexión se crea un pequeño proceso httpd. Después de que este número máximo de procesos se alcanza, nadie más podrá conectarse al servidor Web hasta que un proceso del servidor se libere. Usted no puede poner este valor más alto que 256 sin recompilar. Esta opción corresponde a la directiva MaxClients.

Page 23: El Servidor Apache (Cap27)

2�

Capítulo 27: El Servidor Web Apache

La opción Tiempo máximo de expiración de la conexión (Connection Timeout) define, en segundos, la cantidad de tiempo que su servidor esperará por los recibos y transmisiones durante las comunicaciones. Específicamente, Tiempo máximo de expiración de la conexión define cuánto tiempo su servidor esperará por recibir una demanda GET, cuánto tiempo esperará recibir paquetes TCP en una demanda POST o PUT y cuánto tiempo esperará entre ACKs para responder a los paquetes TCP. Por defecto, Tiempo máximo de expiración de la conexión se pone a 300 segundos que es muy apropiado para la mayoría de las situaciones. Esta opción corresponde a la directiva TimeOut.

Figura 27.15. Ajuste del rendimiento (Performance Tuning).

La opción Peticiones máximas de conexión (Max requests per connection) permite configurar el número máximo de demandas permitido por una conexión persistente. El valor predefinido es 100 que debería ser apropiado para la mayoría de las situaciones. Esta opción corresponde a la directiva MaxRequestsPerChild.

Si usted verifica la opción Permitir peticiones ilimitadas por conexión (Allow unlimited requests per connection), la directiva MaxKeepAliveRequests se activa y se permiten las demandas ilimitadas.

Si usted no marca la opción Permitir las conexiones persistentes (Allow Persistent Connections), la directiva KeepAlive es puesta a “false”. Si usted lo verifica, la directiva KeepAlive es puesta a “true”, y la directiva KeepAliveTimeout se pone al valor número que se seleccionó como tiempo expirado para el próximo valor de Conexión. Esta directiva pone el número de segundos que su servidor esperará por una demanda subsecuente, después de que una demanda se ha atendido, antes que se cierre la conexión. Una vez una demanda se ha recibido, el valor Connection Timeout se aplica en cambio.

Page 24: El Servidor Apache (Cap27)

2�

Sistema Operativo Linux

Poniendo las Conexiones Persistentes a un valor alto pueden causar que el servidor tenga una actividad lenta, dependiendo de cuántos usuarios están intentando conectarse a él. Al ser más alto el número, el servidor procesa más esperando por otra conexión del último cliente que se conectó a él.

27.�. Salvado sus configuraciones Si usted no quiere salvar sus configuraciones del Servidor HHTP Apache, pulse el botón: Cancelar en el fondo en la esquina derecha de la ventana de la Herramienta de Configuración HTTP. Usted debe confirmar esta decisión. Si usted hace clic en el botón Si (Yes) confirmará que sus configuraciones no se salvarán.

Si usted quiere guardar sus configuraciones, haga clic en el botón: Aceptar (OK) en el fondo en la esquina derecha de la ventana de la Herramienta de Configuración HTTP. Una ventana de diálogo aparecerá. Si usted contesta Si, sus configuraciones se salvarán en el archivo /etc/httpd/conf/httpd.conf. Recuerde que su archivo de configuración original se sobrescribirá.

Si es la primera vez que usted ha usado la Herramienta de Configuración HTTP, usted verá una ventana de diálogo que le advierte que el archivo de la configuración se ha modificado a mano. Si la Herramienta de Configuración HTTP descubre que el archivo de configuración httpd.conf se ha modificado a mano, éste se salvará en /etc/httpd/conf/httpd.conf.bak.

Nota: Después de salvar su configuración, usted debe reiniciar el demonio httpd con el comando: service httpd restart. Usted debe ingresar como usuario root para ejecutar esta orden.

Page 25: El Servidor Apache (Cap27)

2�

Capítulo 27: El Servidor Web Apache

27.�.�. Archivo /etc/httpd/conf/httpd.confA continuación se muestra el contenido completo del archivo de configuración del Servidor HTTP Apache: /etc/httpd/conf/httpd.conf

Page 26: El Servidor Apache (Cap27)

2�

Sistema Operativo Linux

Page 27: El Servidor Apache (Cap27)

27

Capítulo 27: El Servidor Web Apache

Page 28: El Servidor Apache (Cap27)

2�

Sistema Operativo Linux

Page 29: El Servidor Apache (Cap27)

2�

Capítulo 27: El Servidor Web Apache

Page 30: El Servidor Apache (Cap27)

�0

Sistema Operativo Linux

Page 31: El Servidor Apache (Cap27)

��

Capítulo 27: El Servidor Web Apache

Page 32: El Servidor Apache (Cap27)

�2

Sistema Operativo Linux

Page 33: El Servidor Apache (Cap27)

��

Capítulo 27: El Servidor Web Apache

Page 34: El Servidor Apache (Cap27)

��

Sistema Operativo Linux

Page 35: El Servidor Apache (Cap27)

��

Capítulo 27: El Servidor Web Apache

Page 36: El Servidor Apache (Cap27)

��

Sistema Operativo Linux

Page 37: El Servidor Apache (Cap27)

�7

Capítulo 27: El Servidor Web Apache

Page 38: El Servidor Apache (Cap27)

��

Sistema Operativo Linux

Page 39: El Servidor Apache (Cap27)

��

Capítulo 27: El Servidor Web Apache

Page 40: El Servidor Apache (Cap27)

�0

Sistema Operativo Linux

Page 41: El Servidor Apache (Cap27)

��

Capítulo 27: El Servidor Web Apache

Page 42: El Servidor Apache (Cap27)

�2

Sistema Operativo Linux

Page 43: El Servidor Apache (Cap27)

��

Capítulo 27: El Servidor Web Apache

Page 44: El Servidor Apache (Cap27)

��

Sistema Operativo Linux

Page 45: El Servidor Apache (Cap27)

��

Capítulo 27: El Servidor Web Apache

27.�0. Recursos adicionales

Para aprender más sobre el Servidor HTTP Apache, revise lo siguiente:

27.�0.�. Documentación instalada

• Documentación del Servidor HTTP Apache: Si usted tiene el paquete httpd-manual instalado y el demonio httpd corriendo, usted puede

ver la documentación del Servidor HTTP Apache. Abra un navegador de Web, y digite en el URL: http://localhost.

• /usr/share/doc/httpd-<version> Este directorio ofrece bastante información, por ejemplo describe como pasar de la versión 1.3

a la versión 2.0; qué ha cambiado en Apache; también menciona qué es el proyecto Apache, algunas notes que tener presente, etc.

Nota:La versión http en Linux Fedora Core 3 es: “2.0.52-3”.

• Ejecute man httpd para ver información sobre el demonio httpd.

27.�0.2. Websites útiles

• http://www.apache.org: The Apache Software Foundation

• http://httpd.apache.org/docs-2.0/: La documentación de La Fundación del Software para el Servidor HTTP Apache versión 2.0,

incluye una Guía del usuario del Servidor HTTP Apache v2.0.

Page 46: El Servidor Apache (Cap27)

��

Sistema Operativo Linux