Você está na página 1de 30

1. Qu es apache, y qu alternativas hay en el mercado?

Captulo siguiente: 2 - Opciones para definir la configuracin de apache Apache es un servidor web gratuito, potente y que nos ofrece un servicio estable y senzillo de mantener y configurar. s indiscutiblemente uno de los mayores logros del !oftware "ibre. #estacaremos las siguientes caracter$sticas% - s multiplataforma, aunque idealmente est& preparado para funcionar ba'o linu(. - )uy senzillo de configurar. - s Open-source. - )uy *til para proveedores de !ervicios de +nternet que requieran miles de sitios peque,os con p&ginas est&ticas. - -mplias librer$as de ./. y .erl a disposicin de los programadores. - .osee diversos mdulos que permiten incorporarle nuevas funcionalidades, estos son muy simples de cargar. - s capaz de utilizar lengua'es como ./., 01", .ython, etc. n el mercado podemos encontrar otras alternativas, entre las m&s importantes comentaremos las siguientes% A !"erver% - s Open-source. - )e'ora varias deficiencias de Apache. - !e basa en un desarrollo por threads, con lo cual se reduce la carga sobre la memoria de procesos. - 2so m&s eficiente de las cone(iones a bases de datos 3es una de sus principales caracter$sticas4. - s utilizado por AO", el proveedor de servicios de internet 3+!.4 m&s grande del mundo. - )ultiplataforma. ##" $#nternet #n%ormation "erver&: - #esarrollado por )icrosoft. - !lo funciona ba'o 5indows. - )uy f&cil de instalar. - .roporciona A!.6s, que facilitan el desarrollo de aplicaciones. - s un software propietario, con lo cual su uso tiene un coste. - 0iene numerosos fallos de seguridad. ' "ervlet (ngines' y ')ava Application "erver': - !u representant m&s conocido es 0omcat, desarrollado por !un )icrosystem6s. - 7equiere de un 8#9 3:8ava #evelopment ;it:4 para funcionar. - <ormalmente se usa un :!ervidor de p&ginas: 3Apache, AO", etc.4 en con'uncin con un :!ervlet ngine:, dado que el primero es mucho m&s eficiente a la hora de devolver una p&gina /0)" est&tica.

*.

pciones para de%inir la con%iguraci+n de apache

Captulo anterior: = - >?u@ es apache, y qu@ alternativas hay en el mercadoA Captulo siguiente: B - +nvocacin del servicio de apache .ara definir la configuracin de apache tenemos dos opciones% - Cichero httpd.conf - Cichero .htaccess .rimero de todo comentaremos qu@ efectos tiene cada uno de los ficheros sobre la configuracin del dominio. n el caso del fichero httpd.conf estamos definiendo una configuracin global para todos los dominios que se alo'en en el servidor donde se encuentra dicho fichero. n el caso del fichero .htaccess slo se modificar& la configuracin del dominio en el cual est@ alo'ado @ste. 1uando apache debe devolver una p&gina web, en primera instancia lee el archivo httpd.conf, y en segunda instancia el archivo .htaccess, con lo cual siempre tendr& prioridad el segundo. .asamos a comentar unos cuantos detalles de cada uno de los ficheros de configuracin% ,ichero httpd.con%: n este fichero est& incluida toda la configuracin de apache, siempre y cuando no tengamos la configuracin en varios ficheros, de forma distribuida, 3la distribucin de linu( !use, instala apache por defecto en varios ficheros4, para principiantes recomiendo un solo fichero, si se es un usuario m&s avanzado recomiendo el uso de ficheros separados. <O0A% n el caso que el archivo de configuracin est@ distribuido en varios archivos, dentro del fichero httpd.conf tendremos indicada la ruta a cada uno de los ficheros y los par&metros que podremos modificar en ellos. .or defecto apache carga la configuracin que est@ definida en todos los ficheros que tengan e(tensin :.conf:. ,ichero .htaccess: ste fichero se ubica en el directorio raiz donde esten los archivos de la p&gina web. )ediante @ste podremos definir par&metros espec$ficos para el dominio que lo alo'a. s muy usado en los hostings, dado que evidentemente no pueden de'ar que los usuarios cambien la configuracin del archivo httpd.conf seg*n las necesidades de su dominio. Cinalmente comentaremos un par de propiedades que nos podr$a interesar cambiar mediante el fichero .htaccess. 2n e'emplo ser$a la codificacin de la p&gina web. .ensemos por e'emplo que el hosting que hemos contratado tiene configurado que nuestras p&ginas est&n codificadas mediante 20C-D, con lo cual los navegadores interpretar&n el contenido seg*n @sta codificacin. !i en cambio nosotros queremos utilizar la codificacin +!O-DDEF-= debemos :sobreescribir: esta propiedad, por lo tanto incorporaremos la siguiente

sentencia en el archivo .htaccess% AddDefaultCharset ISO-8859-1 Otra caracter$stica muy utilizada en los ficheros .htaccess es la que nos permite cambiar propiedades de ./., con lo cual no tendremos que tener acceso al fichero php.ini para poder configurar ciertas caracter$sticas. .ara cambiar una propiedad de ./. utilizaremos la siguiente sinta(is% php_flag "nombre propiedad" "valor" .or e'emplo, para indicar a apache que deseamos cargar las sesiones a trav@s de una coo;ie en vez de pasarlos por la url debemos usar el siguiente comando% php_fla session!use_onl"_#oo$ies on 1omo vemos, el fichero .htaccess es una herramienta muy potente que se pone a disposicin del administrador de la p&gina web para poder personalizar el servidor apache que nos ofrece el hosting que contratemos. n las siguientes secciones nos centraremos en las propiedades que podemos modificar dentro del fichero httpd.conf, a*n as$ gran parte de ellas est&n disponibles tambi@n para el fichero .htaccess. !i queremos comprobar la compatibilidad de estas para el fichero .htaccess solo debemos dirigirnos a la p&gina http%GGhttpd.apache.orgGdocsG2.HGmodGdirectives.html y buscar las especificaciones para cada una de las directivas que necesitemos usar. n las caracter$sticas de la directiva se indica si se puede usar en el fichero .htaccess o no.

-. #nvocaci+n del servicio de apache


Captulo anterior: 2 - Opciones para definir la configuracin de apache Captulo siguiente: I - #efinicin de las variables m&s importantes 1ada uno de los cambios que hagamos en el fichero httpd.conf debe venir acompa,ado del reinicio del servicio de apache, dado que de lo contrario no tendr&n efecto. <o es as$ para los cambios que se efectuen en el fichero .htaccess, estos ser&n tenidos en cuenta cuando se haga una nueva peticin de la p&gina web. .ara poner en marcha apache, debemos invocar el servicio que inicia el demonio. !i deseamos que durante el inicio del apache se nos muestren los mensa'es que va devolviendo el servicio de apache por pantalla, debemos usar la directiva apachectl, en el caso que no deseemos que se muestren los mensa'es podemos usar la directiva httpd. 0anto apachectl, como httpd aceptan los par&metros start, stop y restart. .ara reiniciar el servicio deberemos usar el siguiente comando% %et#%init!d%apa#he& restart 3 n el caso que usemos Apache24 %et#%init!d%apa#he restart 3 n el caso que usemos Apache =.B4 n el caso que estemos traba'ando sobre windows debemos seguir los siguientes pasos% Ini#io-'(anel de #ontrol-')erramientas administrativas-'Servi#ios-'Apa#heJ J l nombre del proceso de apache puede variar seg*n la versin de apache que tengais instalado o si usais alg*n paquete que incluya mysql, php y apache 3como por e'emplo Apache20riad4. stos paquetes son muy *tiles para los rogramadores que necesitan instalar un entorno de preproduccin o bien para principiantes.

.e%inici+n de las varia/les m0s importantes


Captulo anterior: B - +nvocacin del servicio de apache Captulo siguiente: E - 1argar un mdulo n esta seccin vamos a definir las variables que m&s importancia tienen durante la configuracin de apache. Kstas nos van a permitir optimizar la respuesta a la hora de servir las p&ginas y me'orar la seguridad del servidor. "erver1oot 'etc2httpd' - #irectorio en el cual se encuentran los ficheros de configuracin de apache. 3imeout -44 - 0iempo 3en segundos4 antes de recibir una se,al de timeout, que significa que la p&gina no ha podido ser cargada por alg*n motivo.

5ser apache - 2suario que va a e'ecutar el proceso de apache. )ucho cuidado con esta variable, dado que tiene gran importancia a la hora de tener un servidor seguro. #ebemos asegurarnos que el usuario apache tenga unos privilegios muy limitados, a poder ser solo de escrituraGlectura sobre los directorios utilizados para guardar la p&gina y de acceso a la base de datos. "erverAdmin admin6localhost - 1uenta de correo donde se van a enviar los emails de aviso en caso de que apache de'e de responder por alg*n motivo. .ocument1oot '7e/2contenido' - #irectorio donde se encuentran los ficheros de la p&gina web. Aqu$ guardaremos el repositorio de la p&gina, y por lo tanto ser& donde los usuarios tengan acceso. 7ecomendamos tener mucho cuidado en el tipo de ficheros o subdirectorios a los cuales tienen acceso los usuarios, @stos los podemos proteger mediante el tag LGfileMLGfileM o bien LdirectoryM LGdirectoryM. "a sinta(is de @stos se muestra en secciones posteriores. Access,ile8ame .htaccess - <ombre del fichero que va a contener informacin suplementaria de configuracin del apache. "o hemos mencionado anteriormente. - .ara bloquear el acceso a este fichero a los usuarios 3dado que se tiene que ubicar en el directorio especificado por #ocument7oot se debe usar la siguiente sentencia% *files + ",-!ht"' Order allo./ den" Den" from all *%files' 1on estas sentencias estamos indicando que los directorios que empiezen por .ht no sean visibles para los usuarios. (rror!og logs2error9log - Archivo donde se registrar&n los errores que se produzcan durante el inicio o e'ecucin de apache, y que por lo tanto debemos tener muy presente cuando tengamos problemas con apache. Custom!og logs2access9log com/ined - Archivo donde se registrar&n los accesos a la p&gina web. !e guardar& el acceso, el agente y el referer. - !i queremos que se registren el agente y el referer en archivos diferentes debemos usar las siguientes sentencias% - Custom!og logs2agent9log agent Nuarda los agentes. - Custom!og logs2re%erer9log re%erer Nuarda los referers. Add.e%aultCharset #" :;;<=:1 - #efinicin del tipo de condificacin. +!O-DDEF-= es un estandard muy e(tendido de codificacin, ahora bien, para internacionalizar la web se puede usar tambi@n el charset 20C-D. s muy recomendable definir un charset y no de'ar que el navegador lo esco'a por defecto, dado que la interpretacin del tipo de codificacin puede no ser correcta y

la p&gina no se ver& correctamente. (rror.ocument >4>2>4>.html - Archivo que se va a mostrar al producirse un error IHI. sta misma sinta(is sirve para los otros tipos de error, por e'emplo% - rror#ocument BH2GBH2.html 3donde BH2.html es el nombre que nosotros le damos al archivo, lo escogemos nosotros4. videntemente hay muchas m&s propiedades que entran en 'uego a la hora de configurar apache, para encontrar una descripcin de cada una de ellas os remito a la siguiente p&gina% http%GGhttpd.apache.orgGdocsG2.HGmodGdirectives.html.

<. Cargar un m+dulo


Captulo anterior: I - #efinicin de las variables m&s importantes Captulo siguiente: O - #efinicin de permisos de los directorios 0al como hemos comentado en la primera seccin, una de las principales caracter$sticas de apache es que nos permite cargar una serie de mdulos que no vienen instalados por defecto. )ediante @stos podremos implementar p&ginas con lengua'es como ./., .ython, conectarnos a una base de datos, etc. stos mdulos son de tipo #!O, mdulos que se cargan en tiempo de e'ecucin, y que por lo tanto no consumen memoria si no son necesarios. .asamos a comentar como podemos cargar estos mdulos, sin embargo ya avanzamos que su carga es e(tremadamente simple. .rimero de todo nos debemos asegurar que el mdulo que deseamos cargar e(iste en el directorio donde @stos est&n guardados. <ormalmente los podremos encontrar en el directorio path_apa#he%modules. l segundo paso es indicarle a apache que debe cargar el mdulo% .ara indicar el directorio y nombre del fichero, debemos usar la siguiente sentencia% !oad?odule nom/re9modulo modules2nom/re9archivo.so .or e'emplo% !oad?odule access9module modules2mod9access.so Pemos que la sinta(is es muy simple, solo debemos indicarle que tenemos disponible un mdulo espec$fico mediante "oad)odule, el mdulo que estamos cargando 3en este caso accessQmodule4, y a continuacin le indicamos donde se encuentra, 3en este caso modulesGmodQaccess.so4. #espu@s de reiniciar apache, si no hay ning*n problema con la sinta(is anteriormente comentada y el fichero que implementa el mdulo se encuentra disponible, el mdulo ser& cargado.

@. .e%inici+n de permisos de los directorios


Captulo anterior: E - 1argar un mdulo Captulo siguiente: R - Pirtualhosts Anteriormente hemos comentado como se proteg$a el fichero .htaccess, para ello hemos usado una sentencia que prohibe la lectura de dicho fichero a los usuarios. Ahora procederemos a comentar brevemente la sinta(is que siguen este tipo de sentencias. .ara definir los directorios a los cuales queremos permitirGdenegar el acceso a los usuarios vamos a usar la directiva% *Dire#tor" %' %%dire#tivas para permitir o dene ar el a##eso al dire#torio *%Dire#tor"' !i queremos restringir o permitir la lectura en un %ichero vamos a utilizar la siguiente sinta(is% *0ile %' %%dire#tivas para permitir o dene ar un fi#hero a los usuarios *%0ile' .ara especificar el directorio al cual queremos permitir o restringir el paso debemos indicarlo mediante su ruta, o bien mediante una e(presin regular, si estamos tratando con una serie de ficheros que siguen un patrn espec$fico. .or e'emplo, si queremos denegar el paso a un directorio espec$fico% *Dire#tor" %usr%private_dire#tor"' Order Den"/Allo. Den" from all *%Dire#tor"' - 1on esta sentencia conseguimos que los usuarios no puedan acceder al directorio GusrGprivateQdirectory. !i en cambio queremos restringir el acceso a un cierto tipo de ficheros, vamos a usar una e(presin regular, por e'emplo% *files + ",-!ht"' Order allo./ den" Den" from all *%files' - n este caso denegamos la lectura de los ficheros que empiezen por .ht 3como por e'emplo el fichero .htaccess4. !i queremos permitir el paso a los directorios especificados o bien denegarlo, seguiremos la siguiente sinta(is% - .ara denegar el paso% .eny %rom usuarios, donde usuarios puede ser all 3para denegar el paso a 0O#O! los usuarios4 o bien una +., etc. - .ara permitir el paso% Allo7 %rom usuarios, donde usuarios puede ser all 3para denegar el paso a 0O#O! los usuarios4 o bien una +., etc.

A. Birtualhosts
Captulo anterior: O - #efinicin de permisos de los directorios Captulo siguiente: D - Pariables importantes )ediante los virtualhosts podremos tener varios dominios apuntando a una misma m&quina. #entro de cada virtualhost definiremos las directivas espec$ficas para el dominio que est@ representando. Ksta es otra forma de definir la configuracin de apache de modo local, con lo cual slo afectar& a un dominio o subdominio 3recordemos que el fichero .htaccess sirve para lo mismo4. .odemos definir un virtualhost a trav@s de una +. o bien a trav@s de un name-based virtual host, para el segundo caso utilizaremos un J para representarlo. .or lo tanto la sinta(is de un virtualhost es la siguiente% 1ame2irtual)ost ip_ma3uina485 *2irtualhost 6' %% Dire#tivas espe#7fi#as del virtualhost! *%2irtualhost' Observamos que hemos implementado la definicin de un virtualhost a trav@s de un name-based virtual host. .ara ello hemos utilizado el par&metro <amePirtual/ost, la +. de la m&quina donde se encuentra instalado apache, y el puerto por el cual escuchar&, en este caso el puerto DH. !eguidamente hemos definido el espacio en el cual implementaremos los detalles espec$ficos del dominio que representar& el virtualhost mediante los tags LPirtualhostM y LGPirtualhostM. <O0A% 7ecordar que para que los cambios en el fichero de configuracin httd.conf tengan efecto, se debe reiniciar el servicio de apache.

;. Baria/les importantes
Captulo anterior: R - Pirtualhosts Captulo siguiente: F - 7ewrite7ules Acto seguido pasamos a detallar algunas de las variables que suelen utilizarse en los virtualhosts. "a mayor$a de las propiedades ya fueron comentadas anteriormente, con lo cual no las volveremos a comentar. ServerAdmin admin8lo#alhost Do#ument9oot "et#%httpd"

Server1ame dominio!#omCustom:o lo s%a##ess_lo Dire#tor"Inde; inde;!php #efine el dominio con el cual tendr& efecto la configuracin que definamos en este virtualhost. <rror:o lo s%error_lo +ndica el fichero que se va a cargar en el caso que apache reciba la peticin de cargar un directorio sin especificar ning*n fichero. .or e'emplo% !i apache recibe la url http%GGwww.dominio.comG por defecto va a cargar el fichero inde(.php. !i hacemos una lista de ficheros en la misma directiva se va a intentar cargar cada uno de los ficheros por orden de colocacin en la lista. php_value ma i#_3uotes_ p# 5 sta directiva va a hacer que todos los car&cteres 6, :, S y <2"" sean escapados con una barra invertida autom&ticamente. 1on @sto vamos a conseguir evitar muchos de los ataques m&s senzillos de sql+n'ection. "a directiva phpQvalue sirve para redefinir las propiedades que se encuentran en el fichero php.ini, que es el fichero de configuracin de php. s muy *til cuando tenemos m&s de un dominio apuntando al mismo host, ya que podemos modificar ciertas directivas de php para cada uno de los dominios. !i quer@is una gu$a de las directivas del fichero php.ini os pod@is dirigir a @sta p&gina.

=. 1e7rite1ules
Captulo anterior: D - Pariables importantes Captulo siguiente: =H - .lataforma "A). 7ewrite7ule re la_de_apa#he )ediante esta directiva podremos convertir p&ginas din&micas en est&ticas. n este art$culo no vamos a detallar el funcionamiento de las 7ewrites7ules, sin embargo intentaremos dar una idea de @stas. "a mayor$a de las veces implementamos p&ginas web en lengua'es din&micos, estos nos permiten pasar una serie de variables a trav@s de la url, como ser$a el caso de este e'emplo% http%GGwww.dominio.comGdirectorio=Gfichero.phpAvar=T=Uvar2T2 "as desventa'as que tiene una url de este estilo sn las siguientes% - "os buscadores slo aceptan cierto n*mero de variables pasadas a trav@s de la url. - .ara los usuarios es muy complicado guardar o memorizar url6s tan complicadas. - l posicionamiento en los buscadores de una url din&mica es muy complicado. .or todos estos puntos, las 7ewrite7ules son cada vez m&s importantes en el proceso de dise,o de una p&gina web.

>1mo funciona una 7ewrite7uleA )uy f&cil, cuando apache recibe una url comprueba que la sinta(is de @sta coincida con alguna de las e(presiones regulares definidas en las rewrite7ules, en el caso de coincidir aplica la 7ewrite7ule, la cual aplica alg*n tipo de proceso, como puede ser una redireccin. 1on un e'emplo se ver& mucho m&s claro% !upongamos que queremos redireccionar las p&ginas que empiezan por :patata: a un fichero espec$fico. "o que har$amos ser$a hacer una 7ewrite7ule con una e(presin regular que identificara estas p&ginas, y que una vez las hubiera identificado las reenviara al fichero que le especificamos. "a regla quedar$a de la siguiente forma% 1e7rite1ule C2patata9$.D&2? 2directorio*2%ichero*.php2E1 F!G .ara poder utilizar 7ewrite7ules debemos tener en cuenta dos puntos. .rimero debemos cargar el mdulo mod9re7rite.so, tal como hemos especificado en p&ginas anteriores, y segungo introducir la directiva 1e7rite(ngine n en el virtualhost. Captulo anterior: F - 7ewrite7ules Captulo siguiente: == - 7eferencias 2na plataforma "A). es un con'unto de herramientas opensource que traba'ando 'untas nos permiten disponer de un servidor web. "as herramientas que aglutina el t@rmino "A). sn "inu(, Apache, )y!?" y ./., .erl, o .ython , con lo cual conseguimos todo lo que debe tener una plataforma web, que es un sistema operativo, un servidor web, una base de datos, y un lengua'e de programacin. "as plataformas "A). est&n siendo muy bien aceptadas entre los proveedores de servicios web. 1omo venta'as a destacar% - st& compuesta de software con licencia gratuita. - l cdigo de todos sus componentes est& disponible, con lo cual se pueden hacer las modificaciones que se crean oportunas. Captulo anterior: =H - .lataforma "A). http%GGwww.apache.orgG -- .&gina oficial de apache. http%GGwww.augcyl.orgGglolGapache2.html -- gu$a muy completa sobre todos los par&metros del fichero de configuracin de apache. http%GGwww.programacionphp.net

l servidor web Apache =.B 324


1onociendo Apache )os Angel de Hustos IreJ
1opyright 3c4 2.HHB 8os@ Angel de Vustos .@rez 'adebustosWaugcyl.org .ermission is granted to copy, distribute andGor modify this document under the terms of the N<2 Cree #ocumentation "icense, Persion =.2 or any later version published by the Cree !oftware CoundationX with no +nvariant !ections, no Cront-1over 0e(ts, and no Vac;-1over 0e(ts. A copy of the license is included in the section entitled :N<2 Cree #ocumentation "icense:.

Conociendo Apache
n este art$culo vamos a dar los primeros pasos con Apache, veremos como arrancar y parar el servidor. "os archivos que debemos conocer y veremos como es la configuracin general del servidor.

Los archivos importantes para Apache


l servidor web Apache utiliza varios archivos que es necesario conocer%

l archivo principal de configuracin httpd.conf. n este archivo se encuentra la informacin de la configuracin de Apache y se leer& cada vez que se arranque el servidor.

"os archivos de log del servidor, sus nombres se pueden especificar pero normalmente son% o access.log, donde se almacenan todas las cone(iones que se realizan al servidor. s posible configurar el tipo de informacin a almacenar.
o error.log,

donde se almacenan los errores que ocurren dentro del

servidor.

El archivo de log de accesos


n este fichero se almacenan todas las peticiones que recibe el servidor web. sto es *til desde varios puntos de vista% =. s posible controlar desde que lugares del mundo se conectan a nuestro servidor, con que navegador, horas, y que documentos son los m&s visitados. .odemos crear estad$sticas sobre nuestro sitio web. 2. #ebido a la entrada en vigor de ciertas leyes que supuestamente van a servir para me'orar el comercio electrnico y garantizar los derechos de los internautas, en

spa,a la "!!+, los servidores deben registrar toda la actividad, peticiones, e +.6s desde las que se realizaron. 0odo esto es posible hacerlo con Apache y adem&s podemos personalizarlo almacenando solamente la informacin que nosotros queramos yGo consideremos interesante. Apache utiliza un lengua'e est&ndar llamado C.!.,. que es un acrnimo de Common !og ,ormat. s un est&ndar de informacin para servidores para el cual e(isten muchos programas que interpretan, generan estad$sticas, ... a partir de archivos en este formato.

El archivo de log de errores


Apache registra los errores que encuentra y los almacena en un archivo para que el administrador pueda detectar los posibles fallos en el servidor y solucionarlos. s posible hacer que los errores vayan directamente al demonio syslog o redirigirlos a un programa o script que los trate de una manera especial. Ya profundizaremos m&s en otro art$culo que dedicaremos a este tema.

El archivo principal de configuracin


ste archivo lo carga Apache cada vez que arranca y es aqu$ donde se encuentra toda la informacin referente al servidor. Apache no es sensible a may*sculasGmin*sculas, pero lo normal es que las iniciales de las palabras que forman los nombres de la directivas vayan en may*sculas. "a configuracin de Apache se realiza mediante directivas. stas pueden ser de dos formas%

8ucleares, se encuentran dentro del nucleo del servidor por lo que se podr&n utilizar siempre. n la documentancin original de Apache se las referira como core. H0sicas, se encuentran dentro de un mdulo con lo cual ser& necesario cargar dicho mdulo para poder utilizarlas.

Adem&s cada directiva tendr& un conte(to, es decir un &mbito en el que puede ser aplicada. )uchas veces ese &mbito ser& otra directiva. ste archivo consta de tres secciones%

1onfiguracin global. 1onfiguracin del servidor principal. 1onfiguracin de los !ervidores Pirtuales.

1uando instalamos Apache nos instala un fichero con la configuracin por defecto, este fichero suele ser /etc/apache/httpd.conf. n el caso de que en nuestra distribucin de N<2G"inu( no este en el mismo sitio siempre podremos recurrir a %ind%
debian:~# find / -name httpd.conf /etc/apache/httpd.conf debian:~#

n algunas distribuciones se puede encontrar en /etc/apache/conf/httpd.conf. Peamos ahora las diferentes partes del archivo de configuracin, nos saltaremos los comentarios 3todas aquellas lineas que empiezan con el car&cter K4 e iremos e(plicando las directivas sin profundizar demasiado.

Seccin de configuracin global


"a zona de configuracin global ser& algo como esto%
### Section 1: Global Environment ServerType standalone ServerRoot /etc/apache oc!"ile /var/loc!/apache.loc! #id"ile /var/r$n/apache.pid Score%oard"ile /var/r$n/apache.scoreboard Time&$t '(( )eep*live &n +a,)eep*liveRe-$ests 1(( )eep*liveTimeo$t 1. +inSpareServers . +a,SpareServers 1( StartServers . +a,/lients 1.( +a,Re-$ests#er/hild 1(( isten 0( oad+od$le oad+od$le oad+od$le oad+od$le oad+od$le .... config1log1mod$le /$sr/lib/apache/1.'/mod1log1config.so mime1magic1mod$le /$sr/lib/apache/1.'/mod1mime1magic.so mime1mod$le /$sr/lib/apache/1.'/mod1mime.so negotiation1mod$le /$sr/lib/apache/1.'/mod1negotiation.so stat$s1mod$le /$sr/lib/apache/1.'/mod1stat$s.so

E,tendedStat$s &n

"erver3ype standalone. o (status: <uclear.


o

ConteLto: 1onfiguracin del !ervidor.

sta directiva indicar& la forma en la que se arrancar& Apache. 0iene dos opciones posibles%
o o

standalone. l servidor se arrancar& como un servicio m&s del sistema y funcionar& de manera independiente. inetd. l servidor ser& controlado por el demonio inetd o Linetd.

"a forma m&s com*n de arrancarlo es mediante standalone, ya que de la otra forma cada vez que el servidor recibiera una peticin el demonio inetd tendr$a que arrancar Apache lo cual es un proceso muy costoso, lento, ya que tendr$a que acceder a disco y cargar el servidor web, todas las librer$as necesarias y los modulos de Apache y esto ralentizar$a la respuesta del servidor.

"erver1oot GetcGapache. o (status: <uclear.


o

ConteLto: 1onfiguracin del !ervidor.

+ndica el directorio base para los archivos de configuracin del servidor.

!ocM,ile GvarGloc;Gapache.loc;. o (status: <uclear.


o

ConteLto: 1onfiguracin del !ervidor.

sta directiva especifica el archivo de bloqueo que utiliza Apache, si fue compilado con esa opcin. #icho fichero debe estar en una unidad de disco local y no en otra m&quina. <ormalmente esta directiva no se cambia y se de'a con su valor por defecto.

Iid,ile GvarGrunGapache.pid. o (status: <uclear.


o

ConteLto: 1onfiguracin del !ervidor.

specifica el fichero en el que se almacena el n*mero del proceso del servidor web Apache.

"coreHoard,ileGvarGrunGapache.scoreboard. o (status: <uclear.


o

ConteLto: 1onfiguracin del !ervidor.

n este fichero se almacena informacin interna del servidor y comunicar el servidor primario con los secundarios. <o es necesario en todas las arquitecturas. !i queremos saber si lo es para nuestra arquitectura, deberemos arrancar Apache con esta directiva inicializada y comprobar que se ha creado el archivo.

3ime ut BHH. o (status: <uclear.


o

ConteLto: 1onfiguracin del !ervidor.

specifica el tiempo, en segundos, despu@s del cual el servidor terminar& la cone(in con el cliente. Vasicamente si despu@s de ese tiempo el servidor no ha recibido ninguna peticin del cliente se cerrar& la cone(in. sta directiva es importante y afectar& al rendimiento del servidor. 2na forma muy com*n de intentar provocar una denegacin de servicio en un servidor web 3hacerle tantas peticiones que el servidor no pueda atenderlas y se caiga o bien no atienda a otras peticiones leg$timas4 es hacer peticiones a un servidor falseando la cabecera de los paquetes poniendo como direccin +. una direccin +. ine(istente, con lo cual el servidor mandar& paquetes a una direccin que no e(iste y se quedar& esperando la respuesta del cliente, un paquete A19, que no recibir&. !i se hacen suficientes peticiones llegar& un momento en el que todas las peticiones que este atendiendo el servidor ser&n falsas y si no se pone una condicin para terminar la cone(in, un tiempo m&(imo de espera, el servidor estar$a esperando a que un cliente ine(istente le contestar&. .ara optimizar el rendimiento del servidor tendremos que 'ugar con este valor. 0enemos que tener en cuenta que habr& veces que los paquetes tarden en llegar m&s al servidor debido a problemas en la red, como por e'emplo que se caiga un router entre el cliente y el servidor. n este caso los routers intermedios tardar&n un tiempo en actualizar sus tablas de enrutamiento, y eso dependar& del protocolo de enrutamiento que utilicen y de la configuracin que el administrador haya programado en ellos. 2na vez reestablecida una ruta para que el cliente pueda alcanzar el servidor seguramente tenga que dar m&s saltos, atravesar m&s routers, con lo cual los paquetes tardar&n en llegar m&s al servidor.

!i ponemos un tiempo muy peque,o habr& muchos clientes que pierdan la cone(in y tengan que volver a negociarla, eso significar& para el cliente que las p&ginas que alberga nuestro servidor las ver& muy lentamente. !in embargo, ser& m&s dif$cil el hacer una denegacin de servicio como la anteriormente comentada. .or el contrario si ponemos un tiempo muy alto los clientes que tengan problemas con su red o que sus paquetes pasen por redes con problemas no acusar&n lentitud en el servidor web ya que se tardar& bastante tiempo en cerrarles la cone(in. !in embargo, ser& m&s f&cil el hacer una denegacin de servicio. s por este motivo que el administrador del servidor tiene que observar el rendimiento de su servidor web, tener en cuenta la m&quina, el n*mero de cone(iones que soporta al d$a e ir a'ustando este valor para dar un buen rendimiento a los clientes.

NeepAlive On. o (status: <uclear.


o

ConteLto: 1onfiguracin del !ervidor.

sta directiva se utiliza para indicar si se activar&n las cone(iones persistentes, es decir el poder hacer m&s de una peticin por cone(in. .or e'emplo, supongamos que hacemos una peticin al servidor de una p&gina web que contiene tres im&genes, entonces tendremos que hacer I peticiones, una para la p&gina y una por cada im&gen. l tener activadas las cone(iones persistentes nos permite el poder hacer todas las peticiones a trav@s de la misma cone(in y no tener que negociar nuevas cone(iones. "a respuesta del servidor ser& m&s r&pida y tendremos un me'or rendimiento. sta directiva admite dos opciones%
o o

n, cone(iones persistentes activadas. %%, cone(iones persistentes desactivadas.

?aLNeepAlive1equests =HH.
o o

(status: <uclear. ConteLto: 1onfiguracin del !ervidor.

sta directiva establece el m&(imo n*mero de peticiones que se pueden realizar en una cone(in persistente. <i que decir tiene que las cone(iones persistentes tienen que estar activadas.

.ara un buen rendimiento del servidor es aconse'able tener un valor alto. !i se quieren permitir infinitas peticiones por una cone(in habr& que poner cero.

NeepAlive3imeout =E. o (status: <uclear.


o

ConteLto: 1onfiguracin del !ervidor.

sta directiva establece el tiempo, en segundos, que se esperar& en una cone(in persistente para cerrarla. !i en el tiempo especificado no se ha recibido ninguna nueva peticin se cerrar& la cone(in. 0odo lo dicho en la directiva 3imeout se puede aplicar tambi@n aqu$.

?in"pare"ervers E. o (status: <uclear.


o

ConteLto: 1onfiguracin del !ervidor.

sta directiva establece el n*mero m$nimo de servidores que habr& desocupados esperando peticiones. #e esta manera se agiliza la respuesta del servidor ante peticiones ya que no ser& necesario el arrancar un servidor nuevo cuando llege una peticin. !iembre habr& alg*n servidor desocupado esperando. Apache arrancar& servidores para que esten esperando cuando el n*mero de servidores desocupados sea menor que el especificado por esta directiva. A la hora de establecer esta directiva deberemos tener en cuenta la memoria de la m&quina ya que por cada servidor desocupado se estar& consumiendo memoria. .ara un buen rendimiento del servidor tendremos que 'ugar con esta directiva para no saturar la memoria y tratar que Apache tenga que arrancar servidores el menor n*mero de veces.

?aL"pare"ervers =H. o (status: <uclear.


o

ConteLto: 1onfiguracin del !ervidor.

sta directiva controla el n*mero m&(imo de servidores desocupados que habr&.

1uando una copia de Apache termina de atender a un cliente que ha solicitado una p&gina web o cierra la cone(in porque se alcanz el tiempo m&(imo de espera pasa a estar desocupado, con lo cual el n*mero de servidores desocupados se incrementa. 1uando hay m&s servidores desocupados que los especificados por esta directiva Apache mata a los que sobran. #e esta forma se evita el saturar la memoria del sistema.

"tart"ervers E. o (status: <uclear.


o

ConteLto: 1onfiguracin del !ervidor.

1uando arranca Apache arranca varias copias de s$ mismo que se quedan esperando peticiones. #e esta manera cuando llega una peticin no es necesario el arrancar una copia de Apache y se agiliza el rendimiento del servidor. sta directiva establece la cantidad de servidores que se arrancan al iniciar Apache.

?aLClients =EH. o (status: <uclear.


o

ConteLto: 1onfiguracin del !ervidor.

stablece el n*mero m&(imo de clientes simultaneos que Apache puede servir. .or defecto cada copia de Apache puede responder a peticiones de hasta 2EO clientes. !i deseamos ampliar este n*mero deberemos modificar los fuentes de Apache y recompilar. 3.ara m&s informacin mirar la documentacin de Apache4

?aL1equestsIerChild =HH. o (status: <uclear.


o

ConteLto: 1onfiguracin del !ervidor.

sta directiva establece el n*mero m&(imo de peticiones que servir& cada proceso hi'o de Apache. 1uando se alcanza este n*mero el proceso muere. !i se establece a cero cada proceso secundario atender& infinitas solicitides. sta directiva no afecta a Apache si se esta e'ecutando en plataformas 5indows374. n este caso mirar en la documentacin de Apache la directiva 3hreadsIerChild.

!isten DH. o (status: nuclear.

ConteLto: configuracin del !ervidor.

sta directiva se utiliza para indicarle a Apache en que direcciones +. y puertos debe escuchar. .or defecto escucha en todas las interfaces de red, si slo se especifica el n*mero de puerto Apache escuchar& en todas las interfaces de red. .ara especificar una interface determinada y un puerto se har& #I:;4;4.

!oad?odule configQlogQmodule GusrGlibGapacheG=.BGmodQlogQconfig.so. o (status: mdulo mod9so.so.


o

ConteLto: configuracin del !ervidor.

sta directiva se utiliza para cargar los mdulos que necesite el servidor web. Apache se ha desarrollado de forma modular y por ese motivo en lugar de a,adir al servidor nuevas caracter$sticas estas se implementan como mdulos y estos se cargan de forma din&mica en el servidor. "a sinta(is es muy sencilla, se especifica el mdulo y donde se encuentra. .ara cargar un mdulo bastar& con descomentar la l$nea, eliminar el s$mbolo K. <o alterar el orden en el que aparecen los mdulos a menos que se sepa lo que se esta haciendo. n 5indows374 los mdulos tienen e(tensin dll.

(Ltended"tatus On. o (status: mdulo mod9status.so.


o

ConteLto: configuracin del !ervidor.

sta directiva se utiliza para activar el control de informacin e(tendida en las solicitudes que recibe el servidor. 0iene dos opciones%
o o

n, activado. %%, desactivado.

Seccin de configuracin del servidor principal


"a zona de configuracin del servidor principal ser& algo como esto%
### Section 2: 3+ain3 server config$ration #ort 0( 4ser 5556data Gro$p 5556data

Server*dmin 5eb6admin7midominio.es Server8ame 555.midominio.es 9oc$mentRoot /var/555 :9irectory /; .......... :/9irectory; :9irectory /var/555/; .......... :/9irectory; :<f+od$le mod1$serdir.c; ......... :/<f+od$le; :9irectory /home/=/p$blic1html; .......... :/9irectory; :<f+od$le mod1dir.c; ......... :/<f+od$le; *ccess"ile8ame .htaccess :"iles ~ >?@.ht>; &rder allo5Adeny 9eny from all :/"iles; 4se/anonical8ame &n Types/onfig /etc/mime.types 9efa$ltType te,t/plain :<f+od$le mod1mime1magic.c; ......... :/<f+od$le; Bostname oo!$ps &ff Error og /var/log/apache/error.log og evel 5arn og"ormat >Ch Cl C$ Ct @>Cr@> C;s Cb> common /$stom og /var/log/apache/access.log common ServerSignat$re &n *lias /icons/ /$sr/share/apache/icons/ :9irectory /$sr/share/apache/icons; .......... :/9irectory;

Script*lias /cgi6bin/ /$sr/lib/cgi6bin/ :9irectory /$sr/lib/cgi6bin/; .......... :/9irectory; :<f+od$le mod1a$toinde,.c; ......... :/<f+od$le; :<f+od$le mod1mime.c; ......... :/<f+od$le; *dd9efa$lt/harset on :<f+od$le mod1setenvif.c; ......... :/<f+od$le; :<f+od$le mod1perl.c; ......... :/<f+od$le; : ocation /doc; order denyAallo5 deny from all allo5 from 12D.(.(.(/2...(.(.( &ptions <nde,es "ollo5Sym in!s +$ltiEie5s :/ ocation;

/ay algunas directivas que recuerdan a los tags de /0)"%

O.irectory ...P ... O2.irectoryP. sta directiva se utiliza para indicarle al servidor web el comportamiento que ha de tener sobre un determinado directorio.

O,iles ...P ... O2,ilesP. sta directiva se utiliza para indicarle al servidor web el comportamiento que ha de tener sobre unos determinados ficheros. s posible utilizar e(presiones regulares para especificar un grupo de ficheros.

O#%?odule ...P ... O2#%?oduleP. sta directiva se utiliza para especificar acciones a realizar en el caso de que un mdulo determinado se carge.

O!ocation ...P ... O2!ocationP. sta directiva es muy parecida a la directiva .irectory pero se aplica a 27"6s y no a directorios.

n siguientes art$culos entraremos m&s en detalle.

Iort DH. o (status: <uclear.


o

ConteLto: 1onfiguracin del !ervidor.

sta directiva indica el puerto por el que el servidor estar& escuchando peticiones /00.. 0iene que estar comprendido entre H y OE.EBE. "os servicios m&s comunes est&n estandarizados y casi siempre se ofrecen por el mismo puerto. stos n*meros de puerto reciben el nombre de Qell:Mno7n Iorts y dentro de N<2G"inu( podemos encontrarlos en el fichero /etc/services. l puerto asignado por defecto para los servicios web es el DH. n N<2G"inu( y 2<+Z todos los puertos por deba'o del =.H2I est&n reservados para el sistema. 1on lo cual slo el root podr& iniciar servicios escuchando en dichos puertos.

5ser www-data. o (status: <uclear.


o

ConteLto: 1onfiguracin del !ervidor y directivas BirtualRost.

sta directiva indica el usuario con el cual se e'ecutar& el servidor. l servidor web debe ser e'ecutado por un usuario que casi no tenga privilegios dentro del sistema. Aunque es cierto que se necesitan privilegios de root para iniciar el servidor escuchando en el puerto DH una vez iniciado el servidor el servidor cambia del usuario root a este usuario.

Sroup www-data. o (status: <uclear.


o

ConteLto: 1onfiguracin del !ervidor y directivas BirtualRost.

sta directiva indica el grupo del usuario ba'o el cual se e'ecuta el servidor. !lo tiene sentido en sistemas N<2G"inu( y 2<+Z. s recomendable que el grupo tenga privilegios limitados en el sistema. Al igual que pasaba con la directiva 5ser.

"erverAdmin web-adminWmidominio.es.

o o

(status: <uclear. ConteLto: 1onfiguracin del !ervidor y directivas BirtualRost.

sta directiva se emplea para especificar la direccin de correo electrnico del administrador del servidor web. 1ada vez que el servidor produzca un error se imprimir&.

"erver8ame www.midominio.es. o (status: <uclear.


o

ConteLto: 1onfiguracin del !ervidor y directivas BirtualRost.

sta directiva se utiliza para especificar el nombre del servidor web. n caso de no especificarse el servidor intentar& conocer el nombre del servidor mediante resoluciones inversas de #<! a trav@s de su direccin +..

.ocument1ootGvarGwww o (status: <uclear.


o

ConteLto: 1onfiguracin del !ervidor y directivas BirtualRost.

sta directiva se utiliza para especificar el directorio base en el que estar&n los documentos que va a servir el servidor web. ste directorio y todos los anteriores a @l en la 'erarqu$a de directorios deben permitir la lectura y e'ecucin a todos los usuarios. n caso contrario el servidor no podr&a acceder a los documentos de dicho directorio.

Access,ile8ame .htaccess. o (status: <uclear.


o

ConteLto: 1onfiguracin del !ervidor y directivas BirtualRost.

!irve para especificar el nombre de los archivos de control de acceso para los directorios. Aunque es posible especificar los controles de acceso mediante las directivas O.irectory ...P ... O2.irectoryP tambi@n podemos hacerlo mediante el uso de los archivos de control de acceso. >1ual es la venta'aA 1uando se inicia Apache se lee la configuracin del fichero httpd.conf y si especificamos todas las reglas de acceso para todos los directorios que el servidor est& sirviendo en dicho archivo cada vez que modifiquemos alguna regla de acceso tendremos que reiniciar el servidor. !i somos el administrador podremos hacerlo, pero muchas veces no seremos los administradores ya que habr& un administrador central para el servidor y luego

en el servidor se estar&n hospedando multitud de sitios web, y lo m&s com*n es que cada sitio tenga un webmaster distinto, que no ser& el administrador del servidor. .or este motivo el administrador del servidor puede delegar los controles de acceso a archivos especificados por esta directiva y que ser&n mantenidos por el webmaster del sitio web correspondiente. #e esta manera no ser& necesario el reiniciar el servidor cada vez que se cambie alguna de las reglas de control de acceso en estos archivos, ya que Apache leer& estos archivos, si e(isten, cada vez que entre al directorio y aplicar& las reglas en el establecidas. .or convenio se suele utilizar el nombre de .htaccess para estos ficheros. #espu@s de esta directiva podemos ver que hay una directiva de este tipo%
:"iles ~ >?@.ht>; &rder allo5Adeny 9eny from all :/"iles;

sto se utiliza para que el servidor web no sirva los archivos de control de acceso. l significado de esta directiva es que sobre los archivos que coincidan con la e(presin regular CT.ht se haga lo que esta en el cuerpo de la directiva.
1. 2.

.rimero se e'ecutar& la clausula allo7, que no e(ite. "uego se e'ecutar& la clausula deny. sta clausula indica que el servidor no deber& servir los archivos que coincidan con la e(presin regular.

l significado de la e(presin regular es el siguiente%


o o

C, indica que debe haber una coincidencia al principio del nombre del fichero. T., como el car&cter . es un car&cter especial dentro de las e(presiones regulares se precede con la barra para indicar que es el car&cter punto.

"uego la e(presin regular significa que todos aquellos ficheros que comienzen con .ht ser& sobre los que se aplique esta directiva. #e esta forma se evita que el servidor sirva este tipo de archivos que se suelen utilizar para los controles de acceso a directorios. 5seCanonical8ame On.
o o

(status: <uclear. ConteLto: 1onfiguracin del !ervidor, directivas BirtualRost, .irectory y ficheros de control de acceso .htaccess.

sta directiva se utiliza para que el servidor web utilice los valores de las directivas "erver8ame y Iort y construya 27"6s de redireccionamiento, que aparecer&n en mensa'es de error por e'emplo, y para suministrarsela a programas 1N+. sta directiva tiene dos opciones%
o o

n, activado. l servidor formar& las 27"6s a partir del documento pedido por el cliente. %%, desactivado. l servidor utilizar& la 27" completa suministrada por el cliente.

!i unicamente vamos a estar sirviendo un sitio web con nuestro servidor web, lo normal es tener toda la configuracin del servidor en esta seccin por lo cual deberemos tener a n esta directiva. !i por el contrario vamos a albergar varios sitios web en el mismo servidor deberemos tener a %% esta directiva y dentro de la directiva BirtualRost de cada sitio web establecerla a n.
F

3ypesCon%ig GetcGmime.types. o (status: mdulo mod9mime.so.


o

ConteLto: 1onfiguracin del servidor.

sta directiva se utiliza para especificar donde se encontrar& el archivo de los tipos )+) . n caso de no ser una ruta absoluta se tomar& como relativa a "erver1oot. "os tipos ?#?( son los 0ipos )ultimedia de +nternet y son gestionados por +.A.<.A. 3Autoridad de <*meros de Asignacin de +nternet4. l archivo de tipos )+) no se debe modificar. !i fuera necesario a,adir nuevos tipos utilice la directiva Add3ypes.
F

.e%ault3ype te(tGplain. o (status: <uclear.


o

ConteLto: 1onfiguracin del !ervidor, directivas BirtualRost, .irectory y ficheros de control de acceso .htaccess.

sta directiva se utiliza para especificar el tipo )+) por defecto de los archivos de los que no pueda ser determinado su tipo.
F

Rostname!ooMups Off. o (status: <uclear.

ConteLto: 1onfiguracin del !ervidor y directivas BirtualRost y .irectory.

sta directiva se utiliza para habilitar o no la b*squeda de los nombres de los clientes por resoluciones inversas de #<!. sta directiva tiene dos opciones%
o o

n, activa la b*squeda de los nombres de los clientes. %%, desactiva la b*squeda de los nombres de los clientes.

l activar la b*squeda de los nombres de los clientes traer& consigo que en los archivos de log se almacenen los nombres de los clientes y no sus direcciones +., lo cual aunque pueda parecer buena idea no lo es tanto ya que el rendimiento del servidor caer& bastante debido a que tendr& que realizar muchas peticiones #<!. 0eniendo las direcciones +. de los registros siempre que queramos podremos hacer nosotros mismos las resoluciones inversas de aquellas +.6s que nos interesen utilizando nslooMup o dig. #espu@s de n2 %% podemos especificar .ou/le. 1on esto se har& una resolucin doble de #<!. !e har& lo siguiente% !e coger& la +. del cliente y se har& un b*squeda inversa para conocer su nombre cualificado, 1<A) . 2. !e har& una b*squeda para conocer la +. del 1<A) obtenido anteriormente.
1. '.

!i la +. obtenida en el paso anterior coincide con la +. del cliente el servidor servir& el recurso solicitado. n caso contrario no lo har&.

sto se suele hacer por motivos de seguridad, pero carga much$simo el servidor ya que se deben hacer dos consultas al #<! por cada peticin. (rror!og GvarGlogGapacheGerror.log.
o o

(status: <uclear. ConteLto: 1onfiguracin del !ervidor y directivas BirtualRost.

sta directiva se utiliza para inicar cual ser& el archivo en el que se almacenar&n los log de error del servidor.
F

!og!evel warn. o (status: <uclear.


o

ConteLto: 1onfiguracin del !ervidor y directivas BirtualRost.

stablece el nivel de los mensa'es de error que se registrar&n en los archivos de log del sistema. "os niveles de error tienen una prioridad y al especificar uno se registrar&n todos aquellos mensa'es que tengan una prioridad mayor o igual.
F

!og,ormat :[h [l [u [t S:[rS: [Ms [b: common. o (status: mdulo mod9log9con%ig.so.


o

ConteLto: 1onfiguracin del !ervidor y directivas BirtualRost.

1on esta directiva podemos definir nuestros propios formatos para los archivos de log del sistema. .odemos especificar varios formatos de log con la informacin que querarmos registrar.
F

Custom!og GvarGlogGapacheGaccess.log common. o (status: mdulo mod9log9con%ig.so.


o

ConteLto: 1onfiguracin del !ervidor y directivas BirtualRost.

sta directiva se utiliza para definir un archivo de log y que tipo de log se almacenar& en ese archivo. l tipo debe de haber sido definido previamente con una directiva !og,ormat.
F

"erver"ignature On. o (status: <uclear.


o

ConteLto: 1onfiguracin del !ervidor, directivas BirtualRost, .irectory y ficheros de control de acceso .htaccess.

sta directiva tiene tres opciones%


o o o

n, Apache a,adir&a una firma a las p&ginas de error generadas autom&ticamente. A,adir& el nombre del servidor y la versin. %%, no se ad'untar& ninguna firma a las p&ginas de error. (?ail, se a,adir& un v$nculo mailto: apuntado a la direccin de correo especificada en la directiva "erverAdmin.

Alias GiconsG GusrGshareGapacheGiconsG.


o o

(status: mdulo mod9alias.so. ConteLto: 1onfiguracin del !ervidor y directivas BirtualRost.

sta directiva se utiliza para poder mostrar directorios que est&n fuera de la 'erarqu$a de .ocument1oot como si lo estuvieran.

.or e'emplo si un cliente solicitar& http:22777.midominio.es2icons el servidor le mostrar$a /$sr/share/apache/icons/ que est& fuera de la 'erarqu$a de .ocument1oot, /var/555/. .ara los directorios de scripts de 1N+ se ha de utilizar la directiva "criptAlias.
F

"criptAlias Gcgi-binG GusrGlibGcgi-binG. o (status: mdulo mod9alias.so.


o

ConteLto: 1onfiguracin del !ervidor y directivas BirtualRost.

sta directiva se utiliza para lo mismo que la directiva Alias pero es espec$fica para directorios de scripts 1N+. 0odos los archivos del directorio al que apunta son tratados como scripts 1N+.
F

Add.e%aultCharset On. o (status: <uclear.


o

ConteLto: 1onfiguracin del !ervidor y directivas BirtualRost.

sta directiva se utiliza para especificar el 'uego de car&cteres que utilizar& el servidor. sta directiva tiene tres opciones%
o o

n, utiliza el 'uego de car&cteres por defecto% iso:;;<=:1. %%, no utiliza ning*n 'uego especial de car&cteres. 2tilizar& el 'uego de car&cteres especificado por el cliente. tro conUunto alternativo de car0cteres, en este caso Apache utilizar& el 'uego especificado. .or e'emplo Add.e%aultCharset ut%:;.

Seccin de configuracin de los Servidores Virtuales


2n servidor web puede albergar varios sitios web diferentes, es decir podemos tener los sitios 777.midominio:1.es, 777.midominio:*.es, 777.midominio:-.es, ... todos en la misma m&quina y servidos por el mismo servidor web. "a forma de hacer esto es utilizando servidores virtuales. 0endremos que especificar cada sitio web dentro de un directiva OBirtualRost ...P ... O2BirtualRostP. "a configuracin dentro de cada directiva de estas para cada sitio web es similar a la que hemos visto en la configuracin del servidor principal.

Apache permite la creacin de hosts virtuales de dos formas%


Ior nom/re. 0odos los hosts virtuales tendr&n la misma direccin +. pero nombres diferentes. Ior #I. 1ada hosts tendr& su propia direccin +.. <o es necesario el tener una interface de red para cada host. .odemos hacer que una interface de red escuche en varias direcciones +., en la misma red, a la vez. .ara ello es necesario utilizar interfaces virtuales 3ip aliases4 y tener configurado el nucleo con soporte para ello.

Dynamic Shared Object (DSO


Apache soporta la carga din&mica de ob'etos. s decir permite cargar ba'o demanda ciertas partes del servidor. #e todo esto se encarga un mdulo especial llamado mod9so.so que es enlazado est&ticamente en el nucleo de Apache cuando se compila, esto significa que no se carga din&micamente. sto es necesario para permitir que cuando se inicie Apache este ya cargado y se puedan cargar el resto de los mdulos. Al estar todo modularizado tenemos la venta'a de no tener que recompilar todo el servidor cada vez que actualicemos una parte. .or e'emplo, si se descubre un fallo en el modulo mod9ssl.so no es necesario ba'arse el parche y compilar todo el servidor web, unicamente tendremos que ba'ar el cdigo fuente del mdulo, recompilarlo e instalarlo. Adem&s al estar todo modularizado permite el desarrollo de nuevos mdulos por terceras partes siendo integrados posteriormente en Apache por los desarrolladores oficiales. n el nucleo de Apache no se suelen a,adir nuevas funcionalidades, sino que se a,aden como nuevos mdulos que son cargados en el servidor.

!arando y reiniciando el servidor


Al igual que todos los servicios en los sistemas N<2G"inu( y 2<+Z se dispone de un script de arranque para Apache. !u ubicacin puede variar de una distribucin a otra pero estar& dentro del directorio init.d. <ormalmente el script de arranque estar& en /etc/init.d/. n .e/ian S852!inuL el nombre del script ser& apache, mientras que en 1ed Rat !inuL tendr& el nombre httpd.

A este script se le pasan argumentos dependiendo de lo que queramos hacer, parar, iniciar, reiniciar el servidor, ... 1ada distribucin tiene sus propios par&metros. !i queremos conocer que par&metros tiene bastar& con e'ecutar el script sin ning*n par&metro%
debian:~# /etc/init.d/apache 4sage: /etc/init.d/apache GstartHstopHreloadHreload6mod$lesHforce6 reloadHrestartI debian:~#

l significado de estos par&metros es el siguiente%


start, inicia el servidor. stop, para el servidor. reload, vuelve a cargar la configuracin del servidor en el fichero /etc/apache/httpd.conf. !i Apache ya se est& e'ecutando y hemos realizado cambios en el fichero de configuracin del servidor podemos utilizar este par&metro para que la nueva configuracin tenga efecto. s m&s r&pido que reiniciar el servidor.

reload:modules, recarga los mdulos de Apache. %orce:reload, recarga los mdulos de Apache. restart, reinicia el servidor. s equivalente a hacer un stop y luego un start.

El script apachectl
(iste un script para arrancar Apache de una manera sencilla. 1ada vez que se inicia, reinicia, ... Apache en realidad se hace a trav@s de este script. ste script es una sencilla interface en l$nea de comandos para mane'ar Apache. n .e/ian S852!inuL podemos encontrarlo en /$sr/sbin/apachectl.

Você também pode gostar