Está en la página 1de 22

Instalacin y configuracin de Apache - Manual completo

Pgina 1 de 22

Instalacin y configuracin de Apache


Manual por: DesarrolloWeb.com [http://www.desarrolloweb.com/] Versin on-line: "Tu mejor ayuda para aprender a hacer webs" http://www.desarrolloweb.com/manuales/41

Arquitectura del servidor Apache


El servidor Apache es un software que esta estructurado en mdulos. La configuracin de cada mdulo se hace mediante la configuracin de las directivas que estn contenidas dentro del mdulo. Los mdulos del Apache se pueden clasificar en tres categoras:
z z

Mdulos Base: Mdulo con las funciones bsicas del Apache Mdulos Multiproceso: son los responsables de la unin con los puertos de la mquina, acepando las peticiones y enviando a los hijos a atender a las peticiones Mdulos Adicionales: Cualquier otro mdulo que le aada una funcionalidad al servidor.

Las funcionalidades ms elementales se encuentran en el mdulo base, siendo necesario un mdulo multiproceso para manejar las peticiones. Se han diseado varios mdulos multiproceso para cada uno de los sistemas operativos sobre los que se ejecuta el Apache, optimizando el rendimiento y rapidez del cdigo. El resto de funcionalidades del servidor se consiguen por medio de mdulos adicionales que se pueden cargar. Para aadir un conjunto de utilidades al servidor, simplemente hay que aadirle un mdulo, de forma que no es necesario volver a instalar el software. Mdulos Base y Mdulos Multiproceso: core: Funciones bsicas del Apache que estn siempre disponibles. mpm_common: Coleccin de directivas que se implementan en ms de un mdulo multiproceso. beos: Mdulo de multiproceso optimizado para BeOS. leader: Variable experimental de MPM. mpm_netware: Mdulo de multiproceso que implementa un servidor web optimizado para Novell NetWare. mpmt_os2: MPM hbrido, multiproceso y multihilo para OS/2 . perchild: Mdulo multiproceso que permite a los procesos demonio servir las peticiones que se asignan a distintos id de usuario. prefork: Implementa un servidor sin hilos. threadpool: Variante experimental del mdulo estndar de MPM . mpm_winnt: Mdulo multiproceso optimizado para Windows NT. worker: Mdulo multiproceso que implementa un hbrido multihilos y multiprocesos de servidor Web.

Instalacin y configuracin de Apache - Manual completo

Pgina 2 de 22

Mdulos adicionales: mod_access: proporciona control de acceso basndose en el nombre del host del cliente, su direccin IP u otras caractersticas de la peticin del cliente. mod_actions: este mdulo se utiliza para ejecutar Scripts CGI, basndose en el tipo de medio o el mtodo de peticin. mod_alias: proporcionado para mapear diferentes partes del sistema de ficheros del servidor en el rbol de documentos del servidor, y para redireccin de URL's. mod_asis: envo de ficheros que tienen sus propias cabeceras http. mod_auth: autentificacin de usuario utilizando ficheros de texto. mod_auth_anon: permite a usuarios annimos acceder a reas autentificadas. mod_auth_dbm: proporciona autentificacin utilizando ficheros DBM. mod_auth_digest: autentificacin de usuario utilizando MD5. mod_auth_ldap: permite la utilizacin un directorio LDAP para almacenar la base de datos de autentificacin. mod_autoindex: muestra los contenidos de un directorio automticamente, parecido al comando ls de Unix. mod_cache: Cache de contenidos indexados por URI's. mod_cern_meta: Semntica de etiquetas meta del CERN. mod_cgi: Ejecucin de Scritps CGI. mod_cgid: ejecucin de Scripts CGI utilizando un demonio CGI externo. mod_charset_lite: para la especificacin del juego de caracteres de las traducciones. mod_deflate: comprime el contenido antes de ser enviado al cliente. mod_dir: Proporcionado para redirecciones y para servir los ficheros de listado de directorios. mod_disk_cache: Cache para almacenar contenidos identificados por URI. mod_echo: Un servidor simple de echo para ilustrar los mdulos del protocolo. mod_env: modificacin del entorno que se envia a los scripts CGI y las pginas SSI. mod_expires: Generacin de las cabeceras http Expires, de acuerdo de los criterios especificados por el usuario. mod_ext_filter: pasa el cuerpo de la respuesta a travs de un programa antes de envirsela al cliente. mod_file_cache: cachea una lista esttica de ficheros en memoria. mod_headers: personalizacin de las peticiones HTTP y las cabeceras de las respuestas. mod_imap: proceso de imgenes en el lado del servidor.

Instalacin y configuracin de Apache - Manual completo

Pgina 3 de 22

mod_include: Documentos HTML generados por el servidor (Server Side Includes). mod_info: proporciona una visin comprensiva de la configuracin del servidor. mod_isapi: Extensiones ISAPI en Apache para Windows. mod_ldap: pool de conexiones LDAP y cacheo de resultados para la utilizacin de otros mdulos LDAP. mod_log_config: registro de las peticiones hechas al servidor. mod_logio: registro del nmero de bytes recibidos y enviados en cada respuesta. mod_mem_cache: Cache de contenidos identificados por URI. mod_mime: asocia las extensiones de peticiones de los ficheros con el comportamiento del fichero (manejadores y filtros) y contenido (tipos mime, idioma, juego de caracteres y codificacin). mod_mime_magic: determina el tipo MIME de un fichero mirando unos pocos bytes del contenido. mod_negotiation: se proporciona para la negociacin del contenido. mod_proxy: servidor HTTP/1.1 proxy/gateway. mod_proxy_connect: extensin de mod_proxy para la gestin de las peticiones CONNECT. mod_proxy_ftp: soporte FTP para mod_proxy. mod_proxy_http: soporte HTTP para el mdulo mod_proxy. mod_rewrite: proporciona un motor de reescritura basado en reglas que rescribe las peticiones de URL's al vuelo. mod_setenvif: permite la configuracin de las variables de entorno basndose en las caractersticas de la peticin. mod_so: carga del cdigo ejecutable y los mdulos en al iniciar o reiniciar el servidor. mod_speling: intenta corregir las URL mal puestas por los usuarios, ignorando las maysculas y permitiendo hasta una falta. mod_ssl: criptografa avanzada utilizando los protocolos Secure Sockets Layer y Transport Layer Security. mod_status: proporciona informacin en la actividad y rendimiento del servidor. mod_suexec: permite a los scripts CGI ejecutarse con un nombre y grupo especfico. mod_unique_id: proporciona variables de entorno y un identificador nico para cada peticin. mod_userdir: directorios especficos para usuarios. mod_usertrack: registro de actividad de un usuario en el sitio. mod_vhost_alias: Proporcionado para configurar muchos servidores virtuales dinmicamente.

Instalacin y configuracin de Apache - Manual completo

Pgina 4 de 22

Instalacin de Apache en Windows


El proceso para instalar Apache en Windows es muy sencillo. En adelante, es posible que la configuracin del servidor pueda complicarse un poco, sin embargo, si deseamos utilizarlo con las funciones habituales, no hemos de tener mayores problemas en ningn momento. Descarga de Apache El servidor web Apache se puede descargar en la pgina de la Fundacin Apache, en apache.org En la URL http://httpd.apache.org/ tienen una seccin en particular para el servidor HTTP (Protocolo de transmisin utilizado en la web), en la que tendremos que buscar el enlace para descarga.
[http://apache.org/].

Una vez en la pgina de descarga debemos buscar la ltima versin estable o la versin que recomendada. El servidor est disponible para sistemas Unix o Windows, por lo que nos ofrecern diversas opciones de descarga, incluso para obtener el cdigo fuente del programa. Si deseamos instalarlo en un sistema Windows, necesitamos obtener el archivo Win-32 Binary, que es un instalador Windows. Instalacin Una vez descargado, debemos instalarlo en nuestro sistema, ejecutando el archivo obtenido. Daremos paso a un asistente que nos guiar en el proceso de instalacin del servidor. Durante el proceso nos preguntar el nombre del dominio y del servidor, que podemos rellenar con "localhost". Nos pedir tambin una direccin de correo, que podemos rellenar con cualquiera que deseemos. Tambin nos pregunta si deseamos que el servidor responda en el puerto 80 para todos los usuarios o si deseamos que slo se active para el usuario actual en el puerto 8080, cuando se inicie manualmente. Lo normal es que lo activemos para todos los usuarios. Con estos datos queda configurado el Apache inicialmente. En cualquier momento podemos editarlos a nuestro gusto o necesidades. Para ello deberemos editar el fichero httpd.conf, que se encuentra en el directorio de instalacin de Apache, que hemos indicado durante el proceso de instalacin, ms concretamente, en el subdirectorio conf. En adelante en este manual podremos aprender las configuraciones ms habituales.
Nota: Debemos ir con cuidado de no tener otro servidor configurado para trabajar en el puerto 80 (por ejemplo el servidor IIS que viene en las versiones profesionales o servidor de Windows). En caso de tener en marcha otro servidor web durante la instalacin, puede fallar y mostrarnos un mensaje de error que indique esto precisamente, es decir, que no podemos tener dos servidores a la vez escuchando en el puerto 80. Para solucionar el problema basta con que paremos el IIS o el otro servidor que est funcionando. El IIS lo podemos parar accediendo a Panel de control - Herramientas administrativas - Servicios de Internet Information Server. La pantalla que sale es la consola de administracin del sistema. Aqu debemos desplegar el rbol de la izquierda, pulsando sobre el signo "+", hasta que encontremos el "Sitio web predeterminado". Nos ponemos encima de l y apretamos el botn de STOP que est situado en la barra de herramientas de la consola de administracin. Tambin podemos encontrar una opcin para detener el servicio pulsando con el botn derecho en el "Sitio web predeterminado".

Una vez instalado, el Apache se pone en funcionamiento. Para controlar el Apache podemos encontrar en el botn de inicio, seccin programas, un nuevo grupo llamado "Apache HTTP Server", con iconos para detener el servidor, ponerlo en marcha, editar el archivo de configuracin httpd.conf o para ver los logs de acceso. Tambin podemos ver en la barra de tareas un nuevo icono que indica que el Apache est funcionando y que ofrece opciones para controlarlo si pulsamos sobre l. Ver si est funcionando Para comprobar que el servidor est activo y funciona correctamente podemos abrir un

Instalacin y configuracin de Apache - Manual completo

Pgina 5 de 22

explorador y probar a acceder a la URL http://localhost, que es nuestro propio servidor. Si todo ha ido bien observaremos el mensaje de bienvenida del servidor con algo como "Funciono! El servidor Apache ha sido instalado en este equipo!". Para seguir aprendiendo a configurar Apache es interesante leerse nuestro Manual de instalacin y que explica dnde debemos cambiar las opciones ms comunes del servidor.
configuracin de Apache [http://www.desarrolloweb.com/manuales/41/],

Estructura de la instalacin de Apache


Una vez instalado el Apache, en el directorio raz de la instalacin, se encontrarn los siguientes directorios: bin: ficheros ejecutables del Apache. conf: ficheros de configuracin del servidor. error: ficheros con los mensajes de error del servidor, en varios lenguajes. htdocs: directorio raz por defecto del servidor (Se guardan las pginas Web). icons: directorio donde se encuentran los iconos que utiliza el servidor (entre otras cosas para mostrar estructuras de directorios). logs: directorio donde se almacenan los registros de acceso y errores del servidor. manual: directorio donde se encuentra el manual del Apache. proxy: Directorio con los ficheros de la cache del servidor. Bsicamente las configuraciones del servidor residen dentro de dos ficheros, el de configuracin principal que se encuentra dentro de la carpeta conf, con el nombre httpd.conf, o dentro de un fichero con el nombre .htaccess que se puede encontrar dentro de cualquier directorio que se encuentre mapeado dentro del servidor. Dentro de cada uno de estos ficheros se ubican las directivas de configuracin. Muchas de estas directivas de configuracin se pueden encontrar tanto dentro del fichero de configuracin principal como dentro de un fichero .htaccess. Los valores de las directivas que se encuentran dentro de un fichero .htaccess, prevalecen frente a los valores de configuracin especificados dentro del fichero httpd.conf.

El fichero httpd.conf
El fichero httpd.conf es el fichero principal de configuracin del Apache, se encuentra dentro del directorio Conf, en el directorio de instalacin del Apache. En primer lugar hay que destacar que el fichero est dividido en tres secciones, que son: 1 Parmetros globales 2 Directivas de Funcionamiento 3 Host Virtuales En el fichero se encuentran todos los parmetros de funcionamiento del Apache. Algunos parmetros son generales para la instalacin y funcionamiento del Apache. Muchos otros de los parmetros se pueden configurar independientes para un conjunto de directorios y/o ficheros . En estos casos los parmetros se encuentran ubicados dentro de secciones donde se indica el mbito de aplicacin del parmetro. Las secciones ms importantes son:

Instalacin y configuracin de Apache - Manual completo

Pgina 6 de 22

<Directory> : Los parmetros que se encuentran dentro de esta seccin, slo se aplicarn a el directorio especificado y a sus subdirectorios. <DirectoryMatch>: Igual que Directory, pero acepta en el nombre del directorio expresiones regulares. <Files>: Los parmetros de configuracin proporcionan control de acceso de los ficheros por su nombre. <FilesMatch>: Igual que Files, pero acepta expresiones regulares en el nombre del fichero. <Location>: Proporciona un control de acceso de los ficheros por medio de la URL <LocationMatch>: Igual que Location, pero acepta expresiones regulares en el nombre del fichero. Algunas veces las directivas de funcionamiento de las secciones anteriores se pueden cruzar en cuyo caso tienen el siguiente orden de preferencia: 1. 2. 3. 4. <Directory> y .htaccess (.htaccess prevalece frente a <Directory>) <DirectoryMatch> y <Directory> <Files> y <FilesMatch> <Location> y <LocationMatch>

Tambin hay que destacar, que el fichero contiene un montn de comentarios para su correcta utilizacin, las lneas comentadas aparecen con el smbolo #.

Httpd.conf: Parmetros globales


Todos los parmetros que se establecen dentro de esta seccin son globales para el funcionamiento del servidor, por lo que no admiten estar dentro de ninguna directiva. ServerRoot: especifica la ubicacin del directorio raz donde se encuentra instalado el Apache, a partir del cual se crea el rbol de directorios comentado anteriormente. Esta directiva no debera cambiar a no ser que se mueva la carpeta de instalacin de apache a otro directorio. Se encuentra disponible a travs del mdulo Core. PidFile: ubicacin del fichero que contendr el nmero de identificacin del proceso cuando se encienda el servidor. Se encuentra disponible a travs de varios mdulos beos, leader, mpm_winnt, mpmt_os2, perchild, prefork, threadpool worker TimeOut: el valor se utiliza para configurar medido en segundos, tres parmetros: 1. El tiempo tal que puede tardar una peticin en ser recibida entera 2. La cantidad de tiempo que espera entre recepcin de paquetes TCP 3. La cantidad de tiempo entre ACK's en transmisiones TCP Pasado este tiempo se produce un mensaje de error en el que se indica que se ha consumido el tiempo mximo de espera. Establecer un valor muy pequeo puede dar lugar a que los usuarios reciban este mensaje de error, y establecer un valor muy pequeo dar lugar a una sobrecarga de la mquina. Se encuentra disponible a travs del mdulo Core. KeepAlive: especifica si se utilizarn conexiones persistentes, es decir, que todas las peticiones de un usuario se atendern con la misma conexin. Se encuentra disponible a travs del mdulo Core. MaxKeepAliveRequests: nmero mximo de conexiones persistentes. (nmero mximo de

Instalacin y configuracin de Apache - Manual completo

Pgina 7 de 22

usuarios concurrentes si KeepAlive esta en ON). Para establecer este parmetro, hay que tener en cuenta el ancho de banda de salida de nuestro servidor, por el cual deber ser enviada toda la informacin, si se establece un valor muy grande respecto al ancho de banda, el tiempo de respuesta se ver incrementado para cada usuario. Se encuentra disponible a travs del mdulo Core. KeepAliveTimeout: tiempo que espera en segundos entre peticiones de un usuario, antes de considerar que este ha terminado, y cerrar su conexin. Si el valor es muy pequeo provocar que algunos usuarios no puedan visualizar la pgina debido a que el nmero mximo de conexiones persistentes se ha superado, mientras que si se establece un valor muy grande se estarn utilizando muchos recursos de la mquina. Se encuentra disponible a travs del mdulo Core. Listen: esta directiva permite especificar que puerto se utilizar para antender las peticiones. Por defecto se utiliza el puerto 80 (www), tambin permite especificar que direcciones IP atender, por defecto todas. Para atender dos direcciones IP distintas, con distintos puerto, se utilizara: Listen 192.168.255.5:80 Listen 192.168.255.8:8080 Se encuentra disponible a travs de varios mdulos beos, leader, mpm_winnt, mpmt_os2, perchild, prefork, threadpool worker LoadModule: Directiva que sirve para cargar mdulos que incluyen distintas funcionalidades. La sintaxis es: LoadModule nombreModulo ubicacionFichero Se encuentra disponible a travs del mdulo mod_so.

Httpd.conf: directivas de funcionamiento (1)


Esta es la seccin principal de configuracin del servidor, en ella podemos encontrar las siguientes opciones: ServerAdmin: especifica la direccin de correo electrnico del administrador, esta direccin aparece en los mensajes de error, para permitir al usuario notificar un error al administrador. No puede estar dentro de ninguna seccin. Se encuentra disponible a travs del mdulo Core. ServerName: especifica el nombre y el puerto que el servidor utiliza para identificarse, normalmente se determina automticamente, pero es recomendable especificarlo explcitamente para que no haya problemas al iniciar el servidor. Si el servidor no tiene un nombre registrado en las DNS, se recomienda poner su nmero IP. No puede estar dentro de ninguna seccin. La sintaxis es: ServerName direccionIP:Puerto p.e. ServerName localhost:80 Se encuentra disponible a travs del mdulo Core. DocumentRoot: la carpeta raz que se ubica en el servidor, desde la que se servirn los documentos. Por defecto, todas las peticiones, tendrn como raz esta carpeta, a no ser que se utilicen alias (directorios virutales en IIS) Por defecto, la carpeta raz es la carpeta Htdocs, que se encuentra en la carpeta de instalacin

Instalacin y configuracin de Apache - Manual completo

Pgina 8 de 22

del Apache. No puede estar dentro de ninguna seccin. Si se cambia este directorio por otro, es muy importante que se ponga el nuevo valor, no solo en esta lnea, sino tambin en la seccin <Directory> en la que se establecen los parmetros de configuracin de este directorio. Esta lnea empieza por " <Directory " seguido de la carpeta raz que originalmente hay en DocumentRoot. Se encuentra disponible a travs del mdulo Core. DirectoryIndex: especifica el fichero por defecto que buscar en cada directorio, en caso de que no se especifique ninguno. Por defecto es index.html. Es decir, que si por ejemplo se pone en el navegador: www.desarrolloweb.com el servidor por defecto servir www.desarrolloweb.com/index.html En esta directiva se pueden especificar ms de un fichero, la sintaxis es la siguiente: DirectoryIndex fichero1 fichero2 fichero3 El orden con el que se especifica el nombre de fichero determinar la prioridad a la hora de decidir que fichero es el que se muestra. La directiva se puede encontrar fuera de cualquier seccin, dentro de una seccin o dentro de un fichero .htaccess. Se encuentra disponible a travs del mdulo mod_dir. AccessFileName: es el nombre del fichero de configuracin que se buscar en cada una de los directorios del servidor para conocer la configuracin del mismo. Este fichero permite configurar el comportamiento de cada uno de los directorios individualmente. Para que esta configuracin funcione, la directiva AllowOverride tiene que tener un valor que lo permita. No puede estar dentro de ninguna seccin. El nombre de fichero que se especifica por defecto es el del fichero ".htaccess". Como medida de seguridad, la configuracin del Apache establece que no se muestre la existencia de este fichero a ningn usuario, aunque este establecida la opcin de listado de directorios. Si se decide cambiar al nombre, habr que redefinir la seguridad para que no se muestre el contenido del nuevo fichero. Esto se hace en el fichero httpd.conf en una seccin File como la que se presenta a continuacin en la que se establece que todos los ficheros que comiencen por .ht no se mostrarn. <Files ~ "^\.ht"> Order allow,deny Deny from all </Files> Se encuentra disponible a travs del mdulo Core.

Httpd.conf: directivas de funcionamiento (2)


TypesConfig: especifica el nombre del fichero que contiene la lista de tipos mime que conoce el servidor, y que determinar dependiendo de las extensiones para generar las cabeceras http. No puede estar dentro de ninguna seccin. Se encuentra disponible a travs del mdulo mod_mime.

Instalacin y configuracin de Apache - Manual completo

Pgina 9 de 22

DefaultType: tipo mime que se servir por defecto en caso de no conocer la extensin del fichero que se est sirviendo. Por defecto, se indicar que se sirve texto plano, con el valor text/plain. La directiva se puede encontrar fuera de cualquier seccin, dentro de una seccin o dentro de un fichero .htaccess. Sintaxis: DefaultType tipoMime Se encuentra disponible a travs del mdulo Core. HostnameLookups: se utiliza en los ficheros de registro. Por defecto cuando se produce un acceso, se guarda simplemente su nmero IP, si esta directiva se encuentra en On, el servidor buscar la correspondencia de ese nmero IP con su nombre, y almacenar el nombre. Establecer esta configuracin en ON provocar que por lo menos se tenga que hacer una peticin al servidor de nombres por cada una de las peticiones de usuario, por lo que el rendimiento de la mquina se puede ver decrementado. Esta directiva se puede encontrar dentro de una seccin o fuera de cualquier otra. Se encuentra disponible a travs del mdulo Core. ErrorLog: especifica la ubiacin del fichero que contiene el registro de errores, por defecto en la carpeta logs. Esta directiva slo se puede encontrar fuera de cualquier seccin. Se encuentra disponible a travs del mdulo Core. LogLevel: especifica el tipo de mensajes que se guardaran en el fichero de registro de errores, dependiendo de los valores especificados, se guardarn mas o menos. Esta directiva slo se puede encontrar fuera de cualquier seccin. Valor de ms a menos son: debug, info, notice, warn, error, crit, alert, emerg Se encuentra disponible a travs del mdulo Core. LogFormat: la directiva permite definir el formato que se utilizar para almacenar los registros. A cada formato se le puede asignar un nombre, utilizndolo luego para crear distintos tipos de ficheros de registro. Pueden existir varios logFormat distintos. Sintaxis:
LogFormat "configuracinError" nombre

Esta directiva se encuentra fuera de cualquier seccin. Se encuentra disponible a travs del mdulo mod_log_config. CustomLog: la directiva se utiliza para especificar la ubicacin y el tipo de formato que se utilizar en un fichero de registro. Pueden existir varios ficheros de registro distintos con configuraciones distintas. Para hacer esto, simplemente hay que poner varias lneas customlog Sintaxis: CustomLog fichero formato Esta directiva se encuentra fuera de cualquier seccin. Se encuentra disponible a travs del mdulo mod_log_config. ServerTokens: Esta directiva establece la informacin que se devuelve dentro de la cabecera http que enva el servidor. Posibles valores de menor a mayor informacin son: -Pord -Min -Os

Instalacin y configuracin de Apache - Manual completo

Pgina 10 de 22

-Full Esta directiva se encuentra fuera de cualquier seccin. Se encuentra disponible a travs del mdulo Core. IndexOptions: Esta directiva controla la apariencia de la pgina que se mostrar a un usuario cuando se pide la lista de ficheros de un directorio. Sintaxis:
IndexOptions [+|-]opcion [[+|-]opcion] ... (Apache 1.3.3 en adelante)

Entre las opciones que se pueden poner, destaca: FancyIndexing: que muestra los nombres de los ficheros, con iconos etc.. Se encuentra disponible a travs del mdulo mod_autoindex. FoldersFirst: Hace que primero se muestren los directorios. Esta opcin slo se puede establecer en el caso de que FancyIndexing este activa. Esta directiva se puede encontrar dentro del fichero .htaccess, dentro de una seccin <Directory> y fuera de cualquier otra. Se encuentra disponible a travs del mdulo mod_autoindex.

Httpd.conf: directivas de funcionamiento (3)


AddIconByEncoding: Esta directiva permite asociar un icono a un tipo mime, de forma que cuando la directiva fancyIndexing este activada, se mostrar al lado del fichero el icono correspondiente. Sintaxis: AddIconByEncoding icon MIME-encoding Ejemplo: AddIconByEncoding/icons/compressed.gif x-compress Esta directiva se puede encontrar dentro del fichero .htaccess, dentro de una seccin <Directory> y fuera de cualquier otra. Se encuentra disponible a travs del mdulo mod_autoindex. AddIconByType: Esta directiva asocia un icono a un fichero dependiendo del un tipo mime, de forma que cuando la directiva fancyIndexing este activada, se mostrar al lado del fichero el icono correspondiente. Sintaxis: AddIconByType icon MIME-encoding Ejemplo: AddIconByType /icons/text.gif text/*

Instalacin y configuracin de Apache - Manual completo

Pgina 11 de 22

La diferencia entre AddIconByType y AddIconByEncoding reside en que mientras que en la primera se determina el tipo mime mediante basndose en la codificacin del fichero, mientras que AddIconByType determina el tipo mime basndose en el nombre del fichero. Ambas directivas se pueden encontrar dentro de el fichero .htaccess, dentro de una seccin <Directory> o fuera de cualquier otra. Se encuentra disponible a travs del mdulo mod_autoindex. AddDescription: Esta directiva permite asociar una descripcin a un tipo de fichero, que se mostrar al listar un directorio. Esta directiva se puede encontrar dentro de el fichero .htaccess, dentro de una seccin <Directory> o fuera de cualquier otra. Sintaxis: AddDescripcion cadena , fichero Se encuentra disponible a travs del mdulo mod_autoindex. AddDefaultCharset: Esta directiva define la codificacin de caracteres que se utilizar de forma predeterminada para los documentos. Por defecto viene establecido el valor ISO-8859-1. Esta directiva se puede encontrar dentro de cualquier seccin y en los ficheros .htaccess. Se encuentra disponible a travs del mdulo Core. ErrorDocument: Esta directiva establece el la configuracin del servidor para cuando se produce un error. Se pueden establecer cuatro configuraciones distintas: 1. 2. 3. 4. Sacar un texto de error Redirigir a un fichero en el mismo directorio Redirigir a un fichero en nuestro servidor Redirigir a un fichero fuera de nuestro servidor

Hay que tener en cuenta que si el texto de error se envia a Internet Explorer, este tendr que tener al menos 512 Bytes, porque sino Internet Explorer mostrar su propia pgina de error. Sintaxis: ErrorDocument NmeroError Accin Esta directiva se puede encontrar tanto dentro del fichero .htaccess, dentro de la seccin <Directory> o fuera de cualquier otra seccin. Ejemplo: ErrorDocument 404 /error404.html. En caso de no encontrarse un fichero, se mostrar el fichero error404.html Se encuentra disponible a travs del mdulo Core. CacheRoot: establece el directorio donde se encontrarn los ficheros de la cache del Apache. Se encuentra disponible a travs del mdulo mod_disk_cache CacheSize: Tamao de la cache en Kilobytes. Se encuentra disponible a travs del mdulo mod_disk_cache

Instalacin y configuracin de Apache - Manual completo

Pgina 12 de 22

CacheGcInterval: Establece cada cuantas horas se verificar el tamao de los ficheros de la cache para comprobar si se corresponden con el tamao establecido dentro de CacheSize. El valor acepta nmeros flotantes, por lo que se pueden establecer los intervalos en minutos. Cuanto mayor sea el valor de esta directiva, ms posibilidades existirn de que se sobrepase el valor establecido en CacheSize. Se encuentra disponible a travs del mdulo mod_disk_cache CacheMaxExpire: mximo nmero de horas que los ficheros permanecern dentro de la cache. Se encuentra disponible a travs del mdulo mod_cache CacheLastModifiedFactor: Sirve para calcular la caducidad de un fichero en la cache, que ser el de la hora de la ltima modificacin, multiplicado por este valor. Se encuentra disponible a travs del mdulo mod_cache CacheDefaultExpire: Nmero de horas por defecto a partir de las cuales un fichero caduca. Se aplica en aquellos casos en los que no se puede determinar la hora de creacin del fichero. Todas las directivas de la cach, deben encontrarse fuera de cualquier seccin. Esta directiva no se puede encontrar dentro de ninguna seccin. Se encuentra disponible a travs del mdulo mod_cache

Creacin de directorios virtuales en Apache


Esta directiva slo se encuentra dentro del fichero de configuracin httpd.conf, y se trata aparte en este captulo debido a su importancia. Alias Permite la definicin de directorios virtuales, un directorio virtual es un directorio que se encuentra en un directorio distinto del que se mapea en la URL. El directorio virtual no se tiene porqu encontrar dentro de rbol de directorios que se crea a partir de DocumentRoot, sino que se puede encontrar en cualquier otra ubicacin, incluso se podra encontrar en otro servidor distinto. Por ejemplo, cuando se escribe www.desarrolloweb.com/manual/php la carpeta php no se tiene que encontrar necesariamente dentro de la carpeta manual, que a su vez esta dentro de la carpeta raz Desarrolloweb, sino que puede estar en una ubicacin distinta, y fuera del rbol de subdirectorios de la directiva DocumentRoot Sintaxis: Alias nombreFicticio ubicacionReal Ejemplo: Alias /manual/php "c:\php" - el directorio php no se encuentra dentro del directorio manual dentro de la carpeta documentRoot, sino en la carpeta c:\php. Por defecto vienen creados dos redirecciones con Alias. - Icons: para establecer la carpeta donde se encuentran los iconos que utilizar el Apache para mostrar el contenido de los directorios, y - Manual: que apunta a la carpeta donde est instalado el manual del Apache en caso de que se

Instalacin y configuracin de Apache - Manual completo

Pgina 13 de 22

hubiera elegido la opcin durante la instalacin. AliasMatch La utilidad de esta directiva es idntica a la de la directiva Alias, la nica diferencia es que mientras Alias utiliza expresiones estndar regulares para especificar la URL que se va mapear. Sintaxis: AliasMatch Expresin regular ubicacin

Seguridad en Apache I
Cuando un servidor apache recibe una peticin de una pgina web, antes de devolver el resultado, lleva a cabo varias acciones para verificar que la peticin esta autorizada. Las distintas acciones que lleva a cabo para verificar la validez de la aplicacin, se pueden agrupar en tres tipos: Autentificacin, Autorizacin y Control de Acceso. La autentificacin es el proceso por el cual se verifica la identidad de una persona. De una forma simple, este proceso se puede llevar a cabo mediante un nombre de usuario y una contrasea, pero se pueden llegar a utilizar otros mtodos para validar la identidad de una persona, como mediante el uso de certificados, tarjetas etc En apache la autentificacin puede estar gestionada por distintos mdulos, dependiendo de la forma de implementacin. Si decide llevarla a cabo gestionando ficheros con listas de usuarios y contraseas (encriptadas), deber utilizar el mdulo mod_auth. Sin embargo, si decide llevarla a cabo mediante base de datos, deber utilizar los mdulos mod_auth_dbm. La autorizacin es el proceso por el cual se verifica que un usuario con una identidad conocida, tiene acceso al recurso solicitado. Para llevar a cabo esta accin, se suelen utilizar listas de permisos en las cuales se enumeran cada una de las acciones que puede realizar un usuario, o las que no puede hacer. Normalmente, para simplificar la gestin de estos ficheros, los usuarios se suelen unir en grupos proporcionando los permisos al grupo. En apache la autorizacin a recursos es gestionada o bien mediante la directiva <directory> en el fichero principal de configuracin, o bien mediante la configuracin de la carpeta a travs de ficheros .htaccess. El control de acceso es el proceso por el cual se verifica que la mquina desde la que se ha hecho la peticin, tiene acceso al recurso. Los controles de acceso se utilizan para limitar y controlar las mquinas que tienen acceso a un recurso independientemente del usuario que accede, ya que estos controles se llevan a cabo antes de que se realice el proceso de autentificacin. En apache, el control de acceso se puede llevar a cabo mediante las directivas <directory><files>y <location>, o a travs del fichero de configuracin .htaccess para controlar una carpeta especifica. En todo caso y para poder llevar a cabo la configuracin de las tres caractersticas aqu enumeradas, autentificacin, autorizacin y control de acceso, es necesario tener la directiva AllowOverride con el valor AuthConfig, para as permitir el uso de las distintas directivas de autentificacin. Autentificacin y autorizacin de usuarios en Apache. Mod_auth Para configurar el servidor apache para que sea capaz de autentificar a los usuarios y verificar la autorizacin del mismo al recurso solicitado, es necesario realizar las siguientes acciones:

Instalacin y configuracin de Apache - Manual completo

Pgina 14 de 22

1. Crear un fichero con usuarios 2. Crear un fichero con grupos (si es necesario) 3. Definir las directivas en el fichero de configuracin o mediante un fichero .htaccess

En los ficheros de usuarios de apache, en cada lnea se especifica un usuario, escribiendo el nombre de usuario separado de dos puntos, seguido de la contrasea encriptada con MD5. En los ficheros de grupos de apache, en cada lnea se especifica un grupo escribiendo el nombre del grupo seguido de dos puntos, y a continuacin separado por espacios, los nombres de los usuarios. Es recomendable que tanto los ficheros de usuarios como los de grupos, se encuentren almacenados fuera de los directorios publicados, para que de esta forma nadie pueda descargarlos. Asimismo, solo el usuario root debera estar autorizado a escribir en l, mientras que solo el usuario que ejecuta el servicio web, debera estar autorizado para leerlo. El fichero de grupos se puede crear manualmente, pero el fichero con los usuarios es recomendable crearlo mediante la utilidad htpasswd, que se encuentra en la carpeta con los binarios de apache. Para crear un fichero de usuario se utilizar la siguiente sintaxis: htpasswd -c ruta/passwords usuario El flag -c se utiliza para crear un fichero nuevo, por lo que slo se deber poner la primera vez que se crea el fichero, sino lo borrar. Los mdulos que intervienen en la autentificacin y autorizacin son los de core y mod_auth. Las directivas de mod_auth necesarias para configurar la autenticacin y autorizacin son las siguientes:
z z

AuthUserFile: siver para especificar la ruta donde se almacenar el fichero de usuarios. AuthGroupFile: sirve para especificar la ruta donde se almacenar el fichero de grupos.

Las directivas de core necesarias para complementar la configuracin del mdulo son:
z

AuthType: selecciona el tipo de autentificacin de usuarios que se utilizar para autentificar a un usuario. Puede variar por directorio. Los valores posibles son Basic y Digest. Con Basic, la transferencia de las claves se har sin cifrar, y con digest se harn cifradas. AuthName: especifica un nombre del dominio para el cual se solicita el acceso, este nombre figurar en la pantalla donde se pide la clave, y a su vez servir para que el cliente identifique la contrasea que debe utilizar al enviar una peticin a un rea determinada. Require: selecciona los usuarios que pueden acceder a un rea determinada, los usuarios se pueden determinar a travs de nombres o grupos.

Proteger carpetas mediante usuarios en Apache


1. Crear un fichero de claves fuera de la parte pblica: -htpasswd -c /ruta/passwords Carlos

Instalacin y configuracin de Apache - Manual completo

Pgina 15 de 22

Al hacerlo, pedir que se introduzca la clave, y esta ser codificada, escribiendo el fichero. 2 Crear un nuevo fichero, en la misma ubicacin que "ruta", que se llamar "groups" en la que se almacenarn los grupos, por ahora uno, para ello escribir la siguiente lnea y guardar el fichero: usuariosAutenticados: Carlos De esta forma, debera tener un fichero que se llame passwords, y que contenga una lnea con los datos del usuario Carlos, y un fichero, con nombre groups, que contiene una lnea definiendo un grupo llamado usuariosAutenticados, del que slo el usuario Carlos forma parte. 3 Crear un fichero con el nombre .htaccess en la carpeta que se quiere proteger, y escribir las siguientes lneas y guardar el fichero: AuthType Basic AuthName "ServidorPruebasCarlos" AuthUserFile /ruta/passwords AuthGroupFile /ruta/groups Require group usuariosAutenticados La explicacin del contenido del fichero es la siguiente:
z z z

Con "AuthType Basic" se estar protegiendo la carpeta con autentificacin bsica, es decir que la clave que el usuario introduzca, se transmitir sin cifrar por la web. Con "AuthName "ServidorPruebasCarlos" se asociar esta carpeta con el dominio "ServidorPruebasCarlos", nombre con el que lo identificar el cliente. Con "AuthUserFile /ruta/passwords" y "AuthGroupFile /ruta/groups" Se definir la ubicacin tanto de los ficheros de usuarios como los ficheros de grupos y se almacenarn en la carpeta /ruta, con nombres passwords y groups respectivamente. Con "Require group usuariosAutenticados" se autorizar el acceso al contenido de esta carpeta a todos los usuarios que forman parte del grupo de "usuariosAutenticados", por lo que en la prctica se autorizar el acceso al contenido al usuario Carlos.

En vez de realizar las autorizaciones a grupos completos, se puede autorizar a un usuario determinado cambiando la ltima lnea por "Require user Carlos", de esta forma slo se autorizar al usuario Carlos. Se puede permitir el acceso a todos los usuarios identificados mediante la introduccin de la siguiente directiva "Require valid-user". El hecho de que esta directiva este incluida en el fichero, hace que las dems no tengan efecto. Autentificacin y autorizacin de usuarios con Mysql y Apache. mod_auth_mysql. En captulos anteriores hemos explicado como controlar la autentificacin y la autorizacin de usuarios con el mod_auth. Este mdulo tiene como caracterstica el que almacena los nombres de usuario, las contraseas y los grupos en ficheros de texto que deben ser escritos y gestionados por el administrador del sistema. Esta solucin es obviamente poco escalable, ya que en cuanto el nmero de usuarios y de grupos es elevado, el gestionarlos y controlarlos puede ser un problema. Por este motivo existe el mod_auth_mysql, este mdulo permite gestionar la autentificacin y autorizacin, almacenando los usuarios y los grupos en tablas de Mysql, de forma que incluso se pueden gestionar mediante un panel de control escrito en php. Para configurar el mdulo en Linux, ser necesario extraerlo y ejecutar:

Instalacin y configuracin de Apache - Manual completo

Pgina 16 de 22

./configure --with-mysql=/usr/local/mysql --with-apache=/usr/local/apache sustituyendo el lugar donde se encuentra la instalacin de mysql y de apache. Para utilizar el mdulo es necesario disponer de al menos una tabla donde se almacenen los usuarios y otra donde se almacenen los grupos. Para ello se puede crear una tabla usuarios con los campos, nombre y password, y otra tabla llamada grupos con los campos grupo, usuario, almacenando una entrada por cada usuario que tenga un grupo. La configuracin es la siguiente: En primer lugar ser necesario establecer el servidor, el usuario y la contrasea de la conexin con la base de datos, esto se har escribiendo la siguiente lnea en el fichero httpd.conf, y reemplazando los valores por los correctos: Auth_MySQL_Info <host> <user> <password> Para configurar el mdulo ser necesario establecer los valores de las siguientes directivas del mdulo: Auth_MySQL_DB: nombre de la base de datos Auth_MySQL_Password_Table: nombre de la base de datos que contiene los nombres de usuario y las contraseas. Auth_MySQL_Username_Field: nombre del campo de la tabla que contiene al usuario. Auth_MySQL_Password_Field: nombre del campo de la tabla que contiene la contrasea del usuario. Auth_MySQL_Group_Table: nombre de la tabla que contiene los usuarios y los grupos a los que pertenecen. Auth_MySQL_Group_Field: nombre del campo de la tabla que contiene el nombre del grupo Auth_MySQL_Empty_Passwords on/off para determinar si se aceptan usuarios con contraseas vacias. Auth_MySQL_Encryption_Types para especificar el tipo de encriptacin que se utilizar para almacenar la clave del usuario dentro de la base de datos. Auth_MySQL_Non_Persistent on/off para especificar si se desean utilizar conexiones persistentes. Adems ser necesario establecer las siguiente directivas de core para su correcto funcionamiento: AuthName: con el nombre del dominio AuthType: establecido a Basic Una vez puesto en marcha, el funcionamiento es anlogo al mdulo mod_auth.

Control de acceso en Apache. Mod_access.


Las directivas que proporciona este mdulo se pueden utilizar dentro de los elementos , y del fichero de configuracin httpd.conf, o bien dentro de ficheros .htaccess ubicados dentro de las carpetas. Las directivas con las que cuenta el mdulo para permitir o denegar el acceso son:
z

Allow: controla los servidores que tendrn acceso al contenido, por ejemplo: Allow from desarrolloweb.com Allow from 192.168.0.1 Permite el acceso desde desarrolloweb.com Permite el acceso desde 192.168.0.1

Instalacin y configuracin de Apache - Manual completo

Pgina 17 de 22

Allow from 192.168 Allow from all


z

Permite el acceso desde todas las direcciones Ip que comienzan por 192.168 Permitir todas

Deny: controla los servidores a los que se denegar el acceso, por ejemplo: Deny from desarrolloweb.com Deny from 192.168.0.1 Deny from 192.168 Deny from all Deniega el acceso desde desarrolloweb.com Deniega el acceso desde 192.168.0.1 Deniega el acceso desde todas las direcciones Ip que comienzan por 192.168 Denegar todas

Order: determina el orden en el que se leern los permisos, por ejemplo para leer primero los permitidos y luego los no permitidos se pondr "Allow,Deny" en este caso si un servidor esta en la lista de permitidos, y en la de denegados, el acceso al mismo ser denegado, ya que la entrada dentro de la opcin Deny sobrescribir la de la entrada Allow.

Hay que tener en cuenta que el uso de order junto con Allow from all Deny from all, permite especificar configuraciones como, permitir desde una mquina x y denegar del resto, de una forma muy sencilla. Adicionalmente, mediante la directiva SetEnvIf del mdulo mod_setenvif, se pueden establecer variables de entorno que determinen el funcionamiento de Allow o Deny de la misma forma que se utilizan nmeros IP nombres de mquinas. Por ejemplo, utilizando Allow from env=entrada permitir el acceso a todas las peticiones que tengan definida la variable de entorno "entrada". Controlar acceso dependiendo del navegador con Apache Mediante el uso conjunto de las directivas Allow, Deny, Order y SetEnvIf se puede restringir el acceso a un sitio dependiendo del tipo de navegador. Para realizarlo simplemente basta con crear una variable de entorno dependiendo del tipo del navegador, y permitir el acceso a las peticiones que cuenten con esta variable de entorno denegndoselo al resto. Para ello la configuracin necesaria es la siguiente: SetEnvId User-Agent googlebot entrar Order Deny, Allow Deny from all Allow from env=entrar En la primera lnea se especifica que se crear una variable de entorno llamada entrar cuando el navegador sea el motor de indexacin de google. En la segunda lnea se especifica el orden en el que se utilizar la lista de servidores, primero los denegados y luego los permitidos. En la cuarta lnea se especifica que se deniega el acceso a cualquier peticin En la quinta lnea se especifica que se permite el acceso a las peticiones que tienen definida la variable de entorno entrar. En el caso de que entre el motor de indexacin de google, primero se leer la lnea en que se deniegan todas las peticiones, para a continuacin leer la lnea en la lnea en la que se permite el acceso desde las peticiones que tienen definida la variable entrar, como el navegador que lo hace es el googlebot, esta variable estar definida y entrar. En el caso en que la peticin sea realizada por cualquier otro navegador, primero se leer la lnea en la que se deniegan las peticiones, y como no satisface la lnea en que lo permite, no entrar

Instalacin y configuracin de Apache - Manual completo

Pgina 18 de 22

Apache Commons Configuration


Yo trabajo en Autentia [http://www.autentia.es/], y en mi trayectoria profesional ligada a la informtica he visto como los programadores invertan grandes cantidades de tiempo en reinventar la rueda por desconocimiento de determinadas APIs. Alguna vez has implementado clases que gestionaran directamente datos de configuracin ? Si la respuesta es afirmativa, seguramente hayas reinventado la rueda. Existen en varias formas estndar de gestionar los datos configuracin de nuestros componentes y aplicaciones:
z z

Mediante la clase java.util.Properties A travs de las clases del paquete java.util.prefs. (API muy potente que permite gestionar datos de configuracin de modo herrquico al estilo del "Registro de Windows" que recomiendo leerse si el lector la desconoce)

En este pequeo tutorial, voy a nombrar un API que a mi personalmente me parece de una enorme utilidad y potencia para la gestin de datos de configuracin. Se trata de Apache Jakarta Commons Configuration. Apache Jakarta Commons Configuration es un subproyecto de la serie de proyectos Apache Jakarta Commons. Commons Configuration es un conjunto de proyectos que intentan estandarizar las tareas comunes que casi todas las aplicaciones y componentes realizan normalmente. Una tarea muy comn en cualquier aplicacin es la gestin de datos de configuracin. Es aqu en donde entra en juego Apache Jakarta Commons Configuration. Podemos obtener todo lo necesario desde la siguiente direccin:
http://jakarta.apache.org/commons/configuration/

Bsicamente Apache Commons Configuration nos permite: 1. Gestin de los datos de configuracin independientemente del lugar en el que esten almacenados. (Ficheros de propiedades, documentos XML, JNDI, Base de datos, etc.). 2. Un potente motor de consultas para realizar bsquedas del valor que tienen determinadas propiedades de configuracin. 3. Recarga automtica de los datos de configuracin en caso de que sean modificados en su lugar fsico de origen (Fichero de texto plano, fichero xml, etc) 4. Posibilidad de almacenar los datos de configuracin automticamente en su lugar fsico (fichero de texto plano, fichero xml, etc).

Algunos ejemplos Antes de nada, deseo resaltar que este tutorial es slo una introduccin al API, y que debe documentarse en la Web oficial del API para ver todas las posibilidades que nos proporciona este API. Ejemplo 1 Supongamos que tenemos el siguiente fichero de propiedades, en el que se definen datos de configuracin relaccionada con el interfaz grfico de la aplicacin: app.windows.properties:

Instalacin y configuracin de Apache - Manual completo

Pgina 19 de 22

mainmdi.title=Ttulo de mi aplicacin de prueba mainmdi.width=800 mainmdi.height=600 mainmdi.state=maximized userform.title=Gestin de usuarios userform.width=320 userform.height=200 userform.state=normal # Tambin sera vlido: language=Castellano,English,French language=Castellano language=English language=French

Pues a travs de Commons Configuration, podramos acceder a las propiedades de la siguiente forma: try { // Leemos los datos de configuracin. El fichero debe estar en el mismo directorio que la aplicacin. PropertiesConfiguration config = new PropertiesConfiguration("app.windows.properties"); // La siguiente sentencia imprimir: 800 System.out.println(config.getInt("main.mdi.width")); // La siguiente sentencia imprimir: Mi aplicacin de pruena System.out.println(config.getString("main.mdi.title")); // La siguiente sentencia imprimir: Castellano System.out.println(config.getStringArray("language")[0]); // La siguiente sentencia configura el objeto para que salve las propiedades // automticamente en su origen (En este caso un fichero) cuando se actualizen // o cuando se agregen nuevas propiedades config.setAutoSave(true); // Aadimos un par de propiedades config.addProperty("version", "1.0"); config.addProperty("author", "Carlos Garca Prez"); // No hace falta gracias a que est establecida la propiedad autoSave // config.save(); } catch (ConfigurationException ex){ System.out.println(ex); } Ejemplo 2 Ahora vamos a ver las posibilidades de este API para tratar con propiedades Jerrquicas en formato xml. app.windows.properties.xml
<?xml version="1.0" encoding="ISO-8859-1"?> <gui> <mainmdi> <title>Mi aplicacin de prueba</title> <dimension> <width>800</width> <height>600</height> </dimension>

Instalacin y configuracin de Apache - Manual completo

Pgina 20 de 22

<state>maximized</state> </mainmdi> <userform> <title>Gestin de Usuarios</title> <dimension> <width>800</width> <height>600</height> </dimension> <state>normal</state> </userform> <printer.form> <dimension> <width>320</width> <height>200</height> </dimension> </printer.form> <languages default="Castellano"> <language>Castellano</language> <language>English</language> <language>French</language> </languages> </gui>

Ahora podemos acceder a los datos de la siguiente forma. El ejemplo es autodescriptivo y est comentado.
try { // Leemos los datos de configuracin. El fichero debe estar en el mismo directorio que la aplicacin. XMLConfiguration config = new XMLConfiguration("app.windows.properties.xml"); // La siguiente sentencia imprimir: 800 System.out.println(config.getInt("mainmdi.dimension.width")); // La siguiente sentencia imprimir: Mi aplicacin de prueba System.out.println(config.getString("mainmdi.title")); // La siguiente sentencia imprimir: Castellano System.out.println(config.getString("languages[@default]")); // La siguiente sentencia imprimir: 3 System.out.println(((java.util.List) config.getProperty("languages.language")).size()); // La siguiente sentencia imprimir: French System.out.println(config.getString("languages.language(2)")); // La siguiente sentencia imprimir: 320 // Observe que debido a que el elemento contiene un punto en su nombre // debemos acceder a el escapando el punto mediante .. System.out.println(config.getInt("printer..form.dimension.width")); // La siguiente sentencia configura el objeto para que salve las propiedades // automticamente en su origen (En este caso un fichero) cuando se actualizen // o cuando se agregen nuevas propiedades config.setAutoSave(true); // Cambiamos el juego de caracteres, pues usaremos propiedades // que precisan de tildes. config.setEncoding("ISO-8859-1"); // Aadimos un par de propiedades // Aadimos la propiedad 1.0 que desciende de la raiz config.addProperty("version", "1.0"); // Aadimos la propiedad Carlos Garca Prez que desciende de la raiz config.addProperty("author", "Carlos Garca Prez"); // No hace falta gracias a que est establecida la propiedad autoSave establecida // config.save(); } catch (ConfigurationException ex){ System.out.println(ex);

Instalacin y configuracin de Apache - Manual completo

Pgina 21 de 22

Otras Caractersticas interesantes Este API tambin nos da la posibilidad de que se recargen automticamente los datos de configuracin sobre el objeto Configuration en caso de que estos hayan sido modificados. Para habilitar esta caracterstica deber indicarlo mediante la siguiente lnea de cdigo:
config.setReloadingStrategy(new FileChangedReloadingStrategy());

Conclusiones A mi juici este API es ms completo, potente y flexible que el resto de APIS o mtodos para gestionar datos de configuracin. Aunque java.util.prefs proporciona una funcionalidad y potencia similar a Commons Configurations, los datos de configuracin en java.util.prefs slo pueden ser modificados desde aplicaciones y no manualmente, pues entre otras cosas no se sabe donde guarda realmente este API los datos de configuracin. Cuando utilizamos objetos Properties para gestionar las propiedades, debemos realizar conversiones de tipos de datos, con este API nos ahorramos ese trabajo. Por comentar algo negativo, este API depende de otros subprojectos de Jakarta, por lo que debemos incluir sus JARs asociados si queremos usarlo. Por ejemplo, para usar las funciones bsicas, el API depende de:
z z z

Apache Jakarta Commons Lang Apache Jakarta Commons Collections Apache Jakarta Commons Loggin

Puede encontrar ms informacin acerca de las dependencias en la siguiente direccin


http://jakarta.apache.org/commons/configuration/dependencies.html

Autores del manual:


Hay que agradecer a diversas personas la dedicacin prestada para la creacin de este manual. Sus nombres junto con el nmero de artculos redactados por cada uno son los siguientes:
z

Carlos Luis Cuenca


http://www.helloworldsolutions.com/
(11 captulos)

Miguel Angel Alvarez


Director de DesarrolloWeb.com (1 captulo)

Carlos Garca Prez


http://www.autentia.es/
(1 captulo)

Todos los derechos de reproduccin y difusin [http://www.desarrolloweb.com/copyright/] reservados a Guiarte

Instalacin y configuracin de Apache - Manual completo

Pgina 22 de 22

Multimedia S.L. [http://www.guiartemultimedia.com/] Volver [http://www.desarrolloweb.com/manuales/41]

También podría gustarte