Upload
tux3
View
236
Download
0
Embed Size (px)
Citation preview
7/26/2019 Manual de Supervivencia Del Administrador Apache
1/67
Manual de Supervivencia delAdministrador de ApacheEn gnu/Linux, por supuesto
10 de noviembre de 2006
Autor:Miguel Jaque Barbero
www.detodoprogramacion.com
7/26/2019 Manual de Supervivencia Del Administrador Apache
2/67
www.detodoprogramacion.com
7/26/2019 Manual de Supervivencia Del Administrador Apache
3/67
3 Manual de Supervivencia del Administrador de Apache
ndice de ContenidosCaptulo 1. Introduccin.......................................................................................................................7
1.1. ontenido....................................................................................................................................!1.2. Li"en"ia.......................................................................................................................................!1.#. $esponsabilidad...........................................................................................................................!1.%. &"er"a del &utor..........................................................................................................................'
Captulo 2. Introduccin.......................................................................................................................92.1. (ienes )uerte de *tili+ar &pa"e................................................................................................-2.2. nstala"in....................................................................................................................................-2.#. onigura"in..............................................................................................................................-2.%. &rranque arada.......................................................................................................................-2.3. ro"esos.......................................................................................................................................-
Captulo . Servidor !"sico................................................................................................................11#.1. )ervidor )en"illo.......................................................................................................................11#.2. )ervidor onigurado por 4ire"torios.......................................................................................1#
Captulo #. $osts %irtuales.................................................................................................................17%.1. 5p"iones de &rquite"tura..........................................................................................................1!%.2. osts 7irtuales por ................................................................................................................1'%.#. osts 7irtuales por uerto.........................................................................................................1-%.%. osts 7irtuales por 8ombre......................................................................................................20%.3. osts 7irtuales por 8ombre, uerto..................................................................................21
%.6. osts 7irtuales 4in9mi"os........................................................................................................22%.!. 4ire"tivas para la onigura"in de osts 7irtuales................................................................2#
Captulo &. Autenticacin...................................................................................................................2&3.1. :mo un"iona;.......................................................................................................................233.2. &utenti"a"in B9si"a.................................................................................................................263.#. &utenti"a"in B9si"a "on ermisos Espe"iales ...........................................................2'3.%. &utenti"a"in "on 4igest...........................................................................................................2-3.3. &utenti"a"in ersonali+ada......................................................................................................#03.6. 4ire"tivas para la &utenti"a"in................................................................................................#13.!. 5tras 5p"iones de &utenti"a"in..............................................................................................#2
Captulo '. (e)ociacin de Contenidos.............................................................................................6.1. 8ego"ia"in de ontenidos por Multi7ie=s.............................................................................##6.2. 8ego"ia"in de ontenidos "on (pe Maps.............................................................................#%6.#. 4ire"tivas para la 8ego"ia"in de ontenidos..........................................................................#3
Captulo 7. ndices...............................................................................................................................7!.1. 4ire"tivas para la onigura"in de ?ndi"es..............................................................................#!
Captulo *. +edirecciones...................................................................................................................9'.1. $edire""iones "on &lias............................................................................................................#-'.2. $edire""iones "on $edire"t.......................................................................................................#-
'.#. $e=rite......................................................................................................................................#-'.%. 4ire"tivas para la onigura"in de $edire""iones...................................................................%1
Captulo 9. Contenidos ,in"micos con C-I.....................................................................................#
www.detodoprogramacion.com
7/26/2019 Manual de Supervivencia Del Administrador Apache
4/67
Miguel Jaque Barbero ([email protected] !
-.1. :@uA es ;.............................................................................................................................%#-.2. ECemplo de .........................................................................................................................%#-.#. onigura"in de s para *suarios.......................................................................................%3-.%. 4ire"tivas para la onigura"in de ..................................................................................%6
Captulo 1. Server Side Includes......................................................................................................#710.1. ECemplo de ))........................................................................................................................%'10.2. ECemplo &van+ado de )).......................................................................................................%-
Captulo 11. /o))in)...........................................................................................................................&111.1. Di"eros de Log.......................................................................................................................3111.2. 4ire"tivas para la onigura"in de Logs...............................................................................32
Captulo 12. 0$0.................................................................................................................................&12.1. nstala"in onigura"in.....................................................................................................3#12.2. omprobando que Dun"iona....................................................................................................3%
12.#. ra"ti"ando "on ...............................................................................................................3%12.%. ManeCo de Dormularios............................................................................................................3312.3. Evitando el aos......................................................................................................................36
Captulo 1. Aplicaciones e con /AM0.......................................................................................&71#.1. nstala"in onigura"in de M)@L..................................................................................3!1#.2. one"tando "on la Base de 4atos............................................................................................3'1#.#. ECe"utando )enten"ias )@L.....................................................................................................3'1#.%. nsertando 4atos......................................................................................................................3-1#.3. onsultas de )ELE(.............................................................................................................60
Captulo 1#. Secure Soc3ets /a4er 5SS/6..........................................................................................'11%.1. omo Dun"iona ))L................................................................................................................611%.2. nstala"in................................................................................................................................611%.#. onigura"in..........................................................................................................................621%.%. ECemplo....................................................................................................................................62
Captulo 1&. Conseos para Meorar la Se)uridad...........................................................................'13.1. Mantente al 4a.......................................................................................................................6#13.2. rotege los Di"eros de onigura"in....................................................................................6#13.#. 7igila los Logs.........................................................................................................................6#13.%. Evita los ...........................................................................................................................6#
13.3. Evita ))..................................................................................................................................6%13.6. Evita los ontenidos 4in9mi"os en eneral...........................................................................6%13.!. 7igila los Enla"es )imbli"os.................................................................................................6%13.'. a+ opias de )eguridad.........................................................................................................6%
Captulo 1'. 8ptimiacin de +endimiento......................................................................................'&16.1. M9s $&M................................................................................................................................6316.2. *sa Linux 2.% o )uperior.........................................................................................................6316.#. Evita la $esolu"in de 48)s nversos....................................................................................6316.%. Evita los Enla"es )imbli"os...................................................................................................6616.3. Evita los Di"eros .ta""ess.....................................................................................................6616.6. La 8ego"ia"in de ontenidos................................................................................................6616.!. Evita ))..................................................................................................................................66
www.detodoprogramacion.com
7/26/2019 Manual de Supervivencia Del Administrador Apache
5/67
" Manual de Supervivencia del Administrador de Apache
16.'. ompila (u &pa"e.................................................................................................................66Captulo 17. !ilio)raa.....................................................................................................................'7
www.detodoprogramacion.com
7/26/2019 Manual de Supervivencia Del Administrador Apache
6/67
www.detodoprogramacion.com
7/26/2019 Manual de Supervivencia Del Administrador Apache
7/67
# Manual de Supervivencia del Administrador de Apache
Captulo 1. Introduccin
1.1. Contenido
Este do"umento no es un manual "ompleto de &pa"e. (ampo"o es una gua paraprogramadores =eb ni, mu"o menos, para quienes deseen "olaborar en la programa"indel )ervidor Feb &pa"e. )implemente es una ua $9pida de $eeren"ia para quienestengan la suerte de administrar un )ervidor Feb &pa"e.
8aturalmente, este do"umento "ontiene errores de este do"umento pertene"en a su autor,Miguel Jaque Barbero 2006.
)e "on"ede permiso para "opiar, distribuir /o modii"ar este do"umento baCo lostArminos de la Li"en"ia 8* de 4o"umenta"in Libre , versin 1.1 o "ualquier versin posterior publi"ada por la Dunda"in de)ot=are Libre K sin se""iones invariantes, ni textos deportada o "ontraportada.
*na "opia de esta li"en"ia est9 disponible en ttp//===.gnu.org/"oplet/dl.tml.
(odos los dere"os de reprodu""in
7/26/2019 Manual de Supervivencia Del Administrador Apache
8/67
Miguel Jaque Barbero ([email protected] $
1.4. Acerca del Autor
Miguel Jaque Barbero na"i en Bar"elona en 1-6'. Es ngeniero )uperior de(ele"omuni"a"in por la *niversidad olitA"ni"a de Madrid M9ster en &dministra"in
de Empresas por el nstituto de Empresa de Madrid.a desarrollado toda su "arrera proesional en el se"tor de la ingeniera de sot=are ,desde 1--- "entrado ex"lusivamente en te"nologas de sot=are libre a travAs de lIeBenson
7/26/2019 Manual de Supervivencia Del Administrador Apache
9/67
% Manual de Supervivencia del Administrador de Apache
Captulo 2. Introduccin
2.1. Tienes Suerte de Utilizar Apace
)in duda &pa"e es uno de los meCores servidores =eb que existen o. ara mu"os, elmeCor.
4esde su "rea"in1 en 1--3 a dominado el mer"ado de servidores .
o, &pa"e es desarrollado por una "omunidad de voluntarios que tiene su sede en===.apa"e.org. &ll podr9s en"ontrar toda la do"umenta"in detallada.
2.2. Instalacin
on 4ebian, la instala"in de &pa"e es mu sen"illa. Basta "on eCe"utar el "omando
# apt-get install apache2
G tendr9s el servidor =eb instalado.
2.3. Con!i"uracin
La "onigura"in de 4ebian, por dee"to, in"lue
Los ar"ivos de "onigura"in de &pa"e en /var/www
2.4. Arran#ue $ %arada
&pa"e se eCe"uta "omo un demonio. ara arran"arlo basta "on eCe"utar el "omando
# /etc/init.d/apache2 start
G para detenerlo
# /etc/init.d/apache2 stop
E"9ndole un vista+o al s"ript ver9s que el "omando querealmente arran"a detiene &pa"e es apa"e2"tl. onsultando la p9gina de manual ver9s que tiene mu"as m9s op"iones que start stop.
2.&. %rocesos
&unque &pa"e se eCe"uta ini"ialmente "omo root, pues en un sistema Linux slo rootest9 autori+ado a abrir so"Iets en puertos por debaCo del 1000, &pa"e es"u"a, pordee"to, en el tradi"ional puerto '0 del proto"olo ((.
&l arran"ar &pa"e el pro"eso de root arran"ar9 otros pro"esos iCos que a se eCe"utan
"on otro usuario grupo menos peligroso que root. or dee"to estos pro"esos iCos seeCe"utan "on el usuario ;;;
7/26/2019 Manual de Supervivencia Del Administrador Apache
10/67
Miguel Jaque Barbero ([email protected] &'
tiene permiso para leer los do"umentos que debe servir &pa"e.
El pro"eso ini"ial no atender9 ninguna peti"in de "liente para evitar as problemas deseguridad. En su lugar, ser9n los pro"esos iCos quienes se en"arguen de servir las
p9ginas.uedes "omprobar todo esto "on el "omando ps -aux para ver los pro"esos eneCe"u"in en tu sistema.
www.detodoprogramacion.com
7/26/2019 Manual de Supervivencia Del Administrador Apache
11/67
&& Manual de Supervivencia del Administrador de Apache
Captulo 3. Ser'idor ()sico
El i"ero de "onigura"in de &pa"e que 4ebian instala por dee"to, aunque es mu bueno, es tambiAn mu"ompli"ado no nos sirve para expli"ar los "on"eptos m9s elementales de &pa"e.
&s que vamos a "ambiarlo
7/26/2019 Manual de Supervivencia Del Administrador Apache
12/67
Miguel Jaque Barbero ([email protected] &
3.1.1. Directivas Bsicas
Ser'er*a+e
Estable"e el nombre "on el que el servidor se "ono"e a s mismo.
Esta dire"tiva se utili+a para las redire""iones. Es de"ir, "uando &pa"ele tiene que indi"ar al "liente otra dire""in a la que tieneque ir.
Es importante que ese nombre se pueda resuelver por 48). 4e lo"ontrario el "liente no podr9 a""eder a la p9gina redire""ionada.
Ser'erRoot
Estable"e el dire"torio en el que se en"uentran los i"eros de"onigura"in de &pa"e.
G si &pa"e no "ono"e el dire"torio de "onigura"in, :"mo puedea""eder a Aste i"ero de "onigura"in;
La respuesta a esta paradoCa es que &pa"e puede arran"arse pas9ndole"omo par9metro un i"ero de "onigura"in. ero puede o"urrir que enel i"ero de "onigura"in agamos reeren"ia a otros i"eros quedeben in"luirse.
,ocu+entRoot
Estable"e el dire"torio en el que se en"uentran los i"eros que &pa"eservir9 a los "lientes .
%id-ile
Estable"e el i"ero en el que se guardar9 el nNmero del pro"eso de&pa"e.
Este i"ero es el que se lee "uando a que parar/matar el pro"eso.
User
Estable"e el usuario "on el que se eCe"utar9 &pa"e.
Bueno, realmente el pro"eso &pa"e se eCe"uta "omo root, porquenormalmente tiene que abrir un so"Iet de es"u"a para el puerto '0 ,en 5)P, slo root puede abrir puertos por debaCo del 1000.
)in embargo, tras arran"ar ese primer pro"eso "omo root, &pa"e "reavarios pro"esos iCos que se eCe"utan "on el usuario estable"ido en estadire"tiva . Estos pro"esos ser9n quienesrealmente atender9n las peti"iones de los usuarios.
roup
Estable"e el grupo "on el que se eCe"utar9 &pa"e
7/26/2019 Manual de Supervivencia Del Administrador Apache
13/67
&3 Manual de Supervivencia del Administrador de Apache
/rrorLo"
Estable"e el i"ero de log de errores de &pa"e.
En este i"ero se registrar9n los allos de a""eso, intentos de a""eso a
re"ursos sin autori+a"in, p9ginas no en"ontradas, et".
Listen
Estable"e la dire""in el puerto en el que es"u"ar9 &pa"e.
or dee"to, &pa"e es"u"ar9 en todas las dire""iones abilitadasen la m9quina.
,irector$Inde0
Estable"e los nombres de i"eros que servir9n "omo ndi"es al a""eder
a un dire"torio sin indi"ar ningNn re"urso "on"reto.&s, si un usuario soli"ita ===.mi=eb.org/dir1/ &pa"e bus"ar9 en esedire"torio i"eros "on el nombre indi"ado en esta dire"tiva paraentreg9rselos.
T$pesCon!i"
Estable"e el i"ero "on la lista de tipos Mime.
Los tipos Mime "onstituen un est9ndar que rela"iona tipos de i"eros"on sus extensiones le permiten a &pa"e inormar al navegador del
tipo de i"ero que le est9 entregando. &s, el navegador de"ide "omopresentarlo
,e!aultT$pe
Estable"e el tipo Mime por dee"to para aquellos i"eros "uaextensin no igure en la lista de tipos Mime.
3.2. Ser'idor Con!i"urado por ,irectorios
En el servidor sen"illo que a"abamos de ver, la "onigura"in es la misma para todos losdo"umentos que estemos publi"ando.
En algunos "asos puede interesarnos tener "onigura"iones dierentes para distintosdire"torios e in"luso para distintos i"eros.
ara eso, podemos utili+ar un i"ero de "onigura"in "omo el siguiente
www.detodoprogramacion.com
7/26/2019 Manual de Supervivencia Del Administrador Apache
14/67
Miguel Jaque Barbero ([email protected] &!
#(ichero de 4oniguracin *5% 657+S
ServerName "aym.juntae.es"
Server%oot "/etc/apache2"!ocument%oot "/var/'''"*id(ile /var/run/apache2.pid+ser '''-dataroup '''-datarrorog /var/log/apache2/error.logisten 013ypes4onig /etc/mime.types!eault3ype tet/plain
!irectorynde inde.html inde.htm
#stablecemos la coniguracin de cada directorio
7/26/2019 Manual de Supervivencia Del Administrador Apache
15/67
&" Manual de Supervivencia del Administrador de Apache
ption
Modii"a las op"iones que se apli"an a un dire"torio.
Las op"iones se aaden respe"to a las que en
ese momento se apli"asen sobre el dire"torio.Mediante esta dire"tiva pueden aadirse/quitarse las siguientesop"iones &ll, Exe", Dollo=)mLinIs, n"ludes,n"ludes85EPE, ndexes, Multivie=s )mLinIs5=nerMat".
-ile
ndi"a que el bloque de "onigura"in que abar"a se apli"ar9 a los i"eros "uo nombre "oin"ida "on elindi"ado.
(ambiAn a una dire"tiva TDileMat"U que permite utili+arexpresiones regulares. &s, un mismo bloque de "onigura"in puedeapli"arse a varios i"eros.
Location
ndi"a que el bloque de "onigura"in que abar"a se apli"ar9 a las lo"ali+a"iones que "oin"idan "on la indi"ada.
La Rlo"ali+a"inS es la dire""in que soli"ita el "liente. DCate que no eslo mismo que el sistema de i"eros
7/26/2019 Manual de Supervivencia Del Administrador Apache
16/67
www.detodoprogramacion.com
7/26/2019 Manual de Supervivencia Del Administrador Apache
17/67
Manual de Supervivencia del Administrador de Apache
Captulo 4. osts 5irtuales
(ener todo un servidor &pa"e para atender slo un sitio =eb es una pArdida de re"ursos.
&pa"e es "apa+ de atender, desde una sola m9quina a todo un "onCunto de sitios =eb. Esde"ir, podemos servir al mismo tiempo peti"iones para am.Cuntaex,es, bs.Cuntaex.es,===.ilIebenson."om, ===.apa"e.org, ===.Iernel.org...
Esto se a"e utili+ando Rosts virtualesS.
4.1. pciones de Ar#uitectura
ara atender varios sitios =eb primero debemos "onseguir que las peti"iones de los
"lientes para esas *$Ls lleguen asta nuestro servidor. Este es un problema de la"onigura"in de 48)s que, "omo administradores de &pa"e, no nos "orresponde.
ero, si lo que quieres es a"er pruebas, puedes modii"ar el i"ero osts de tus "lientes
7/26/2019 Manual de Supervivencia Del Administrador Apache
18/67
Miguel Jaque Barbero ([email protected] &$
4.2. osts 5irtuales por I%
)upongamos en primer lugar, que nuestro servidor atiende dos dire""iones queasignamos "ada una de ellas a un sitio =eb.
El i"ero de "onigura"in sera el siguiente
#(ichero de 4oniguracin para ?5S3S @%3+$S *5% *
Server%oot "/etc/apache2"!ocument%oot "/var/'''"*id(ile /var/run/apache2.pid+ser '''-dataroup '''-datarrorog /var/log/apache2/error.logisten 013ypes4onig /etc/mime.types!eault3ype tet/plain
!irectorynde inde.html inde.htm
#stablecemos la coniguracin para cada ?ost @irtual
7/26/2019 Manual de Supervivencia Del Administrador Apache
19/67
&% Manual de Supervivencia del Administrador de Apache
4.3. osts 5irtuales por %uerto
agamos lo mismo, pero en una de las dire""iones , utili"emos dos puertos (/
distintos para atender dos sitios dierentes.El i"ero de "onigura"in sera el siguiente
#(ichero de 4oniguracin para ?5S3S @%3+$S *5% * E *+%35
Server%oot "/etc/apache2"!ocument%oot "/var/'''"*id(ile /var/run/apache2.pid+ser '''-dataroup '''-datarrorog /var/log/apache2/error.logisten 01
3ypes4onig /etc/mime.types!eault3ype tet/plain
!irectorynde inde.html inde.htm
#ndicamos el puerto de cada sitio 'eb
7/26/2019 Manual de Supervivencia Del Administrador Apache
20/67
Miguel Jaque Barbero ([email protected] '
4.4. osts 5irtuales por *o+bre
G aora, "oniguremos el servidor utili+ando los nombres de "ada sitio =eb
#(ichero de 4oniguracin para ?5S3S @%3+$S *5% N5G6%
Server%oot "/etc/apache2"!ocument%oot "/var/'''"*id(ile /var/run/apache2.pid+ser '''-dataroup '''-datarrorog /var/log/apache2/error.logisten 013ypes4onig /etc/mime.types!eault3ype tet/plain
!irectorynde inde.html inde.htm
#a coniguracin de hosts virtuales por nombre se aplica a las#peticiones recibidas en esta *Nae+irtua*o&t ,-2.,.2.,
#4oniguramos haciendo reerencia a cada sitio por su nombre
7/26/2019 Manual de Supervivencia Del Administrador Apache
21/67
& Manual de Supervivencia del Administrador de Apache
4.&. osts 5irtuales por *o+bre6 I% $ %uerto
ara "ompletar el eCemplo, "oniguremos el servidor utili+ando todas las op"iones
#(ichero de 4oniguracin para ?osts @irtuales
Server%oot "/etc/apache2"!ocument%oot "/var/'''"*id(ile /var/run/apache2.pid+ser '''-dataroup '''-datarrorog /var/log/apache2/error.logisten 013ypes4onig /etc/mime.types!eault3ype tet/plain
!irectorynde inde.html inde.htm
Nae+irtua*o&t ,-2.,.2.,
7/26/2019 Manual de Supervivencia Del Administrador Apache
22/67
Miguel Jaque Barbero ([email protected]
4.7. osts 5irtuales ,in)+icos
ero... :quA pasa si tenemos que "onigurar de"enas, "ientos o in"luso miles de sitios =eb
tal "omo o"urre en un );ara eso tenemos la op"in de osts 7irtuales 4in9mi"os. 7eamos un eCemplo
#(ichero de 4oniguracin para ?osts @irtuales !in,micos
ServerName "sabio"Server%oot "/etc/apache2"!ocument%oot "/var/'''"*id(ile /var/run/apache2.pid+ser '''-dataroup '''-data
rrorog /var/log/apache2/error.logisten 013ypes4onig /etc/mime.types!eault3ype tet/plainrrorog /tmp/juntaeA%%5%.log
!irectorynde inde.html inde.htm
#4argamos el mdulo que nos permite hacer coniguracin din,mica de#hosts virtualesIncude /etc/apache2/od&'aaia4e/ho&t5aia&.oad
#e indicamos a $pache que utilice como nombre 8ServerName9 el de la#peticin recibida6&eCanonicaNae Off
#stablecemos el !ocument%oot para cada sitio 'eb que atendemos.+irtuaocuent7oot /ar/$$$/8,.1
ero, si tenemos mu"os sitios =eb, tambiAn puede ser Ntil que "ada uno de ellos tenga supropio i"ero de "onigura"in .
Esto podemos "onseguirlo "argando todos los i"eros de "onigura"in de los sitiosvirtuales desde un dire"torio.
odramos a"erlo utili+ando la siguiente lnea en el i"ero de "onigura"in de &pa"e
nclude /etc/apache2/sites-enabled/HI.#JK
Esta dire"tiva in"lue en el i"ero de "onigura"in todos los i"eros que en"uentre enel dire"torio indi"ado.
www.detodoprogramacion.com
7/26/2019 Manual de Supervivencia Del Administrador Apache
23/67
3 Manual de Supervivencia del Administrador de Apache
4.8. ,irecti'as para la Con!i"uracin de osts 5irtuales
7eamos las dire"tivas que emos utili+ado
5irtualostndi"a que el bloque de "onigura"in que abar"a se apli"a al sitio =eb indi"ado.
ada ost virtual se puede identii"ar por , uerto o por nombre.
*a+e5irtualost
Estable"e la dire""in sobre la que se "onigurar9n osts virtuales.
5irtual,ocu+entRoot
Estable"e din9mi"amente la ra+ de los do"umentos
7/26/2019 Manual de Supervivencia Del Administrador Apache
24/67
www.detodoprogramacion.com
7/26/2019 Manual de Supervivencia Del Administrador Apache
25/67
" Manual de Supervivencia del Administrador de Apache
Captulo &. Autenticacin
En mu"as o"asiones querremos restringir el a""eso a algunos re"ursos . on&pa"e podemos estable"er me"anismos de usuario "ontrasea, para limitar el a""eso.&dem9s, los usuarios pueden in"luirse en grupos estable"er permisos para estos Nltimos.
XE$5 *4&45Y la transmisin de inorma"in tiene una en"ripta"in mu dAbil. 8omontes ninguno de los me"anismos que veremos a "ontinua"in si no utili+as tambiAn))L. ualquier snier podr9 9"ilmente robarte las "ontraseas.
&.1. 9C+o !unciona:
*na ve+ que estable"emos que un determinado re"urso de nuestro servidor requiereautenti"a"in, al intentar a""eder a Al &pa"e devuelve al "liente un mensaCe %01
7/26/2019 Manual de Supervivencia Del Administrador Apache
26/67
Miguel Jaque Barbero ([email protected] )
&.2. Autenticacin ()sica
on este me"anismo la "ontrasea es enviada en "laro por la red, o "omo mu"o, "on una
"odii"a"in en base 6% . 7eamos un eCemplo
#(ichero de 4oniguracin con $utenticacin 6,sica
ServerName "sabio"Server%oot "/etc/apache2"!ocument%oot "/var/'''"*id(ile /var/run/apache2.pid+ser '''-dataroup '''-datarrorog /var/log/apache2/error.logisten 01
3ypes4onig /etc/mime.types!eault3ype tet/plain!irectorynde inde.html inde.htm
Name@irtual?ost BC2.BD0.1.LB:@irtual?ost aym.juntae.es;
ServerName "aym.juntae.es"!ocument%oot "/var/'''/aym"rrorog /tmp/aymA%%5%.log3ranserog /tmp/aymA$44SS.log:!irectory /var/'''/aym/pac;
#stablecemos el tipo de 4ontrol de $cceso que se#utili&ar, para acceder a este directorio9uth:!pe ;a&ic
#e damos un nombre al entorno privado que protegemos9uthNae "Inforacin riada de a 9C"
#(ichero con la inormacin de los usuarios autori&ados y#sus contraseMas 8encriptadas9.9uth6&erFie /u&r/cur&oapache/u&er&
#(ichero con la inormacin de los grupos y sus usuarios#miembros.9uth=roupFie /u&r/cur&oapache/group&
#stablecemos el nivel de seguridad para este directorio.re>uire aid'u&er#5tros valores posibles sonF
# require user usuarioB usuario2 ... lista con los# usuarios autori&ados# require group grupoB grupo2 ... lista con los# grupos autori&ados# require user usuB usu2 group grB gr2 ... una# combinacin de ambos
:/!irectory;:/@irtual?ost;
www.detodoprogramacion.com
7/26/2019 Manual de Supervivencia Del Administrador Apache
27/67
# Manual de Supervivencia del Administrador de Apache
5.2.1. Ficheros de Usuarios !rupos
La inorma"in "on los usuarios las "ontraseas se guarda en el i"erosealado por la dire"tiva &ut*serDile. Este i"ero tendr9 algo pare"ido a
usuBFaprBEm2v...>$t2gByDd5StO1OP>a2.usu2FaprB1!1n/..cv0e$61(y>j/*no*/1D.
G, naturalmente, debe estar donde ningNn usuario del servidor =eb pueda llegara leerlo.
omo po"a gente es "apa+ de es"ribir dire"tamente la "ontrasea en"riptada,&pa"e in"lue una apli"a"in para gestionar este i"ero. )e trata dehtpasswd2.
ara "rear un i"ero "omo el del eCemplo, tendremos que eCe"utar los siguientes"omandos
# htpass'd2 -cm /usr/cursoapache/users usuB# htpass'd2 -m /usr/cursoapache/users usu2
El primero "rea el i"ero le aade el usuario usu1. La op"in " indi"a que se debe"rear un nuevo i"ero la op"in m que la "ontrasea se en"riptar9 "on M43.
El segundo "omando simplemente aade el usuario us2 al i"ero a "reado.
En ambos "asos se nos preguntar9 por la "ontrasea.
El i"ero de grupos "ontiene la inorma"in de estos, indi"ando quA usuariospertene"en a "ada grupo. 8o requiere ningNn "omando, pues se trata de un simplei"ero de texto, "on una estru"tura "omo la siguiente
pacF usuB usu2desarrolloF progB prog2
DCate que los usuarios de "ada grupo no se separan por "omas
7/26/2019 Manual de Supervivencia Del Administrador Apache
28/67
Miguel Jaque Barbero ([email protected] $
&.3. Autenticacin ()sica con %er+isos /speciales ;Allo
7/26/2019 Manual de Supervivencia Del Administrador Apache
29/67
% Manual de Supervivencia del Administrador de Apache
&.4. Autenticacin con ,i"est
odemos meCorar algo la seguridad utili+ando 4igest. En lugar de enviar la "ontrasea en"laro por la red, "on 4igest las "ontraseas no viaCan porla red.
En lugar de eso, al pedir un re"urso protegido, el servidor enva al "liente un nNmero. Le basta "on guardar otro digest basado en la misma"ontrasea para poder "omprobarlo.
iertamente, este me"anismo redu"e el riesgo de "aptura de "ontraseas. 7eamos uneCemplo
#(ichero de 4oniguracin con $utenticacin con !igest
ServerName "sabio"Server%oot "/etc/apache2"!ocument%oot "/var/'''"*id(ile /var/run/apache2.pid+ser '''-data
roup '''-datarrorog /var/log/apache2/error.logisten 013ypes4onig /etc/mime.types!eault3ype tet/plainrrorog /tmp/juntaeA%%5%.log!irectorynde inde.html inde.htm
Name@irtual?ost BC2.BD0.1.LB
#4argamos el mdulo que necesitamosIncude /etc/apache2/od&'aaia4e/auth5dige&t.oad
:@irtual?ost aym.juntae.es;ServerName "aym.juntae.es"Server$dmin "'ebmasterUaym.juntae.es"!ocument%oot "/var/'''/aym"rrorog /tmp/aymA%%5%.log3ranserog /tmp/aymA$44SS.log:!irectory /var/'''/aym/pac;
9uth:!pe ige&t$uthName "pac"#(ichero con los !igest de los usuarios autori&ados9uthige&tFie /u&r/cur&oapache/dige&trequire valid-user
:/!irectory;:/@irtual?ost;
www.detodoprogramacion.com
7/26/2019 Manual de Supervivencia Del Administrador Apache
30/67
Miguel Jaque Barbero ([email protected] 3'
5.".1. Fichero de Digest
La gestin del i"ero de digest en el servidor se reali+a "on la apli"a"in tdigest2. araaadir los mismos usuarios que tenamos, debemos reali+ar los siguientes "omandos
# htdigest -c /usr/cursoul/digest pac usuB# htdigest /usr/cursoul/digest pac usu2
4e nuevo, la op"in " en el primer "omando "rear9 el i"ero.
DCate que es ne"esario pasarle al "omando el nombre del entorno protegido
7/26/2019 Manual de Supervivencia Del Administrador Apache
31/67
3& Manual de Supervivencia del Administrador de Apache
&.7. ,irecti'as para la Autenticacin
7eamos las dire"tivas que emos utili+ado
AutT$peEstable"e el tipo de autenti"a"in de usuario que se utili+ar9.
Los valores posibles son Basi" 4igest.
Aut*a+e
Estable"e el nombre para el espa"io protegido.
AutUser-ile
Estable"e el i"ero del servidor que guarda la inorma"in de usuarios sus "ontraseas en"riptadas
7/26/2019 Manual de Supervivencia Del Administrador Apache
32/67
Miguel Jaque Barbero ([email protected] 3
Access-ile*a+e
Estable"e el nombre para los i"eros de "onigura"in distribuidos.
Allo
7/26/2019 Manual de Supervivencia Del Administrador Apache
33/67
33 Manual de Supervivencia del Administrador de Apache
Captulo 7. *e"ociacin de Contenidos
&pa"e es "apa+ de entregar re"ursos dierentes en un"in de las preeren"ias del "liente.Es de"ir, que para un "liente italiano, &pa"e puede entregare la versin italiana de undo"umento para un oreano, entregarle la versin "oreana .
Esta adapta"in a las preeren"ias del "liente no se limita al idioma. (ambiAn puedeapli"arse a
>ipo Mime de documento. or eCemplo, entregando im9genes en ormato Cpgpara navegadores antiguos en png para los m9s modernos.
/a conunto de caracteres del recurso 5charset6. 7ariando entre isoQ''3-Q13para "lientes del sur de Europa e isoQ''3-Q3 para los "lientes tur"os.
/a codiicacin 5encondin)6. 7ariando entre un re"urso "omprimido "omo g+ip otro "omo rar.
? el Idioma, men"ionado anteriormente.
ara "onseguir todo esto, &pa"e dispone de dos me"anismos dierentes.
7.1. *e"ociacin de Contenidos por >ulti5ie
7/26/2019 Manual de Supervivencia Del Administrador Apache
34/67
Miguel Jaque Barbero ([email protected] 3!
7.2. *e"ociacin de Contenidos con T$pe >aps
La segunda orma que tenemos para nego"iar "ontenidos es mediante mapas de tipos, tambiAn "ono"idos "omo i"eros .var. 7amos "on el eCemplo
#(ichero de 4oniguracin para Negociacin de 4ontenidos por 3ype#Gaps
ServerName "sabio"Server%oot "/etc/apache2"!ocument%oot "/var/'''"*id(ile /var/run/apache2.pid+ser '''-dataroup '''-datarrorog /var/log/apache2/error.logisten 013ypes4onig /etc/mime.types!eault3ype tet/plainrrorog /tmp/juntaeA%%5%.log!irectorynde inde.html inde.html
#stablecemos el manejador para los icheros .var9dd*ander t!pe'ap ar
Name@irtual?ost BC2.BD0.1.LB:@irtual?ost aym.juntae.es;
ServerName "aym.juntae.es"!ocument%oot "/var/'''/aym"
:!irectory /var/'''/aym/;# n este directorio< el ndice ser, un ichero .varirector!Inde inde.ar
:/!irectory;:/@irtual?ost;
Este me"anismo es mu"o m9s potente permitira in"luso nego"iar plugins.
7eamos aora "omo es"ribimos el i"ero [email protected] que nos permita mostrar losndi"es en "ada idioma.
# stablecemos el nombre del ichero y el tipo de variacin+%F indeV varyW"language"# tambiQn podemos variar por type< charset y enconding
# Si 4ontent-language es es< el ichero ser, inde.es.html+%F inde.es.html4ontent-typeF tet/html4ontent-languageF es
+%F inde.en.html4ontent-typeF tet/html4ontent-languageF en
www.detodoprogramacion.com
7/26/2019 Manual de Supervivencia Del Administrador Apache
35/67
3" Manual de Supervivencia del Administrador de Apache
Los i"eros .var tambiAn pueden in"luir "ontenido en lnea. Este es un eCemplo, dedo"umento de error "on varia"in
+%F O1OV varyWXlanguageX
4ontent-languageF es4ontent-typeF tet/htmlV charsetWS5-00LC-B6odyF----------es--l documento solicitado :b;RN5 S3Y:/b;*or avor contacte con el:a hreW"mailtoFinoUino.ino";'ebmaster:/a;en caso de que usted crea que eiste un error en el servidor.----------es--
4ontent-languageF en4ontent-typeF tet/htmlV charsetWS5-00LC-B6odyF----------en--3he requested document :b;SNZ3 ?%:/b;*lease contact:a hreW"mailtoFinoUino.ino";'ebmaster:/a;i you presume there is an error in this server.----------en--
ara a"tivar este do"umento de error, nos basta "on aadir la dire"tiva
rror!ocument O1O /errores/O1O.html.var
7.3. ,irecti'as para la *e"ociacin de Contenidos
7eamos las dire"tivas utili+adas
AddLan"ua"e
&so"ia una extensin "on un determinado idioma .
Lan"ua"e%riorit$
Estable"e las prioridades de los idiomas por si el navegador no indi"a
ninguna preeren"ia./rror,ocu+ent
&so"ia un do"umento a un mensaCe de error.
a otras dire"tivas, "omo 5ptions &ddandler que a abamos visto en "aptulosanteriores.
www.detodoprogramacion.com
7/26/2019 Manual de Supervivencia Del Administrador Apache
36/67
www.detodoprogramacion.com
7/26/2019 Manual de Supervivencia Del Administrador Apache
37/67
3# Manual de Supervivencia del Administrador de Apache
Captulo 8. ?ndices
En o"asiones puede resultar imposible mantener a"tuali+ada la p9gina de ndi"e de undire"torio. or eCemplo, si se trata de un dire"torio de des"argas en el que varios usuariospueden subir inorma"in para que otros a""edan a ella.
&dem9s, para quA vamos a trabaCar a"iendo ndi"es en (ML si &pa"e puede a"erlospor nosotros.
&pa"e dispone de dire"tivas no solo para reali+ar ndi"es mu potentes, sino tambiAnpara personali+arlos aadiendo o quitando op"iones.
7eamos "omo "onigurarlos
:@irtual?ost aym.juntae.es;ServerName "aym.juntae.es"!ocument%oot "/var/'''/curso/aym":!irectory /var/'''/curso/aym/ormularios;
#stablecemos ndices bonitos para este directorioIndeOption& Fanc!Indeing
#$Madimos una descripcin para algunos recursos9dde&cription "Foruario de Contacto" contacto.ht
#?acemos que algunos elementos no apare&can en el ndiceIndeIgnore .3pgIndeIgnore ..
:/!irectory;:/@irtual?ost;
8.1. ,irecti'as para la Con!i"uracin de ?ndices
a mu"as dire"tivas que nos permitir9n "onigurar los ndi"es. &qu a algunas
Inde0ptions
Estable"e las op"iones para los ndi"es. ueden ser, entre otras4es"riptionFidt, Dan"ndexing, DoldersDirst, "ons&reLinIs,"oneigt, "onFidt, gnorease, )"an(ML(itles ...
Inde0I"nore
Estable"e que i"eros no apare"er9n en el ndi"e.
Add,escription
&ade una des"rip"in para uno o varios i"eros del ndi"e.
AddIcon
&so"ia un i"ono a un i"ero o tipo de i"eros
www.detodoprogramacion.com
7/26/2019 Manual de Supervivencia Del Administrador Apache
38/67
www.detodoprogramacion.com
7/26/2019 Manual de Supervivencia Del Administrador Apache
39/67
3% Manual de Supervivencia del Administrador de Apache
Captulo @. Redirecciones
En o"asiones es ne"esario mover las "osas de sitio. a que mover dire"torios de un sitioa otro, trasladar i"eros ... queremos que nuestros "lientes sigan a""ediendo "omo loa"an antes.
ara "onseguirlo tenemos tres me"anismos
@.1. Redirecciones con Alias
&lias nos permite dar a""eso a re"ursos que no est9n en la dire""in indi"ada por ladire"tiva 4o"ument$oot.
or eCemplo,
:@irtual?ost aym.juntae.es;ServerName "aym.juntae.es"!ocument%oot "/var/'''/aym"
#!amos acceso a un directorio que N5 est, en !ocument%oot9ia& /4iene&tar&ocia /ar/$$$/4&
#3ambiQn podemos crear accesos a directorios de !ocument%oot9ia& /pro!, /ar/$$$/a!/de&arroo/pro!,/te&t
:/@irtual?ost;
@.2. Redirecciones con Redirect
$edire"t aso"ia una *$L antigua "on una nueva. La nueva *$L es notii"ada al "lientepara que reali"e la "onexin "on ella.
or eCemplo
:@irtual?ost aym.juntae.es;
ServerName "aym.juntae.es"!ocument%oot "/var/'''/curso/aym"
#%edireccionamos a los clientes a la nueva 'eb7edirect /pac http0//$$$.agraia.e&
:/@irtual?ost;
@.3. Re
7/26/2019 Manual de Supervivencia Del Administrador Apache
40/67
Miguel Jaque Barbero ([email protected] !'
#4argamos el mdulo que necesitamosnclude /etc/apache2/mods-available/re'rite.load
Name@irtual?ost BC2.BD0.1.LB:@irtual?ost aym.juntae.es;
ServerName "aym.juntae.es"!ocument%oot "/var/'''/curso/aym"
#$ctivamos el motor de re'rite%e'ritengine on
#stablecemos el ichero de log%e'riteog /tmp/logAre'rite
#stablecemos el nivel de log%e'riteogevel C
#a direccin aym.juntae.es/ino/ la redirigimos a agralia%e'rite%ule I/ino/ httpF//'''.agralia.es
:/@irtual?ost;
ero a reglas de re=rite mu"o m9s "ompli"adas Ntiles. or eCemplo, imaginemos quetenemos una p9gina =eb "uo "ontenido depende de un par9metro . El problema es que ni a los seres umano ni tampo"o a los bus"adores lesgusta re"ordar una *$L del tipo ttp//am.Cuntaex.es/prog.pp;op"ionZ1. reerimos las*$L) dire"tas.
:@uA podemos a"er;
odemos rees"ribir las peti"iones que nos lleguen a una dire""in R9"ilS. or eCemplo, sila op"in 1 nos da inorma"in de la & la op"in 2 nos da inorma"in del (aba"o,podemos "rear dos dire""iones Ri"ti"iasS que sean ttp//am.Cuntaex.es/pa"/ ttp//am.Cuntaex.es/taba"o/ poner en el i"ero de "onigura"in la siguientesdire"tivas
%e'rite%ule I/pac/ prog.php[opcionWB HJ%e'rite%ule I/tabaco/ prog.php[opcionW2 HJ
DCate en la op"in [L\ al inal. ndi"a al pro"eso que es una regla inal. )i se apli"a, no seseguir9n apli"ando m9s reglas.
Las reglas de re=rite se eCe"utan en "as"ada. La *$L de entrada para la segunda regla esla salida de la primera. Esto nos permite utili+ar reglas en"adenadas.
Las op"iones son "asi ilimitadas podemos pasar partes de la *$L "omo par9metros,podemos estable"er "ondi"iones, "adenas de reglas... ualquier problema de redire""in,por "ompli"ado que sea, puede resolverse "on este mdulo.
www.detodoprogramacion.com
7/26/2019 Manual de Supervivencia Del Administrador Apache
41/67
!& Manual de Supervivencia del Administrador de Apache
@.4. ,irecti'as para la Con!i"uracin de Redirecciones
emos utili+ado las siguientes dire"tivas
Alias&so"ia *$Ls "on i"eros del sistema.
Redirect
Enva una redire""in externa indi"9ndole al "liente que "argue otra*$L.
Re
7/26/2019 Manual de Supervivencia Del Administrador Apache
42/67
www.detodoprogramacion.com
7/26/2019 Manual de Supervivencia Del Administrador Apache
43/67
!3 Manual de Supervivencia del Administrador de Apache
Captulo . Contenidos ,in)+icos con CI
iertamente, o no podemos limitar nuestro =eb a los "ontenidos est9ti"os de (ML.8e"esitamos "one"tar "on bases de datos, ore"er "ontenidos personali+ados a "adausuario, generar inormes al momento, vender, tramitar...
ara todo esto ne"esitamos que nuestro servidor =eb genere los "ontenidosdin9mi"amente. G, aortunadamente, existen mu"as te"nologas que nos a"ilitan la vida.
.1. 9Bu es CI:
son las siglas de Common -ate;a4 Interace. )e trata de una de las erramientas
m9s antiguas para generar "ontenidos din9mi"os en el =eb. propor"iona un intera+ entre el servidor =eb las apli"a"iones que generar9ndin9mi"amente los "ontenidos. )e trata de un intera+ antiguo mu "ono"ido, pero algoinei"iente. 4e todas ormas, mere"e la pena que le e"emos un vista+o.
.2. /De+plo de CI
& travAs de podemos eCe"utar "ualquier programa del sistema operativo del servidor. )er9 el programa llamado quien seen"argar9 de generar el (ML que el servidor =eb entregar9 al
"liente.
ara nuestro eCemplo, vamos a "rear un s"ript de bas mu sen"illito
#/bin/bashecho "4ontent-3ypeF tet/plain"echoecho "?ola Gundo. Soy un 4"
XuidadoY En un "gi todo es importante. a que espe"ii"ar la "abe"era, a que deCar
una lnea en blan"o despuAs de las "abe"eras...
(ambiAn tenemos que a"er el s"ript eCe"utable para el usuario de &pa"e. ara ello,"rearemos un dire"torio "d "gi en /usr/"ursoapa"e/"giQbin. En Al guardaremos el s"riptanterior le aremos eCe"utable. Bastar9 "on eCe"utar el "omando
#; chmod = /usr/cursoapache/cgi-bin/ejemplo.cgi
Es importante deCar los "gis en un dire"torio que no pertene+"a al 9rbol de do"umentos de&pa"e
7/26/2019 Manual de Supervivencia Del Administrador Apache
44/67
Miguel Jaque Barbero ([email protected] !!
8os resta de"irle a &pa"e que tiene que eCe"utar los programas de ese dire"torio "omo siueran "gis .
ara ello, reali+amos el siguiente i"ero de "onigura"in
#(ichero de 4oniguracin para 4s
ServerName "localhost"Server%oot "/etc/apache2"*id(ile /var/run/apache2.pid3ypes4onig /etc/mime.types!eault3ype tet/plain+ser '''-dataroup '''-datarrorog /tmp/apacheA%%5%.log3ranserog /tmp/apacheA$44SS.log
!ocument%oot "/var/'''"isten 01!irectorynde inde.html inde.html
# ncluimos el mdulo que necesitamos para ejecutar 4sIncude "/etc/apache2/od&'aaia4e/cgi.oad"
# stablecemos el directorio que contendr, programas 4Script9ia& /cgi'4in/ /u&r/cur&oapache/cgi'4in/
&ora, si vamos a ttp//lo"alost/"giQbin/eCemplo."gi, podremos ver nuestro programaun"ionando.
www.detodoprogramacion.com
7/26/2019 Manual de Supervivencia Del Administrador Apache
45/67
!" Manual de Supervivencia del Administrador de Apache
.3. Con!i"uracin de CIs para Usuarios
La "onigura"in anterior se apli"a a todo el servidor =eb. En o"asiones, en mu po"as
o"asiones, ne"esitaremos "onigurar el servidor de modo que nuestros usuarios puedansubir eCe"utar programas .
XEsto es un enorme problema de seguridadY
&s que, lo meCor es no a"erlo. ero, si no tienes m9s remedio, si "onas en tus usuarios,en que no "ometer9n errores en sus programas, en que ser9n "uidadosos "on su uso...enton"es puedes "onigurar el servidor de la siguiente orma
#(ichero de 4oniguracin para 4s
ServerName "localhost"Server%oot "/etc/apache2"*id(ile /var/run/apache2.pid3ypes4onig /etc/mime.types!eault3ype tet/plain+ser '''-dataroup '''-datarrorog /tmp/apacheA%%5%.log3ranserog /tmp/apacheA$44SS.log
isten 01!irectorynde inde.html inde.html
nclude "/etc/apache2/mods-available/cgi.load"!ocument%oot "/var/'''"
:@irtual?ost BC2.BD0.1.LB;ServerName "aym.juntae.es"!ocument%oot "/var/'''/aym"
#*ermitimos ejecutar 4s en esta locali&acin
7/26/2019 Manual de Supervivencia Del Administrador Apache
46/67
Miguel Jaque Barbero ([email protected] !)
.4. ,irecti'as para la Con!i"uracin de CI
emos utili+ado las siguientes dire"tivas
ScriptAlias&so"ia una lo"ali+a"in "on un dire"torio del sistema de i"eros estable"e su "ontenido "omo s.
ptions E/0ecCI
ermite la eCe"u"in de s para el dire"torio.
www.detodoprogramacion.com
7/26/2019 Manual de Supervivencia Del Administrador Apache
47/67
!# Manual de Supervivencia del Administrador de Apache
Captulo 1F. Ser'er Side Includes
8aturalmente a otras op"iones para generar "ontenidos din9mi"os. *na de las menospeligrosas, tambiAn de las menos potentes, es utili+ar ))
7/26/2019 Manual de Supervivencia Del Administrador Apache
48/67
Miguel Jaque Barbero ([email protected] !$
1F.1. /De+plo de SSI
7amos a es"ribir un pequeo eCemplo de ))
:--#conig errmsgW" rror de SS "--;:--#conig si&emtW"bytes"--;l tamaMo de este ichero es :--#si&e ileW"ssi.shtml"--;bytes.
ara poder eCe"utarlo, estable"emos este i"ero de "onigura"in de &pa"e
#(ichero de 4oniguracin para SS
ServerName "localhost"Server%oot "/etc/apache2"*id(ile /var/run/apache2.pid3ypes4onig /etc/mime.types!eault3ype tet/plain+ser '''-dataroup '''-datarrorog /tmp/apacheA%%5%.log3ranserog /tmp/apacheA$44SS.log
isten 01!irectorynde inde.html inde.html
!ocument%oot "/var/'''"
#ncluimos el mdulo que necesitamosIncude "/etc/apache2/od&'aaia4e/incude.oad"
#$sociamos la etensin shtml al manejador de SS9dd*ander &erer'par&ed &ht
#stablecemos que se pueden ejecutar en todos los directorios#8por deecto suele estar deshabilitado9Option& AIncude&
&ora, si reini"iamos &pa"e pedimos ttp//lo"alost/ssi.stml podremos ver la salidaparseada.
www.detodoprogramacion.com
7/26/2019 Manual de Supervivencia Del Administrador Apache
49/67
!% Manual de Supervivencia del Administrador de Apache
1F.2. /De+plo A'anzado de SSI
)) tiene mu"o m9s. 8os permite in"luir i"eros, deinir variables e in"luso utili+ar
estru"turas de "ontrol "omo i, ten, else.7amos a ver un eCemplo en el que utili+amos )) para deinir un mismo pie para todaslas p9ginas de nuestro =ebsite.
En primer lugar, "reamos un i"ero )) "on la inorma"in que queremos mostrar
:-- vitamos que el usuario vea los errores.Ea los veremos en el log--;
:--#conig errmsgW":-- rror de SS --;"--;
:-- 4oniguramos el ormato de la echa seg)n strmt --;
:--#conig timemtW"\$< \e de \6 de \E a las \?F\GF\S"--;
:hr/;
:-- +tili&ando echo podemos ver el contenido de variables--;:p;4opy%ight l>e 6enson 211D - :--#echo varW"!54+GN3A+%"--; -Godiicado el :--#echo varW"$S3AG5!(!"--;.:/p;:--#echo varW"!$3A54$"--;
Este i"ero lo guardaremos en /usr/"ursoapa"e/ssi "on el nombre pie.stml. &ora loenla+aremos en el resto de p9ginas de nuestro =ebsite.
ara ello, "ambiamos nuestro index.tml por index.stml
:html;:head;:title;4onsejera de $gricultura y
Gedioambiente:/title;:/head;:body;
:hB;4onsejera de $gricultura y Gedioambiente:/hB;6la< bla< bla...
:-- a directiva include nos permite incluir icheros--;
7/26/2019 Manual de Supervivencia Del Administrador Apache
50/67
Miguel Jaque Barbero ([email protected] "'
or Nltimo, slo nos resta "onigurar ade"uadamente nuestro servidor &pa"e
#(ichero de 4oniguracin para SS eneral
ServerName "localhost"Server%oot "/etc/apache2"*id(ile /var/run/apache2.pid3ypes4onig /etc/mime.types!eault3ype tet/plain+ser '''-dataroup '''-datarrorog /tmp/apacheA%%5%.log3ranserog /tmp/apacheA$44SS.log
isten 01!irectorynde inde.&htinde.html inde.html
!ocument%oot "/var/'''"
Incude "/etc/apache2/od&'aaia4e/incude.oad"9dd*ander &erer'par&ed &ht
#4reamos un alias para encontrar los includes9ia& /incude /u&r/cur&oapache/&&i
:@irtual?ost BC2.BD0.1.LB;ServerName "aym.juntae.es"!ocument%oot "/var/'''/aym"
:/@irtual?ost;
)i aora vamos "on nuestro navegador a ttp//am.Cuntaex.es/ veremos el pie que emos"reado.
www.detodoprogramacion.com
7/26/2019 Manual de Supervivencia Del Administrador Apache
51/67
"& Manual de Supervivencia del Administrador de Apache
Captulo 11. Lo""in"
Los i"eros de log son un instrumento "rti"o para la seguridad de nuestro servidor. Eneste "aptulo veremos "mo "onigurarlos para que &pa"e guarde la inorma"in quene"esitamos, tanto para meCorar su rendimiento "omo para resolver problemas a losusuarios, "ono"er a quA se""iones a""eden m9s, intentos de a""eso no autori+ados, et".
ero no basta "on "onigurar "orre"tamente los logs para que guarden la inorma"in quequeremos. (ambiAn tenemos que "onsultarla peridi"amente. )ino, "ualquier inorma"inque pudiAramos registrar ser9 inNtil.
Existen mu"os programas que te pueden audar a inspe""ionar gestionar los logs de
&pa"e. uedes en"ontrarlos en los paquetes apa"e2Qutils, s"anerrlog, visitors, vlogger,=ebdruid...
11.1. -iceros de Lo"
&unque a los emos utili+ado, vamos a men"ionarlos expl"itamente.
&pa"e utili+a dos i"eros de log
rror/o)^ ara registrar los errores que se produ"en al a""eder a los re"ursos de&pa"e.
>ranser/o)^ ara registrar los a""esos que no produ"en error.
11.1.1. #rror$og
El "ontenido de ErrorLog es algo pare"ido a esto
H3ue Nov 2B BBF21FBO 211DJ HnoticeJ caught S3%G< shutting do'nH3ue Nov 2B BBF21FBL 211DJ HnoticeJ $pache/2.1.LL 8!ebian9 conigured
-- resuming normal operationsH3ue Nov 2B BBF21FB0 211DJ HerrorJ Hclient B2].1.1.BJ un>no'n
directive "s&eW"ssi.shtml"" in parsed doc /var/'''/ssi.shtmlH3ue Nov 2B B2FB2F^D 211DJ HerrorJ Hclient BC2.BD0.1.LBJ (ile does
not eistF /var/'''/curso/aym/noAeisto
En Al podemos ver los mensaCes de "ierre de &pa"e, de reini"io, errores dedire"tivas )), p9ginas no en"ontradas, et".
11.1.2. %ransfer$og
El "ontenido de (ranserLog ser9 pare"ido a estoBC2.BD0.1.LB - - H2B/Nov/211DFB1F22F^2 =1B11J "3 /cgi/aym.cgi
?33*/B.B" 211 LBB2].1.1.B - - H2B/Nov/211DFBBF1]F^1 =1B11J "3 /ssi.shtml ?33*/B.B"
211 B^1
BC2.BD0.1.LB - - H2B/Nov/211DFBBFO^F21 =1B11J "3 /inde.shtml?33*/B.B" 211 ^O0BC2.BD0.1.LB - - H2B/Nov/211DFB2FB2F^D =1B11J "3 /noAeisto
?33*/B.B" O1O 21]
www.detodoprogramacion.com
7/26/2019 Manual de Supervivencia Del Administrador Apache
52/67
Miguel Jaque Barbero ([email protected] "
En Al podemos ver desde quA dire""in se a a""edido a nuestro servidor, en quemomento, quA peti"in se re"ibi, resultado, et".
11.2. ,irecti'as para la Con!i"uracin de Lo"s
odemos utili+ar las siguientes dire"tivas para la "onigura"in de los i"eros de log
/rrorLo"
Estable"e el i"ero que para el log de errores.
5p"ionalmente puede ser un programa que, por eCemplo, registre loserrores en una base de datos.
Lo"Le'el
Estable"e el nivel de detalle para el log de errores.Los valores posibles son emerg, alert, "rit, error, =arn, noti"e, ino debug.
Trans!erLo"
Estable"e el i"ero que para el log de a""esos.
5p"ionalmente puede ser un programa que, por eCemplo, registre losa""esos en una base de datos.
Lo"-or+at
4eine un ormato de log para el log de a""esos o para un logpersonali+ado.
Custo+Lo"
Estable"e el i"ero el ormato para un log personali+ado.
www.detodoprogramacion.com
7/26/2019 Manual de Supervivencia Del Administrador Apache
53/67
"3 Manual de Supervivencia del Administrador de Apache
Captulo 12. %%
7ale, a mu"as ormas de generar "ontenidos din9mi"os en un servidor =eb. ero laque o en da se lleva la palma es .
es un lenguaCe de s"ript, "on orienta"in a obCetos
7/26/2019 Manual de Supervivencia Del Administrador Apache
54/67
Miguel Jaque Barbero ([email protected] "!
12.2. Co+probando #ue -unciona
7amos aora a "rear una sen"illa p9gina pp para "omprobar que todo un"iona.
Este es el "digo
:[phpecho _?ola GundoXV
[;
)alvemos aora la p9gina "omo olamundo.pp , las mar"as de son ignoradas por el navegador "uando se interpretan"omo .
8aturalmente no podemos meter en este Manual de )uperviven"ia todo un "urso de .uedes en"ontrar toda la inorma"in que ne"esitas sobre en ===.pp.net.
ero si podemos aprove"ar la o"asin para aprender un po"o.
12.3. %racticando con %%7amos a preparar un eCemplo m9s "ompli"ado. agamos el tpi"o eCer"i"io de presentaren la pantalla los nNmeros primos que a entre el 1 el 100.
En este eCer"i"io ne"esitaremos utili+ar estru"turas de "ontrol
7/26/2019 Manual de Supervivencia Del Administrador Apache
55/67
"" Manual de Supervivencia del Administrador de Apache
omo ves, este programa "arga un i"ero "on otras un"iones auxiliares. En este "aso, eli"ero lib.pp "ontiene la un"in esOprimo. DCate que la instru""in requireOon"egaranti+a que el i"ero se "arga slo una ve+, aunque sea llamado en varios sitios
El "digo de lib.pp es el siguiente
:[phpunction esAprimo8num9
or 8iW2V i:numV i==9i 8num \ i WW 19 return alseV
return trueV
[;
12.4. >aneDo de -or+ularios
ero el uso m9s abitual de es para "rear apli"a"iones =eb. En ellas, ne"esitamosque el usuario nos enve inorma"in, pro"esarla devolverle un resultado.
7amos a ver, "on el siguiente eCemplo de login, "omo nos llegan las variables de usuarioa pp "omo las leemos.
En primer lugar, el usuario introdu"e los valores que nos quiere enviar en un ormulario(ML que nos enva al programa
7/26/2019 Manual de Supervivencia Del Administrador Apache
56/67
Miguel Jaque Barbero ([email protected] ")
omo ves, la inorma"in que nos enva el usuario se re"ibe en un arra indexado . El arra indexado es_O$E@*E)(.
)alva ambos i"eros en el mismo dire"torio "omprueba su un"ionamiento.
12.&. /'itando el Caos
&l programar en podemos en"ontrarnos 9"ilmente metidos en un buen lo. )i nosomos "uidadosos, nos en"ontraremos "on un"ionalidad distribuida entre varios i"eros, "digo de distintos lenguaCes en un mismo i"ero, et".
7amos a simplii"ar nuestro eCemplo anterior. ara ello, in"luiremos el "digo delormulario en el mismo i"ero que el "digo de la respuesta al ormulario.
:[phpponer5ca4ecera()Kif (Di&&et(57EG6ES:Hno4reJ))
html W Z:orm actionW"login.php" methodW"*5S3";ZVhtml .W ZNombreF :input nameW"nombre"
typeW"tet"/;:br/;ZVhtml .W Z4laveF :input nameW"clave"
typeW"pass'ord"/;:br/;ZVhtml .W Z:input typeW"submit" valueW"$ceptar"/;ZVhtml .W Z:/orm;ZV
Me&e
html W Z?as hecho ZloginZ`aposV:br/;ZVhtml .W "l nombre es ".A%7+S3HZnombreZJ.":br/;"Vhtml .W "a clave es ".A%7+S3HZclaveZJ.":br/;"V
Mecho htmlVponer5pie()K
unction ponerAcabecera89echo ":html;:body;"V
unction ponerApie89
echo ":/body;:/html;"V
[;
En este eCemplo, emos "reado dos un"iones para poner el pie la "abe"era de lasp9ginas. 8ormalmente estas un"iones estar9n en un i"ero externo ser9n "ompartidas por otras p9ginas.
&dem9s, el programa tiene dos partes "orrespondientes a la estru"tura i ten.
En la primera, se muestra el ormulario de login. En la segunda, se muestra la respuesta alormulario.
4e"idimos si eCe"utar una u otra en un"in de que exista la variable _O$E@*E)(.
www.detodoprogramacion.com
7/26/2019 Manual de Supervivencia Del Administrador Apache
57/67
"# Manual de Supervivencia del Administrador de Apache
Captulo 13. Aplicaciones Geb con LA>%
L&M son las siglas de LinuxQ&pa"eQM)@LQ es, sin duda, la arquite"tura m9sutili+ada o para la programa"in de apli"a"iones =eb.
Ga emos visto "omo un"ionan "onCuntamente Linux, &pa"e . &s que slo nosqueda ver "mo integramos la Base de 4atos a""edemos a ella.
13.1. Instalacin $ Con!i"uracin de >$SBL
ablamos de 4ebian, as que la instala"in de M)@L tendr9 que ser 9"il. En "on"reto,tenemos que instalar dos paquetes. El primero es el propio servidor M)@L, el segundo
es la librera de un"iones de para a""eder a M)@L.El "omando para a"er todo esto es el siguiente
#; apt-get install mysql-server phpL-mysql
8o ne"esitamos ninguna "onigura"in parti"ular, as que vamos a "rear un nueva base dedatos llamada R"ursoS "on un usuario para a""eder a ella una tabla "on algunas"olumnas.
ara ello, es"ribimos el siguiente i"ero )@L
!%5* !$3$6$S ( PS3S cursoV4%$3 !$3$6$S cursoV%$N3 S43< NS%3< +*!$3< !3 5N curso.K 35 curso !N3(!6E "claveAcurso"V
+S cursoV
!%5* 3$6 ( PS3S usuarioV4%$3 3$6 usuario 8
id N3 $+35AN4%GN3
7/26/2019 Manual de Supervivencia Del Administrador Apache
58/67
Miguel Jaque Barbero ([email protected] "$
13.2. Conectando con la (ase de ,atos
omo primer eCer"i"io, "one"temos nuestro usuario R"ursoS "on la base de datos.
ara ello, es"ribimos el siguiente programa
:[phpecho "Ge voy a conectar a GyS7:br/;"V
coneion !&>5connect(ocaho&t@ root@ )K
i 8coneion9 echo "(all`oacuteV la conei`oacuteVn a la base de
datos.".!&>5error()V
eit89V
[;
En este eCemplo realmente lo que estamos a"iendo es R"one"tarS "on el servidor de basede datos. ero no basta "on eso, ne"esitamos espe"ii"ar "u9l de todas las bases de datosdel servidor es la que vamos a utili+ar.
Eso lo a"emos "on la instru""in msqlOsele"tOdb.
13.3. /Decutando Sentencias SBL
ECe"utar senten"ias sen"illas, "omo 8)E$(, 4ELE(E o *4&(E que no devuelvenningNn resultado, es 9"il.
Basta "on "one"tarse "on el servidor de base de datos, sele""ionar la base de datos "on laque queremos operar lan+ar la senten"ia )@L.
Este es un eCemplo
:[php
mysqlAconnect8ZlocalhostZ
7/26/2019 Manual de Supervivencia Del Administrador Apache
59/67
"% Manual de Supervivencia del Administrador de Apache
13.4. Insertando ,atos
7amos a utili+ar lo que a sabemos de para a"er un ormulario que inserte datos en
la tabla de la base de datos:[phpponerAcabecera89Vi 8isset8A%7+S3HZusuarioZJ99
html W Z:orm actionW"insertar.php" methodW"*5S3";ZVhtml .W ZdF :input nameW"id" typeW"tet"/;:br/;ZVhtml .W Z+suarioF :input nameW"usuario" typeW"tet"/;:br/;ZVhtml .W Z4laveF :input nameW"clave" typeW"pass'ord"/;:br/;ZVhtml .W Z%epita la 4laveF :input nameW"clave2"
typeW"pass'ord"/;:br/;ZVhtml .W ZNombre 4ompletoF :input nameW"nombre"
typeW"tet"/;:br/;ZVhtml .W Z:input typeW"submit" valueW"nsertar"/;ZVhtml .W Z:/orm;ZV
else
coneion W mysqlAconnect8ZlocalhostZ< ZrootZ< ZZ9Vi 8coneion9
echo "Se astidi`oacuteV"Veit89V
!&>5&eect5d4(te&t)Kconsulta W ZNS%3 N35 usuario ZVconsulta .W ZS3 idWZ.A%7+S3HZidZJ.Z
7/26/2019 Manual de Supervivencia Del Administrador Apache
60/67
Miguel Jaque Barbero ([email protected] )'
13.&. Consultas de S/L/CT
7eamos un eCemplo m9s "ompleto
:[php
ponerAcabecera89Vconeion W mysqlAconnect8ZlocalhostZ< ZrootZ< ZZ9Vi 8coneion9
echo "Se astidif"Veit89V
mysqlAselectAdb8ZtestZ9Vconsulta W ZS43 K (%5G usuarioZV
resultado W !&>5>uer!(con&uta)Ki8resultado9
echo "a consulta ha alladoF ".mysqlAerror89Veit89V
html W Z:table borderW"B";ZV'hile8ila W !&>5fetch5arra!(re&utado)9
html .W Z:tr;ZVhtml .W Z:td;Z.fiaHidJ.Z:/td;ZVhtml .W Z:td;Z.fiaHu&uarioJ.Z:/td;ZVhtml .W Z:td;Z.fiaHcaeJ.Z:/td;ZVhtml .W Z:td;Z.fiaHno4reJ.Z:/td;ZVhtml .W Z:td;ZVhtml .W Z:a
hreW"httpF//localhost/borrar.php[idWZ.ilaHZidZJVhtml .W Z";6orrar +suario:/a;:/td;ZVhtml .W Z:/tr;ZV
html .W ":/table;"V
echo htmlVponerApie89V
unction ponerAcabecera89echo ":html;:body;"V
unction ponerApie89
echo ":/body;:/html;"V[;
www.detodoprogramacion.com
7/26/2019 Manual de Supervivencia Del Administrador Apache
61/67
)& Manual de Supervivencia del Administrador de Apache
Captulo 14. Secure SocHets La$er ;SSL=
))L es un proto"olo "riptogr9i"o de "omuni"a"in utili+ado para garanti+ar la identidad la priva"idad de las "omuni"a"iones =eb.
(A"ni"amente se "orresponde "on la "apa de transporte del Modelo )5, por eso tambiAnes "ono"ido "omo (L)
7/26/2019 Manual de Supervivencia Del Administrador Apache
62/67
Miguel Jaque Barbero ([email protected] )
"ual es "modo para un "urso "omo este pero di"ilmente "reble si pretendemosutili+arlo en un =eb pNbli"o.
)i quieres un "ertii"ado RserioS puedes a"udir a "ualquier empresa espe"iali+ada
.14.3. Con!i"uracin
La "onigura"in es igual que todo lo que emos visto anteriormente... salvo para lasdire"tivas propias de ))L.
or "ierto, si vas a utili+ar ))L "on osts7irtuales, tendr9s que asignar a "ada ost una , no puedes a"erlo por nombres.
14.4. /De+plo
7eamos un eCemplo de "onigura"in#(ichero de 4oniguracin para ?osts @irtuales con SS
ServerName "sabio"Server%oot "/etc/apache2"*id(ile /var/run/apache2.pidrrorog /tmp/apache2.log3ypes4onig /etc/mime.types!eault3ype tet/plain+ser '''-dataroup '''-data
isten 01isten OO^
!irectorynde inde.html inde.html
#4argamos el mdulo que necesitamos y su coniguracinIncude /etc/apache2/od&'aaia4e/&&.oadIncude /etc/apache2/od&'aaia4e/&&.conf
#ndicamos donde tenemos nuestro certiicadoSSLCertificateFie /etc/apache2/&&/apache.pe
:@irtual?ost BC2.BD0.1.^;SSLEngine onServerName "aym.juntae.es"!ocument%oot "/var/'''/curso/aym"rrorog /tmp/aymA%%5%.log3ranserog /tmp/aymA$44SS.log:ocation /seguro;
SSL7e>uireSSL:/ocation;
:/@irtual?ost;
www.detodoprogramacion.com
7/26/2019 Manual de Supervivencia Del Administrador Apache
63/67
)3 Manual de Supervivencia del Administrador de Apache
Captulo 1&. ConseDos para >eDorar la Se"uridad
&pa"e no tiene problemas espe"iales de seguridad. M9s bien todo lo "ontrario. )e tratade un servidor mu seguro "on po"os puntos dAbiles .
&pa"e dispone de una lista de distribu"in para mantener inormados a losadministradores. uedes darte de alta en ttp//ttpd.apa"e.org/lists.tml`ttpQannoun"e.
1&.2. %rote"e los -iceros de Con!i"uracin
Los i"eros de "onigura"in de &pa"e, as "omo sus subdire"torios, slo ne"esitaleerlos root. 8o a porque dar permisos, ni de le"tura, a ningNn otro usuario.
1&.3. 5i"ila los Lo"s
R5Cos que no ven, torta+o que te pegasS
:4e quA te sirve tener unos logs magni"os, pere"tamente "onigurados si nun"a los
"onsultas;on los sistemas de an9lisis que te avisen de las situa"iones de los logs bNs"ate un ratopara e"arles un vista+o de ve+ en "uando.
Lo ideal sera que te i"ieras tus propios programas de an9lisis aadieras reglas paradete"tar situa"iones de riesgo.
1&.4. /'ita los CI
)implemente son un gran problema de seguridad.
)i realmente los ne"esitas, es meCor que los es"ribas tN mismo o alguien de quien te esmu"o. G a"tiva la op"in suexe" para asegurarte de que se eCe"utan "on los permisos quetN de"idas
7/26/2019 Manual de Supervivencia Del Administrador Apache
64/67
Miguel Jaque Barbero ([email protected] )!
1&.&. /'ita SSI
on la dire"tiva exe" "md de )) se puede a"er el mismo dao que "on un .&dem9s, los )) pueden suponer una pArdida de rendimiento.
ero si realmente los ne"esitas, puedes a"tivar la op"in suexe", al menos evitar9s quese eCe"uten "on los permisos de &pa"e .
1&.7. /'ita los Contenidos ,in)+icos en eneral
5tros lenguaCes "omo , erl o (L se eCe"utar9n "on los permisos de los propietariosde los i"eros. Eso signii"a que pueden a"er mu"as "osas, qui+9s demasiadas.
)i no puedes evitar los programas de genera"in de "ontenidos en tu servidor, al menosrevisa bien "on quA usuario se est9n eCe"utando quA permisos tienen esos usuarios.
1&.8. 5i"ila los /nlaces Si+blicos
Lo meCor es no permitirlos. &s evitas que un usuario a""eda a "ontenido al que nodebera a""eder.
ero si quieres abilitarlos, al menos asegNrate de que el destino del enla"e es legalaadiendo la op"in )mLinIs5=nerMat"
1&.@. az Copias de Se"uridad
or Nltimo, ten en "uenta que lo m9s valioso de tu servidor probablemente sea lainorma"in que alberga.
*n ataque por denega"in de servi"io puede deCarnos uera de la red unas oras, pero noae"tar9 a nuestros "ontenidos.
)in embargo, un intruso puede daar o eliminar la inorma"in que albergamos.&segNrate que puedes reponerla.
www.detodoprogramacion.com
7/26/2019 Manual de Supervivencia Del Administrador Apache
65/67
)" Manual de Supervivencia del Administrador de Apache
Captulo 17. pti+izacin de Rendi+iento
&l igual que o"urre "on la seguridad, &pa"e no tiene problemas de rendimiento. M9sbien al "ontrario.
Es "ierto que no es un servidor diseado para batir re"ords en ban"os de pruebas. ero enentornos reales de produ""in su rendimiento es m9s que a"eptable.
4e todas ormas, si eres un istAri"o del rendimiento o tienes una m9quina realmentepequea )s RA>
Lo m9s importante para el rendimiento de un servidor =eb es no s=apear. G eso dependede la "antidad de memoria $&M que tengas disponible.
ara evitarlo, "ontrola el par9metro Maxlients que determina el nNmero m9ximo depro"esos &pa"e que se eCe"utar9n en la m9quina. Mide "uanto o"upa "ada uno de ellos reparte la memoria $&M disponible.
Es "ierto que a otros a"tores que a"en el "9l"ulo inexa"to... a otros pro"esos en elsistema que "onsumir9n $&M al eCe"utarse, pero tambiAn a memoria "ompartida entretodos los pro"esos de &pa"e.
El resto de par9metros son importantes. or eCemplo, una buena *, una buena tarCetade $ed, dis"os r9pidos... pero sobretodo, XM9s $&MY
uanta m9s $&M tengas, m9s pro"esos de &pa"e podr9s tener arran"adospara atender a tus "lientes.
17.2. Usa Linu0 2.4 o Superior
&pa"e un"iona en otros entornos.
ero si quieres que "orra, ponle sobre una buena "arretera. Las llamadas al )istema
5perativo que ne"esita &pa"e est9n mu"o m9s optimi+adas si puedes eCe"utarlo sobreLinux 2.6.
17.3. /'ita la Resolucin de ,*Ss In'ersos
ada ve+ que &pa"e tiene que resolver el nombre de m9quina o dominio que"orresponde a una dire""in , debe a"er una llamada a un 48). G eso "onsume mu"otiempo.
&pa"e ne"esita resolver 48)s inversos "uando utili+as ost8ameLooI*ps o dire"tivas&llo=, 4en basadas en nombres de m9quina o de dominio. ntenta evitarlas. )i lo
"oniguras por ser9 mu"o m9s r9pido
7/26/2019 Manual de Supervivencia Del Administrador Apache
66/67
Miguel Jaque Barbero ([email protected] ))
17.4. /'ita los /nlaces Si+blicos
)i permites enla"es simbli"os, "ada ve+ que &pa"e entra en un dire"torio tendr9 quebus"arlos. )i adem9s utili+as )mLinIs5=nerMat", tambiAn tendr9 que "omprobar a
quiAn pertene"e el enla"e a quiAn pertene"e el destino del enla"e... Mu"o trabaCo.
17.&. /'ita los -iceros .taccess
Est9 mu bien tener "onigura"in personali+ada por los usuarios. ero tiene un "oste.
ada ve+ que &pa"e tiene que bus"ar un re"urso, debe "omprobar si en ese dire"torio a i"eros de "onigura"in parti"ulares que sean apli"ables...)i la estru"tura de dire"torios es mu prounda, puede requerir un montn de llamadas alsistema. G si en"ima a i"eros .ta""ess, tambiAn tendr9 que abrirlos pro"esarlos.
or lo tanto, evita la dire"tiva &llo=5verride.
17.7. La *e"ociacin de Contenidos
), es "ierto que la nego"ia"in de "ontenidos requiere tiempo de pro"eso. ero es tanes"aso al mismo tiempo resuelve tantos problemas, que son mu raras las o"asiones enque ne"esites evitarla.
)i realmente ne"esitas nego"ia"in de "ontenidos, &pa"e resuelve la situa"in "on elmenor "oste de rendimiento posible.
Es preerible utili+ar (pe Maps que Multivie=s. pues este Nltimo requiere mirar en todoel dire"torio para ver quA ar"ivos a mientras que "on (pe Maps la "onigura"in est9en un Nni"o i"ero.
17.8. /'ita SSI
)i a"tivas ))
7/26/2019 Manual de Supervivencia Del Administrador Apache
67/67
)# Manual de Supervivencia del Administrador de Apache
Captulo 18. (iblio"ra!a
La meCor uente de do"umenta"in para &pa"e est9 en ===.apa"e.org. & en"ontrar9sla reeren"ia a todas las dire"tivas de "onigura"in, do"umentos sobre ))L, )eguridad,MM, $endimiento, nstala"in, ompila"in... Xasta el "digoY Q>
(ambiAn a libros mu buenos. eneralmente es"ritos por alguno de los programadoresde &pa"e que parti"ipa en la omunidad. uedes "onsultar, por eCemplo, R&pa"e$eeren"e uideS de Ben eter Laurie de la editorial 5$eill.