Documente Academic
Documente Profesional
Documente Cultură
Mdulo 4: Apache
1
Javier Infante Porro
Modulo 4: Apache
Desarrollado inicialmente por Rob McCool (NCSA) Es desde 1 ! el ser"idor #eb $%%& m's utili(ado en )nternet* Es multiplata+orma (,ni-. Microso+t. No"ell) /a "ersin 0 de apache se ha reescrito completamente* Es e-tremadamente estable* Modulari(ado para e"itar mantener un cdi1o e-tremadamente comple2o 3 monol4tico* Es so+t#are libre aun5ue no 6&/
2
Javier Infante Porro
Mdulo 4: Apache
Apache es un pro1rama modular 5ue permite ele1ir 5ue +uncionalidades se inclu3en* /as +uncionalidades adicionales se inclu3en mediante la seleccin de mdulos* /os mdulos pueden seleccionarse:
3
Javier Infante Porro
Mdulo 0: 8a"ascript
Apache 1*9
4
Javier Infante Porro
Mdulo 0: 8a"ascript
Mdulos car1ados e-ternamente: Apache permite car1ar mdulos independientes al archi"o binario httpd* Es posible 1racias al mdulo mod_so. 5ue debe compilarse est'ticamente en el n:cleo de Apache 3 a la herramienta apxs (A&ache e;tenSion)* Apache necesita ser compilado pre"iamente para poder utili(ar la herramienta apxs* &ara usa este mecanismo el sistema tambi<n debe soportar DS7*
5
Javier Infante Porro
Mdulo 4: Apache
/a con+i1uracin de Apache se reali(a a tra"<s de "arios +icheros de te-to 5ue son autoe-plicati"os 3 sencillos de con+i1urar El archi"o de con+i1uracin se compone de directrices. 5ue ser'n utili(adas en el conte-to correspondiente* El conte-to indica en 5u< parte del ser"idor se puede usar una directi"a*
6
Javier Infante Porro
Mdulo 4: Apache
Conte-to de Con+i1uracin de Ser"idor &ueden aparecer en cual5uier +ichero. pero no dentro de cual5uier contenedor o archi"o de con+i1uracin por directorio*
E2emplo:
ServerRoot C:/AppServ/Apoache Port 80
7
Javier Infante Porro
Mudlo 4: Apache
E2emplo:
<Files ~ "^\.ht"> Order allow,deny Deny from all Satisfy All </Files>
8
Javier Infante Porro
Mdulo 4: Apache
Conte-to de *htaccess Es posible incluir directrices dentro de los +icheros de con+i1uracin por directorio (.htaccess)
Es necesario 5ue est< acti"ada la opcin de sobreescritura (AllowOverride) para 5ue se procesen esas directi"as*
9
Javier Infante Porro
Mdulo 4: Apache
None: Desabilita el uso de *htaccess AuthConfig: ,so de directi"as de autenticacin FileInfo: ,so de directi"as de control de tipos de documentos Indexes: El uso de directi"as de control de inde-acin Limit: El uso de directi"as de control de acceso Options: El uso de directi"as de caracter4sticas de directorio All: Se permite usar todas las directi"as 10 aplicables* Javier Infante Porro
Mdulo 4: Apache
Conte-to de *htaccess En 1eneral los archi"os *htaccess no se deben usar nunca. a menos 5ue no se ten1a acceso al archi"o de con+i1uracin del ser"idor (E2: )S&) Se debe usar el contenedor <Directory> Ra(ones:
E+iciencia: Apache debe buscar +icheros *htaccess por todo el arbol de directorios. en busca de herencias Se1uridad: Se permite a los usuarios hacer cambios sobre las directi"as del ser"idor* Cambios sobre los 5ue no se tiene control*
11
Javier Infante Porro
Mdulo 4: Apache
Conte-to de *htaccess Ambos e2emplo son e5ui"alentes* Sin embar1o es m's recomendable usar el primero:
httpd.conf
<Directory /var/www> AddType text/example .exm </Directory>
Adem's ser4a necesario 5ue el directorio >"ar>### o al1:n padre inclu3ese (como m4nimo):
<Directory /var/www> AllowOverride FileInfo </Directory> 12
Javier Infante Porro
Mdulo 4: Apache
El modulo de re?escritura en apache. permite a Apache reescribir una ,R/ en base a unas re1las determinadas. antes de procesar la peticion*
)nstalacion
13
Modulo 4: Apache
Directi"as de con+i1uracin:
ewrite!n"ine on @ o++
Acti"a > desacti"a el motor de re?escritura en el contenedor donde es indicado*
Mdulo 4: Apache
15
Javier Infante Porro
Mdulo 4: Apache
Modi+icadores
G&'AH: Si est' presente. se mantendr'n los "alroes 5uer3Bstrin1 5ue Itrai1aJ la peticin. aKadiendose los 5ue indi5uemos (o no). en nuestra re1la* G(H: &arar' el proceso de reescritura despues de aplicar la re1la donde se encuentre* GT)a**$ication+*d,H: +uer(a a modi+icar el mime? t3pe de la peticin cursada* G!)variab$e-va$orH: Setea una "ariable de entorno. accesible m's tarde desde la p'1ina din'mica a la 5ue se est< accediendo*
16
Javier Infante Porro
Mdulo 4: Apache*
Modo de uso:
/as directi"as modBre#rite. deber'n ir incluidas bien en un conte-to de directorio. o bien en un +ichero *htaccess* Es importante tener en cuenta. 5ue est's directi"as. tendr'n in+luencia en el directorio donde se sit:e el *htacces o al 5ue nos re+iramos dentro del conte-to directorio del httpd*con+. as4 como en sus directorio hi2os. si <stos no tu"ieran otras directi"as modBre#rite*
17
Javier Infante Porro
Mdulo 4: Apache
E2emplo de uso:
# Si el REQUEST_URI empieza con /es/ o /en/ o /ru/ RewriteCond %{REQUEST_URI} /(es|en|ru)/.* #Re-escribo la url por con la variable de idioma pasada como argumento: RewriteRule /(.*)/(.*) /$2?idioma=$1 [QSA]
18
Javier Infante Porro
Mdulo 4: Apache
Enlaces interesantes
http:>>###*1oo1le*com
- http://httpd.apache.org/docs/1.3/mod/mod_rewrite.html - http://httpd.apache.org/docs/misc/rewriteguide.html
http:>>###.irontec*com>L2abi>mod4Bapache*pd+
19
Javier Infante Porro