despliegue de aplicaciones web

Upload: jon-aguirregabiria

Post on 07-Aug-2018

335 views

Category:

Documents


18 download

TRANSCRIPT

  • 8/20/2019 Despliegue de Aplicaciones Web

    1/338

    DESPLIEGUE DEAPLICACIONESWEB

    Profesor: Sergio Cuesta Vicente.

    htt s:!!sites.goog"e.co#!site!sergiocuesta!

    rofesor.sc$%g#ai".co#

    https://sites.google.com/site/sergiocuesta/https://sites.google.com/site/sergiocuesta/

  • 8/20/2019 Despliegue de Aplicaciones Web

    2/338

    DAW – Despliegue de Aplicaciones Webhttps://sites.google.com/site/sergiocuesta

    Sergio Cuesta Vicente 2 de 338

    https://sites.google.com/site/sergiocuesta/https://sites.google.com/site/sergiocuesta/

  • 8/20/2019 Despliegue de Aplicaciones Web

    3/338

    DAW – Despliegue de Aplicaciones Web htt s:!!sites.goog"e.co#!site!sergiocuesta

    Licencia Los conteni&os &e este &ocu#ento est'n co# arti&os (a)o una "icencia Creati$e Co##ons si no se in&ica "o contrario.

    Pue&e conocer #'s so(re Creati$e Co##ons u"san&o en e" en"ace.

    E" uso &e este &ocu#ento est' su)eto a "as nor#as *ue se in&ican en esta 'gina .

    Si *uiere sa(er #'s so(re Creati$e Co##ons ue&e $isitar su 'gina We( o "a $ersi+n en es a,o" .

    Para sa(er #'s so(re e" ti o &e "icencia a "ica&o a este &ocu#ento ue&e $isitar esta 'gina .

    -o&os "os #ateria"es usa&os ara "a confecci+n &e este &ocu#ento est'n (a)o "icencia &e Creati$e Co##ons se har' referencia a su autoren "a #anera *ue sea osi("e.

    Si *uiere usar to&o o arte &e este &ocu#ento/ or fa$or/ haga referencia a" autor.

    Sergio Cuesta Vicente

    rofesor.sc$%g#ai".co#

    Sergio Cuesta Vicente3 de 338

    https://sites.google.com/site/sergiocuesta/http://creativecommons.org/licenses/by-nc-sa/3.0/es/http://creativecommons.org/licenses/by-nc-sa/3.0/es/http://creativecommons.org/http://creativecommons.org/licenses/by-nc-sa/3.0/es/http://creativecommons.org/http://creativecommons.org/http://es.creativecommons.org/http://es.creativecommons.org/licencia/http://es.creativecommons.org/licencia/http://creativecommons.org/licenses/by-nc-sa/3.0/es/http://creativecommons.org/http://creativecommons.org/licenses/by-nc-sa/3.0/es/http://creativecommons.org/http://es.creativecommons.org/http://es.creativecommons.org/licencia/https://sites.google.com/site/sergiocuesta/

  • 8/20/2019 Despliegue de Aplicaciones Web

    4/338

    DAW – Despliegue de Aplicaciones Web htt s:!!sites.goog"e.co#!site!sergiocuesta

    Sergio Cuesta Vicente de 338

    https://sites.google.com/site/sergiocuesta/https://sites.google.com/site/sergiocuesta/

  • 8/20/2019 Despliegue de Aplicaciones Web

    5/338

    DAW – Despliegue de Aplicaciones Web htt s:!!sites.goog"e.co#!site!sergiocuesta

    LICENCIA.....................................................................................................................................................................0

    - E1A 2: I1PLAN-ACI3N DE A45UI-EC-U4AS WEB.................................................................................................................26La ar*uitectura 7e( a"gunos #o&e"os.............................................................................................................................................20

    Un #o&e"o si# "e ara e" &es "iegue &e a "icaciones We(..............................................................................................................28!u" es una aplicaci#n $eb........................................................................................................................................................................... %8

    &ases de un pro'ecto de una aplicaci#n $eb............ ........... .......... ........... ........... ........... ........... .......... ........... ........... ........... ........... ....... ...... %8

    Ser$i&ores 7e(...................................................................................................................................................................................69Ser(icios Web............................................................................................................................................................................................... 2%

    Alternati(as................. .......... ........... ........... ........... ........... .......... ........... ........... ........... .......... ........... ........... ........... ......... ...... ..... ...... ..... ...... . 22

    )!u" necesito para montar un ser(idor $eb*.............. .......... ........... ........... ........... .......... ........... ........... ........... ........... .......... ........... ...... ..... 23

    Insta"aci+n configuraci+n ('sica &e un ser$i&or 7e(: A ache........................................................................................................6Comprobaci#n ' eliminaci#n de otras (ersiones........................................................................................................................................... 2+

    ,nstalaci#n..................................................................................................................................................................................................... 3%

    Insta"ar un ser$i&or con LA1P............................................................................................................................................................0;

    Ser$i&ores &e A "icaciones.................................................................................................................................................................08Contenedores................................................................................................................................................................................................ 38

    -o#cat.................................................................................................................................................................................................

  • 8/20/2019 Despliegue de Aplicaciones Web

    6/338

    DAW – Despliegue de Aplicaciones Web htt s:!!sites.goog"e.co#!site!sergiocuesta

    suarios de omcat....................................................................................................................................................................................... 8

    ,niciar ' parar omcat....................................................................................................................................................................................

    A "icaciones 7e(................................................................................................................................................................................;24structura...................................................................................................................................................................................................... 0

    Descriptor de despliegue............................................................................................................................................................................... 00

    - E1A 6: AD1INIS-4ACI3N DE SE4VIDO4ES WEB...................................................................................................................;A ache 6 A ache 6.

  • 8/20/2019 Despliegue de Aplicaciones Web

    7/338

    DAW – Despliegue de Aplicaciones Web htt s:!!sites.goog"e.co#!site!sergiocuesta

    >tros m#dulos............................................................................................................................................................................................... %

    Insta"aci+n/ configuraci+n uso &e "os #+&u"os &e A ache..............................................................................................................>0=os archi(os de con6iguraci#n de la instalaci#n por pa1uete......................................................................................................................... 3

    Comprobaci#n de los m#dulos 'a instalados................................................................................................................................................

    ,nstalaci#n..................................................................................................................................................................................................... 0

    so ' con6iguraci#n.......................................................................................................................................................................................

    mod?status ' mod?in6o............................................................................................................................................................................... % %

    Directorios personales de usuarios............................................................................................................................................................. % 3

    4l m#dulo 9,94.......................................................................................................................................................................................... % 7

    ?osts $irtua"es...................................................................................................................................................................................229

    Sitio por de6ecto...........................................................................................................................................................................................%%9odi6icando los mensa@es de error............... ........... .......... ........... ........... ........... ........... .......... ........... ........... ........... ........... ........ ...... ..... ..... %%

    Alias a otros directorios................... ........... .......... ........... ........... ........... ........... .......... ........... ........... ........... .......... .......... ...... ..... ...... ..... ...... %%0

    edirecciones.............................................................................................................................................................................................. %%0

    Creaci#n de hosts (irtuales......................................................................................................................................................................... %%7

    Contro" &e acceso.............................................................................................................................................................................260Control de acceso basado en la direcci#n................ ........... .......... ........... ........... ........... .......... ........... ........... ........... ........... .......... ..... ...... .. %23

    Control de acceso por (ariable de entorno..................................................................................................................................................%2

    Control de acceso con el m#dulo re$rite.............. ........... ........... .......... ........... ........... ........... .......... ........... ........... ........... ........... ......... ...... . %20

    Autenticaci+n autori@aci+n.............................................................................................................................................................26=os m#dulos mod?auth?core ' mod?auth?basic........................................................................................................................................%2+

    Sergio Cuesta Vicente+ de 338

    https://sites.google.com/site/sergiocuesta/https://sites.google.com/site/sergiocuesta/

  • 8/20/2019 Despliegue de Aplicaciones Web

    8/338

    DAW – Despliegue de Aplicaciones Web htt s:!!sites.goog"e.co#!site!sergiocuesta

    =os 6icheros .htaccess................................................................................................................................................................................. %3

    Agrupando usuarios para el control de acceso................ .......... ........... ........... ........... ........... .......... ........... ........... ........... ........... .......... ...... %32

    E" rotoco"o ?--PS..........................................................................................................................................................................20;

    Certifica&os Digita"es........................................................................................................................................................................208>btener un certi6icado digital.......................................................................................................................................................................%3

    SSL!-SL............................................................................................................................................................................................2

  • 8/20/2019 Despliegue de Aplicaciones Web

    9/338

    DAW – Despliegue de Aplicaciones Web htt s:!!sites.goog"e.co#!site!sergiocuesta

    Despliegue manual...................................................................................................................................................................................... %+2

    4stableciendo nuestra aplicaci#n como la principal para el ser(idor...........................................................................................................%+3

    Despliegue con omcat Web 9anager.............. ........... .......... ........... ........... ........... ........... .......... ........... ........... ........... ........... ......... ..... ..... %+

    Autenticaci+n &e usuarios.................................................................................................................................................................28;4@emplos de autenticaci#n...........................................................................................................................................................................%+

    Dominios de seguridad para la autenticaci#n............... ........... ........... .......... ........... ........... ........... ........... .......... ........... ........... ....... ..... ...... . %80

    Ainistraci+n &e sesiones. Sesiones ersistentes........................................................................................................................2>

    Archi$os &e registro &e acceso fi"tro &e so"icitu&es.......................................................................................................................692V l(ulas....................................................................................................................................................................................................... 2 2

    &iltros.......................................................................................................................................................................................................... 2 3

    Configurar e" ser$i&or &e a "icaciones ara coo erar con ser$i&ores 7e(.....................................................................................69;mod?@B......................................................................................................................................................................................................... 2 7

    mod?pro '.................................................................................................................................................................................................. 2%2

    Seguri&a& en e" ser$i&or &e a "icaciones. Configurar e" ser$i&or &e a "icaciones con so orte SSL!-SL......................................62=

    Pr'cticas fina"es................................................................................................................................................................................666

  • 8/20/2019 Despliegue de Aplicaciones Web

    10/338

    DAW – Despliegue de Aplicaciones Web htt s:!!sites.goog"e.co#!site!sergiocuesta

    -i os &e usuarios accesos a" ser$icio...........................................................................................................................................66>

  • 8/20/2019 Despliegue de Aplicaciones Web

    11/338

    DAW – Despliegue de Aplicaciones Web htt s:!!sites.goog"e.co#!site!sergiocuesta

    C"ientes gr'ficos...............................................................................................................................................................................6>6

    Autenticaci+n &e usuarios en e" ser$icio &e &irectorios....................................................................................................................6><4l atributo olcAccess...................................................................................................................................................................................2 0

    Contrase as para los usuarios.................................................................................................................................................................... 2 8

    Aplicando las directi(as.................... ........... ........... ........... .......... ........... ........... ........... .......... ........... ........... ........... ........... .......... ...... ...... ... 3

    Control de acceso en redes de ordenadores................. .......... ........... ........... ........... .......... ........... ........... ........... ........... .......... .......... ...... ... 3 8

    A&a taci+n &e "a configuraci+n &e" ser$i&or &e &irectorios ara e" &es "iegue &e "a a "icaci+n. Usuarios centra"i@a&os.......... ....09>=DA< ' Apache........................................................................................................................................................................................... 3

    =DA< ' omcat............................................................................................................................................................................................ 3%3

    - E1A : DOCU1EN-ACI3N SIS-E1AS DE CON-4OL DE VE4SIONES........................................................................................02=?erra#ientas e ternas ara "a generaci+n &e &ocu#entaci+n........................................................................................................02>

    ,nstalaci#nE con6iguraci#n ' uso............. ........... ........... ........... ........... .......... ........... ........... ........... ........... .......... ........... ........... ........... ......... 32

    Creaci#n ' utili5aci#n de plantillas...............................................................................................................................................................32%

    Insta"aci+n/ configuraci+n uso &e siste#as &e contro" &e $ersiones............................................................................................066

    AP NDICES...............................................................................................................................................................06<We(#in: Una interfa@ gr'fica &e ainistraci+n..............................................................................................................................06;

    Un e*ue,o ser$i&or DNS................................................................................................................................................................068

    Insta"ar 1 S5L.................................................................................................................................................................................008

    Sergio Cuesta Vicente%% de 338

    https://sites.google.com/site/sergiocuesta/https://sites.google.com/site/sergiocuesta/

  • 8/20/2019 Despliegue de Aplicaciones Web

    12/338

    DAW – Despliegue de Aplicaciones Web htt s:!!sites.goog"e.co#!site!sergiocuesta

    -e#a 2: I# "antaci+n &e ar*uitecturas 7e(

    Sergio Cuesta Vicente%2 de 338

    https://sites.google.com/site/sergiocuesta/https://sites.google.com/site/sergiocuesta/

  • 8/20/2019 Despliegue de Aplicaciones Web

    13/338

    DAW – Despliegue de Aplicaciones Web htt s:!!sites.goog"e.co#!site!sergiocuesta

    La ar*uitectura 7e( a"gunos #o&e"os

    Una a "icaci+n 7e(/ o 7e( en genera" necesita &e una estructura *ue er#ita su acceso &es&e &iferentes "ugares F#'*uinas . Esta estructuraes "o *ue se &eno#ina Ar*uitectura We( Frea"#ente este no#(re se &a ta#(iHn a" &ise,o &e to&a "a estructura .

    La gran #a or a &e "as ar*uitecturas 7e( en "aactua"i&a& se (asan en un #o&e"o cliente/servidor :una co#unicaci+n asi#Htrica en "a *ue uno &e "ose tre#os ofrece uno o #'s ser$icios e" otro haceuso &e H". ste es e" #o&e"o so(re e" *uecentrare#os e" curso/ ero no ha *ue o"$i&ar otros

    #o&e"os co#o P2P (peer-to-peer), B2B(bussiness to bussiness), etc.

    E" tHr#inoservicio es #u a# "io #uchas $ecesconfuso. Por e)e# "o se ue&e consi&erar una 7e(a "a *ue acu&i#os a co# rar ro&uctos un ser$icioen si #is#a/ ero a "a $e@ &icho ser$icio est'co# uesto &e ser$icios &e seguri&a&/ &e sesi+n/ &etransacciones/ etcHtera.

    La estructura &e una Ar*uitectura We( actua" siguee" siguiente modelo :

    2. Una capa cliente : es genera"#ente e"na$ega&or We( e)ecut'n&ose en e"

    Sergio Cuesta Vicente%3 de 338

    https://sites.google.com/site/sergiocuesta/https://sites.google.com/site/sergiocuesta/

  • 8/20/2019 Despliegue de Aplicaciones Web

    14/338

    DAW – Despliegue de Aplicaciones Web htt s:!!sites.goog"e.co#!site!sergiocuesta

    or&ena&or &e" usuario fina". E isten otras o ciones #'s ('sicas ero en "a actua"i&a& "a otencia &i$ersi&a& &e "os na$ega&orese istentes Fas co#o su gratui&a& han re"ega&o "as &e#'s o ciones a "a r'ctica &esa arici+n.

    6. Un ser$i&or We( Fcapa de negocio : La ca a c"iente ue&e acce&er a &iferente "+gica roce&i#ientos *ue e isten en "a ca a &enegocio. A*u "a "+gica ue&e ser #ucho #'s co# "e)a *ue en "a ca a anterior. Los co# onentes &e esta ca a ue&en ser &es&esi# "es archi$os ?-1L hasta Ser$"ets &e a$a. E isten #uchas tecno"og as *ue ue&en usarse en este ni$e": or e)e# "o scri ting

    7e( co#o P?P/ ASP o SP a "engua)es &e rogra#aci+n co#o -CL/ CO4BA PE4L.0. Una capa de datos : Se co# one &e un siste#a &e a"#acena#iento acceso a &atos *ue se uti"i@an ara confeccionar "a 'gina We(.

    Genera"#ente es un gestor &e (ases &e &atos re"aciona"es FSGDB ero ue&en ser ficheros &e te to "ano/ ficheros J1L/ etc. Unao ci+n ca&a $e@ #'s usa&a es "a creaci+n &e ficheros J1L a artir &e &atos a"#acena&os en una (ase &e &atos su resentaci+n#e&iante a"guna &e "as o ciones $istas e" curso asa&o co#o or e)e# "o JSL-.

    La ca a &e negocio ue&e estar a su $e@ &i$i&i&a en &os artes si e" siste#a es suficiente#ente gran&e o co# "e)o. Pue&e &i$i&irse en unaca a &e resentaci+n una ca a &e "+gica &e negocio.

    • La capa de presentación se encarga &e co# oner "as 'ginas integran&o "a arte &in'#ica en "a est'tica. A&e#'s ta#(iHn rocesa"as 'ginas *ue en$ a e" c"iente F or e)e# "o &atos en for#u"arios . A"gunas so"uciones ara esta su(ca a son "os ASP &e 1icrosoft o"os SP &e a$a. Esta arte "a rea"i@a genera"#ente un ser$i&or 7e(.

    • La capa de lógica de negocio ""e$a a ca(o o eraciones #'s co# "e)as. Se corres on&e con "a i# "antaci+n &e un ser$i&or &ea "icaciones. 4ea"i@a #uchos ti os &e o eraciones entre "os *ue &estacan:

    o 4ea"i@ar to&as "as o eraciones $a"i&aciones.o Gestionar e" f"u)o &e tra(a)o F7orKf"o7 inc"u en&o e" contro" gesti+n &e "as sesiones "os &atos *ue se necesitan.o Gestionar to&as "as o eraciones &e accesos a &atos &es&e "a ca a &e resentaci+n.

    En e" caso &e estar usan&o 'ginas 7e( est'ticas Fno ca#(ian en funci+n &e &i$ersas $aria("es no e istir a "a ca a &e &atos a *ue estos $anincor ora&os en "os ro ios archi$os &e #arcas *ue ser'n "as confor#an "as 'ginas 7e(.

    Este su uesto es ca&a $e@ #enos co# n. De(i&o a "a intro&ucci+n &e &ina#is#o en "as 'ginas/ "a estructura $ista anterior#ente se ha $istoa"tera&a sensi("e#ente:

    Sergio Cuesta Vicente% de 338

    https://sites.google.com/site/sergiocuesta/https://sites.google.com/site/sergiocuesta/

  • 8/20/2019 Despliegue de Aplicaciones Web

    15/338

    DAW – Despliegue de Aplicaciones Web htt s:!!sites.goog"e.co#!site!sergiocuesta

    • Los na$ega&ores We( son ca aces &e inter retar &iferentes e"e#entos &in'#icos aut+no#a#ente o #e&iante "ugins F)a$ascri t/f"ash/ etc.

    • Los ser$i&ores We( ta#(iHn ue&en inter retar c+&igo ara generar "as 'ginas 7e(. As se ue&en intro&ucir e*ue,os rogra#as*ue a"teren e" conteni&o o as ecto fina" &e una 'gina 7e( &e en&ien&o &e &iferentes e"e#entos co#o e" usuario *ue acce&e o "ainfor#aci+n so"icita&a en ca&a #o#ento. E" ser$i&or 7e( necesita &e a"g n #+&u"o a&iciona" ara o&er inter retar este c+&igo.Genera"#ente se e# otra en e" ro io ser$i&or 7e( ara "engua)es &e scri t o se incor ora en un ser$i&or a arte F&e a "icaciones

    ara "os "engua)es #'s otentes. A"gunos "engua)es *ue t ica#ente se usan en "as 'ginas &in'#icas en e" ser$i&or son P?P/ P thon/4u( o a$a. Estos "engua)es ta#(iHn er#iten e" acceso a "a ca a &e &atos "a interca"aci+n &e estos &atos entre "os e"e#entos &e "a

    'gina fina".Un e)e# "o &e" #o&e"o co# "eto estar a co# uesto or un ser$i&or A ache un -o#cat *ue se conecte a una (ase &e &atos. Un e)e# "o &e"si# "ifica&o ser a un ser$i&or LA1P.

    D+n&e se e)ecute e" c+&igo &e &ina#i@aci+n &e "a 'gina &eter#inar' si e" "engua)e &e rogra#aci+n es &e entorno c"iente o &e entornoser$i&or co#o se estu&iar' en "os otros &os #+&u"os &e conteni&o infor#'tico &e este curso &e" cic"o.

    A esar &e *ue e" #o&e"o C"iente!Ser$i&or es e" #'s e ten&i&o/ e" W0C &escri(e cuatro #o&e"os &e ar*uitectura &e ser$icios 7e(. Estosconce tos "os $ere#os or enci#a or no tener una gran inf"uencia en e" resto &e" curso:

    2. E"1o&e"o Orienta&o a 1ensa)es : Se centra en &efinir "os #ensa)es/ su estructura/ "a for#a &e trans ortar"os/ etc. sin referencias a" or*uH &e ca&a #ensa)e ni a su significa&o.

    6. E" 1o&e"o Orienta&o a Ser$icios: Es e" #'s e ten&i&o e" #'s co# "e)o &e to&os. Aun*ue usa #ensa)es/ su &efinici+n no se (asa ene""os si no en *uH se ro orciona a "os rece tores &e &icho ser$icio. E" ser$icio "o ""e$a a ca(o un agente "o usa otro agente/ uti"i@an&o

    #ensa)es ara co#unicarse. En este #o&e"o se usan #eta&atos ara for#ar &e acor&ar #uchos as ectos &e "a co#unicaci+n en si#is#a.

    0. E"1o&e"o Orienta&o a 4ecursos : Este #o&e"o se (asa en "a creaci+n &e recursos su accesi(i"i&a& #e&iante re&es.

    Sergio Cuesta Vicente%0 de 338

    https://sites.google.com/site/sergiocuesta/https://sites.google.com/site/sergiocuesta/

  • 8/20/2019 Despliegue de Aplicaciones Web

    16/338

    DAW – Despliegue de Aplicaciones Web htt s:!!sites.goog"e.co#!site!sergiocuesta

  • 8/20/2019 Despliegue de Aplicaciones Web

    17/338

    DAW – Despliegue de Aplicaciones Web htt s:!!sites.goog"e.co#!site!sergiocuesta

    Un #o&e"o si# "e ara e" &es "iegue &e a "icaciones We(

    En "a actua"i&a& "a #a or arte &e "a infor#aci+n "+gica &e un negocio &e(e ser accesi("e &es&e &iferentes "ugares. A*u entran en )uego "asa "icaciones 7e(.

    -o&os ensa#os en tien&as on"ine co#o #o&e"o &e una a "icaci+n 7e(/ ero ha otros #uchos co#o or e)e# "o una a "icaci+n &e co# ra$enta &e acti$os entre &os (ancos en e" sector entre negocios FB6B .

    Se ue&e i#aginar in#e&iata#ente *ue "a seguridad es un as ecto c"a$e en este ti o &e a "icaciones/ ero no e" nico. 1uchas $eces "avelocidad estabilidad &e "a co#unicaci+n &e" ser$icio en s ue&en ser tanto o #'s cr ticas.

    Cuan&o uno $a a &esarro""ar e i# "antar una a "icaci+n 7e( &e(e tener en cuenta $arios factores. Lo ri#ero &e(e ser hacerse una idea general de la aplicación &e "as &iferentessoluciones *ue o&e#os uti"i@ar. Se &e(en tener en cuenta "as tres ca as. Un error #u co# nes e" uso &e un nico con)unto &e tecno"og as constante#ente. Por su uesto conocer una tecno"og a es un unto a fa$or &e su uso/ ero#uchas $eces $a#os a ""e$ar a ca(o una so"uci+n #anifiesta#ente #e)or nica#ente or no ha(er consi&era&o usar otras afrontar sua ren&i@a)e.

    E" siguiente as ecto a consi&erar ser a e" coste . Cu'nto nos $a a costar *uH resu uesto tene#os.

    Estos factores ha *ue consi&erar"os antes de firmar ning n contrato e inc"uso antes &e &ar un resu uesto aun*ue sea orientati$o.

    Por e)e# "o una co# a, a &e $enta &e $eh cu"os in&ustria"es *uiere una a "icaci+n 7e( ara u("icar sus &atos &e $entas *ue "os

    co#ercia"es ue&an acce&er a e""a re#ota#ente. Necesitare#os una (ase &e &atos en "a *ue se a"#acenen "os &iferentes $eh cu"os sus$entas. -a#(iHn har' fa"ta una "+gica *ue #antenga to&o e" siste#a actua"i@a&o er#ita #o&ificaciones. A&e#'s necesitare#os una ca a &ec"iente con autenticaci+n ara *ue "os &iferentes $en&e&ores ue&an acce&er a" siste#a/ consu"tar actua"i@ar "os &atos.

    Sergio Cuesta Vicente%+ de 338

    https://sites.google.com/site/sergiocuesta/https://sites.google.com/site/sergiocuesta/

  • 8/20/2019 Despliegue de Aplicaciones Web

    18/338

    DAW – Despliegue de Aplicaciones Web htt s:!!sites.goog"e.co#!site!sergiocuesta

    Des uHs &e "a e$a"uaci+n se ue&e &eci&ir no afrontar e" ro ecto or #uchos #oti$os. A&e#'s &e "os costes a #enciona&os o&r a &arse e"caso &e *ue no tenga#os "os conoci#ientos o "a infraestructura ara ""e$ar a ca(o e" ro ecto.

    Una $e@ $a a#os a rea"i@ar e" ro ecto &e(ere#os oner en r'ctica "os conoci#ientos a&*uiri&os &urante e" estu&io &e este cic"o/ ero

    #uchas $eces es &if ci" hacerse una i&ea &e c+#o hacer"oM a*u nos orientan con un e)e# "o esta e*ue,a gu a nos ue&e ser #u ti" araorgani@ar e" front en&.

    !u" es una aplicaci#n $eb

    Es una a "icaci+n *ue se $a a e)ecutar a tra$Hs &e internet. Constar' &e &os artes Fa" #enos una en e" "a&o ser$i&or otra *ue se e)ecutar'en "a #'*uina &e" c"iente en un na$ega&or 7e(. Las a "icaciones 7e( se eng"o(an en e" conce to su erior &e a "icaciones &istri(ui&as. E"ser$i&or one a &is osici+n &e" c"iente &iferentes recursos. E)e# "os &e a "icaciones 7e( son e" correo e"ectr+nico 7e(/ "as tien&as on"ine/ "asre&es socia"es/ etc.

    &ases de un pro'ecto de una aplicaci#n $eb

    Se ue&en consi&erar cuatro fases en e" ro ecto:

    2. Concepto : Durante esta fase se &e(e o(tener una i&ea c"ara concreta &e *uH *uiere e" c"iente. A&e#'s ha *ue o(tener una i&eagenera" &e c+#o se ""e$ar' a ca(o &e si es $ia("e o no. ?a *ue &eter#inar "as "i#itaciones rea"es con *ue nos o&e#os encontrar.Por e)e# "o "a cone i+n a internet e istente en "a @ona ue&e no ser suficiente ara o(tener "os resu"ta&os re$istos. Otro e)e# "o &e

    ro("e#a ue&a ser *ue "a tecno"og a necesaria sea &e#asia&o cara. Es $ita" *ue a" ter#inar esta fase se tenga una &ocu#entaci+n

    *ue &efina c"ara#ente "os " #ites o()eti$os &e" ro ecto.

    6. Dise o : Esta fase se centra en res on&er a c+#o hare#os "a a "icaci+n. ?a *ue concretar "as tecno"og as Ftanto soft7are co#ohar&7are *ue usare#os c+#o se $an a co#unicar entre e""as. -a#(iHn ha *ue &eter#inar "os &istintos #+&u"os *ue usare#os sus interfaces. Es #u i# ortante rea"i@ar un "an &e ro ecto rea"ista en e" *ue se &i$i&an "as tareas res onsa(i"i&a&es se ca"cu"en

    Sergio Cuesta Vicente%8 de 338

    https://sites.google.com/site/sergiocuesta/http://www.w3.org/community/webed/wiki/Information_Architecture_-_planning_out_a_web_sitehttp://www.w3.org/community/webed/wiki/Information_Architecture_-_planning_out_a_web_sitehttp://www.w3.org/community/webed/wiki/Building_up_a_site_wireframehttp://www.w3.org/community/webed/wiki/Building_up_a_site_wireframehttp://www.w3.org/community/webed/wiki/Information_Architecture_-_planning_out_a_web_sitehttp://www.w3.org/community/webed/wiki/Building_up_a_site_wireframehttps://sites.google.com/site/sergiocuesta/

  • 8/20/2019 Despliegue de Aplicaciones Web

    19/338

    DAW – Despliegue de Aplicaciones Web htt s:!!sites.goog"e.co#!site!sergiocuesta

    "os tie# os ara ca&a e"e#ento as co#o su secuencia &e en&encias. -a#(iHn ha *ue o(tener una es ecificaci+n funciona" en "a*ue se &eta""en tanto e" funciona#iento co#o e" f"u)o &e "a a "icaci+n.

    0. Desarrollo : En esta fase se &e(e &esarro""ar e" ro ecto en s . Es #u i# ortante ""e$ar a ca(o rue(as tanto unitarias co#o &e

    integraci+n as co#o gestionar una &ocu#entaci+n &e" &esarro""o un contro" &e $ersiones.

  • 8/20/2019 Despliegue de Aplicaciones Web

    20/338

    DAW – Despliegue de Aplicaciones Web htt s:!!sites.goog"e.co#!site!sergiocuesta

    Ser$i&ores 7e(

    Un servidor !eb es un rogra#a o con)unto &e e""os *ue ro orciona un ser$icio a tra$Hs &e una re&. La co#unicaci+n con un ser$i&or 7e(sue"e hacerse #e&iante e" rotoco"o htt Fh erte t transfer rotoco" *ue est' eng"o(a&o en "a ca a &e a "icaci+n &e"#o&e"o OSI.

    1uchas $eces ser$i&or 7e( se usa co#o referencia ta#(iHn a" "ard!are *ue "o a"o)a/ ero esto es ine acto or*ue e" #is#o har&7are ue&ea"(ergar #uchas otras funciona"i&a&es o ue&e &arse e" caso &e *ue un #is#o har&7are contenga $arios ser$i&ores 7e( Fa $eces si#u"a&os .

    E" o()eti$o &e un ser$i&or 7e( es ro orcionar "os #e&ios ara er#itir "a co#unicaci+n entre &os o #'s rogra#as o gru os &e soft7are sini# ortar "a tecno"og a usa&a ara crear o erar ca&a uno &e e""os.

    En "a actua"i&a& e"ser$i&or 7e( #'s e ten&i&o con #ucha &iferencia es #pac"e . Por e""o ser' en e" *ue centrare#os este curso. E isten#uchos otros ser$i&ores 7e(. Una for#a f'ci" &e consu"tar "a "ista $er una co# arati$a #u genera" es $isitan&o "a WiKi e&ia. Enesta otra se

    ue&en "eer "as rinci a"es caracter sticas &e ca&a uno.

    Los ser$i&ores 7e( se eng"o(an en un con)unto &e siste#as #'s genera" *ue se &eno#ina modelo distribuido or*ue e" siste#a no esunitario/ est' re arti&o entre &iferentes #'*uinas o con)untos &e har&7are. Este #o&e"o tiene *ue afrontar a"gunos ro("e#as *ue ha *uetener sie# re en cuenta:

    2. La "atencia oca fia(i"i&a& &e" trans orte F or e)e# "o "a re& .6. La fa"ta &e #e#oria co# arti&a entre "as artes.0. Los ro("e#as &eri$a&os &e fa""os arcia"es.

  • 8/20/2019 Despliegue de Aplicaciones Web

    21/338

    DAW – Despliegue de Aplicaciones Web htt s:!!sites.goog"e.co#!site!sergiocuesta

    QDe *uH se encarga ca&a ni$e" &e "a i"a &e" #o&e"o OSIR Q5uH rotoco"os se inc"u en en ca&a ca aR I&entif ca"os e "ica #u (re$e#ente *uH hace ca&a uno.

    Ser(icios Web

    Un servicio !eb es un conce to a(stracto *ue &e(e i# "e#entarse #e&iante un agente : un e&a@o &e soft7are *ue en$ a/ reci(e rocesa#ensa)es #ientras *ue e" ser$icio es e" conce to &e *uH hace. E" agente so"o &e(e a)ustarse a "a &efinici+n &e una interfa@ F&os rea"#ente/una hacia &entro F i"a OSI otra hacia fuera ue&e #o&ificarse o inc"uso rehacerse en otro "engua)e &e rogra#aci+n sin ning n ro("e#a.E" &ise,o se rea"i@a siguien&o nor#as &e #o&u"ari&a& ara er#itir estas #o&ificaciones.

    Es &e $ita" i# ortancia *ue e" ser$icio 7e( estH (ien &efini&o ara osi(i"itar "a co#unicaci+n entre a#(os e tre#os. Por e""o ha #uchosest'n&ares so(re ser$icios 7e( *ue er#iten "a co#unicaci+n &e un c"iente genHrico F or e)e# "o un na$ega&or 7e( con &i$ersos ser$icios.

    Genera"#ente "a &efinici+n &e un ser$icio se rea"i@a en una API *ue es ecifica c+#o co#unicarse con e" ser$icio.

    E" roceso ara usar e" ser$icio es co#o sigue:

    2. E" c"iente e" ser$i&or &e(en ser conscientes &e "a e istencia &e" otro. En e" caso #'s ha(itua" es e" c"iente e" *ue infor#a a" ser$i&or&e su intenci+n &e usar e" ser$icio ero ta#(iHn ue&e ser e" ser$i&or e" *ue inicie e" contacto. Si es e" c"iente e" *ue co#ien@a/ ue&ehacer"o o (ien conocien&o re$ia#ente c+#o "oca"i@ar e" ser$i&or o usan&o e" ser$icio ara &escu(rir ser$icios FWe( Ser$iceDisco$er .

    6. A#(as artes &e(en onerse &e acuer&o so(re "os ar'#etros *ue regir'n "a co#unicaci+n. Esto no significa *ue &iscutan/ so"o *ue"as nor#as rotoco"os &e(en ser "as #is#as en a#(as artes.0. Los agentes &e a#(os "a&os e# ie@an a interca#(iar #ensa)es. E" ser$i&or 7e( necesita co# oner "as 'ginas en caso &e *ue ""e$en

    e"e#entos #u"ti#e&ia e inc"uso necesitar' rea"i@ar otras acciones si "a 'gina se crea &in'#ica#ente.

    Sergio Cuesta Vicente 2% de 338

    https://sites.google.com/site/sergiocuesta/https://sites.google.com/site/sergiocuesta/

  • 8/20/2019 Despliegue de Aplicaciones Web

    22/338

    DAW – Despliegue de Aplicaciones Web htt s:!!sites.goog"e.co#!site!sergiocuesta

    Alternati(as

    Antes &e &eci&irse a insta"ar nuestro ro io ser$i&or 7e(/ &e(e#os tener en cuenta *ue no sie# re es "a #e)or o ci+n. Lo ri#ero *ue

    &e(e#os sa(er es *uH *uiere e" c"iente. De en&ien&o &e" ta#a,o &e" ser$icio *ue $a a#os a ro orcionar &e "a i# ortancia &e o&ercontro"ar to&os "os as ectos &e" ser$i&or/ o&e#os &eci&ir usar otras osi(i"i&a&es.

    Por otro "a&o "a #'*uina *ue necesita#os ten&r' *ue tener #ucha 4A1 ca aci&a& &e a"#acena#iento a arte &e so ortar gran&es cargas&e tra(a)o. La cone i+n a internet ta#(iHn &e(er' ser otente necesitare#os contratar una &irecci+n IP est'tica.

    Lo ri#ero *ue se &e(e tener en cuenta es si nos interesa tener nuestro ro io ser$i&or 7e( o contratar un ser$icio &e a"#acena#iento 7e(F 7e( "osting . 4ea"#ente e" tHr#ino We( ?osting inc"u e e" tener un ser$i&or ro io/ ero en "a actua"i&a& se uti"i@a ara &eno#inar e" a"*ui"ares acio en un ser$i&or &e otra co# a, a. Genera"#ente esta co# a, a est' &e&ica&a a e""o es ec fica#ente. Las $enta)as &e este caso son"as o($ias: no tene#os *ue reocu arnos &e a&*uirir ni #antener ni e" har&7are ni e" soft7are necesario. A&e#'s "a fia(i"i&a& &e" ser$icio &euna e# resa es ecia"i@a&a sue"e ser #u a"ta.

    E isten casos en "os *ue inc"uso ha tecno"og as #'s es ec ficas ara nuestras necesi&a&es. Ca&a $e@ es #'s ha(itua" "a e istencia &e sitios 7e( en "os *ue "a a ariencia no ca#(ia ero e" conteni&o es actua"i@a&o constante#ente. Para estos casos se ue&e usar un gestor decontenidos . Con e""os se er#ite a" usuario actua"i@ar "a infor#aci+n &e" sitio sin necesi&a& &e *ue tenga conoci#ientos 7e( concretos.E isten #uchos gestores 7e(/ a"gunos co#ercia"es caros ero #u onentes. -a#(iHn ha &os a"ternati$as gratuitas #u e ten&i&as:

    oo#"a Dru a".

    "ti#a#ente se consi&era inc"uso una a"ternati$a #'s senci""a si se *uiere una 7e( infor#ati$a (astante senci""a. Wor& ress e# e@+ sien&ouna "atafor#a ara a"o)ar ("ogs ero ca&a $e@ inc"u e #'s o ciones osi(i"i&a&es &e configuraci+n er#itien&o ""e$ar a ca(o 'ginas(astante atracti$as. En "a actua"i&a& es un gestor &e conteni&os *ue inc"uso ue&e insta"arse &e #anera aut+no#a co#o se in&ica a*u .

    htt :!!777.fra#e7or .co.@a!

    htt :!!777.7e(&esigner&e ot.co#!

    Sergio Cuesta Vicente 22 de 338

    https://sites.google.com/site/sergiocuesta/http://en.wikipedia.org/wiki/Web_hosting_servicehttp://en.wikipedia.org/wiki/Web_hosting_servicehttp://www.joomla.org/http://www.joomla.org/http://drupal.org/http://drupal.org/http://es.wordpress.com/https://wordpress.org/http://www.frameworx.co.za/http://www.webdesignerdepot.com/http://en.wikipedia.org/wiki/Web_hosting_servicehttp://en.wikipedia.org/wiki/Web_hosting_servicehttp://www.joomla.org/http://drupal.org/http://es.wordpress.com/https://wordpress.org/http://www.frameworx.co.za/http://www.webdesignerdepot.com/https://sites.google.com/site/sergiocuesta/

  • 8/20/2019 Despliegue de Aplicaciones Web

    23/338

    DAW – Despliegue de Aplicaciones Web htt s:!!sites.goog"e.co#!site!sergiocuesta

    htt :!!&esignshacK.net!

    Son a"gunos e)e# "os &e 'ginas hechas en Wor& ress.

    Busca co# arati$as entre #ontar tu ro io ser$i&or/ contratar un hosting e terno o usar 7or& ress. Q5uH funciona"i&a&escrees *ue son #'s i# ortantesR QPor cu'" te &ecantar as ara crear "a 7e( &e una ana&er aR Q &e un centro &e orti$o#unici a"R Q"a &e "a conse)er a &e &e ortes &e "a Co#uni&a& &e 1a&ri& "a rea"i@ar as con e" #is#o siste#aR

    Los gestores &e conteni&o co#o oo#"a/ Dru a" o Wor& ress est'n generan&o (astantes ofertas &e tra(a)o en "aactua"i&a&. Busca en Internet "as rinci a"es caracter sticas &e ca&a uno "os #oti$os *ue te ue&en ""e$ar a &eci&irte oruno u otro.

    )!u" necesito para montar un ser(idor $eb*

    Lo ri#ero *ue necesitas es una m$%uina con una otencia ca a@ &e aten&er "as eticiones *ue $a a a rocesar. Este unto es cr tico &if ci"&e gestionar or*ue no sa(e#os cu'" ser' "a &e#an&a #uchas $eces es co# "e)o esti#ar "a carga &e tra(a)o *ue so ortar'. Es #ureco#en&a("e *ue sea una #'*uina &e&ica&a o *ue cu# "a otras funciones re"aciona&as con interca#(io &e infor#aci+n en internet co#ogestionar correo e"ectr+nico o -P.

    -a#(iHn es $ita" *ue e" sistema operativo *ue e"i)a#os sea esta("e. No tiene ning n senti&o e"egir un siste#a o erati$o *ue &e)e &e estarfunciona" con faci"i&a&. Es con$eniente *ue ""e$e cierta seguri&a& contro" &e er#isos integra&o. Los siste#as #'s ha(itua"es son &iferentes$ersiones &e UNIJ F or e)e# "o So"aris ero "as &iferentes &istri(uciones &e Linu est'n to#an&o una osici+n fuerte or su (a)o Foine istente coste. Win&o7s ta#(iHn es una (uena o ci+n Fso(re to&o sus $ersiones ser$i&or ero es #'s caro *ue Linu es #'s &if ci" &egestionar &e(i&o a "a &i$ersi&a& &e configuraciones/ o ciones funciona"i&a& *ue ""e$en integra&os.

    Sergio Cuesta Vicente 23 de 338

    https://sites.google.com/site/sergiocuesta/http://designshack.net/http://designshack.net/https://sites.google.com/site/sergiocuesta/

  • 8/20/2019 Despliegue de Aplicaciones Web

    24/338

    DAW – Despliegue de Aplicaciones Web htt s:!!sites.goog"e.co#!site!sergiocuesta

    Lo siguiente *ue ten&r's *ue conseguir es una dirección &P est$tica . Por su uesto &e(e ser una &irecci+n &e internet a no ser *ue tu o()eti$osea #ontar una intranet. Nuestra #'*uina &e(e ser accesi("e &es&e re&es re#otas.

    Consu"ta c+#o se ue&e contratar una &irecci+n IP est'tica cu'nto cuesta.

    Los no#(res &irecciones &e internet *ue conoce#os se (asan en un siste#a ""a#a&o DNS *ue "o *ue hace es con$ertir esas &irecciones"egi("es ara nosotros en &irecciones IP $ice$ersa. Si nuestra &irecci+n IP ca#(ia frecuente#ente cuan&o a"guien fuera a acce&er a nuestra

    'gina esta "e a arecer a co#o no &is oni("e a esar &e *ue to&o e" resto &e" siste#a estu$iera tra(a)an&o.

    Q5uH es DNSR Q5uiHn "o gestionaR QC+#o se consigue un no#(re &e &o#inioR

    Para a"ternati$as co#o Wor& ress o un hosting e terno/ Qes necesario un no#(re &e &o#inioR

    E iste "a osi(i"i&a& &e funcionar con una &irecci+n IP &in'#ica #e&iante siste#as co#o htt :!!& n.co#!&ns! *ue #antienen sie# reactua"i@a&a nuestra &irecci+n ero so"o es reco#en&a&o Finc"uso en "a ro ia 'gina ara ser$i&ores con #u oca carga &e cone iones tra(a)o.

    La cone'ión a internet 2 "oras se &a or garanti@a&a ero ta#(iHn i# "ica ciertos ro("e#as co#o "a a&*uisici+n &e &is ositi$os &e re& *ueaguanten ese horario sin so(reca"entarse o saturarse.

    E"soft!are &e" ser$i&or &e" *ue a he#os ha("a&o sin e" *ue no o&r a#os tra(a)ar.

    Sergio Cuesta Vicente 2 de 338

    https://sites.google.com/site/sergiocuesta/http://dyn.com/dns/http://dyn.com/dns/https://sites.google.com/site/sergiocuesta/

  • 8/20/2019 Despliegue de Aplicaciones Web

    25/338

    DAW – Despliegue de Aplicaciones Web htt s:!!sites.goog"e.co#!site!sergiocuesta

    Configurar nuestra #'*uina ara *ue sea accesi("e ero i# i&ien&o "a cone i+n &e &esconoci&os a artes &e" siste#a cr ticas o *ue no*uere#os u("icar. En &efiniti$a/ ha *ue #e)orar "a seguri&a&.

    Sergio Cuesta Vicente 20 de 338

    https://sites.google.com/site/sergiocuesta/https://sites.google.com/site/sergiocuesta/

  • 8/20/2019 Despliegue de Aplicaciones Web

    26/338

    DAW – Despliegue de Aplicaciones Web htt s:!!sites.goog"e.co#!site!sergiocuesta

    Insta"aci+n configuraci+n ('sica &e un ser$i&or 7e(: A ache

    Nosotros $a#os a o tar or insta"ar un ser$i&or 7e( A ache en un siste#a o erati$o Linu . Es una &e "as o ciones #'s e ten&i&as "aosi(i"i&a& &e o(tener este soft7are &e #anera gratuita &is#inu e #ucho "os costes ero no es "a nica ra@+n. A ache &estaca so(re otros

    ser$i&ores or:

    • -iene un &ise,o #o&u"ar a"ta#ente configura("e.• Es &e c+&igo a(ierto or "o *ue e isten #uchas e tensiones herra#ientas &e terceros.• unciona #u (ien con Per"/ P?P otros "engua)es &e scri t.• E isten $ersiones ara #uchos siste#as o erati$os inc"u en&o Win&o7s/ Linu 1ac OS J.

    La fa#i"ia A ache 6 tra)o #uchas #e)oras con res ecto a "a ri#era $ersi+n so(re to&o en e" "ano &e "a f"e i(i"i&a&/ esca"a(i"i&a& orta(i"i&a&.

    Lo #'s "+gico ser a insta"ar A ache en un siste#a o erati$o &e ti o ser$i&or FU(untu Ser$er ero or #oti$os &i&'cticos/ $a#os a insta"ar"o enuna $ersi+n est'n&ar con interfa@ gr'fica. Es #enos seguro or "o *ue en un siste#a en ro&ucci+n &e(er a#os o tar or "a otra o ci+n. A

    esar &e usar un Linu con interfa@ gr'fica $a#os a insta"ar to&o &es&e "a $entana &e ter#ina"/ or "o *ue "os asos se o&r'n a "icar a unser$i&or.

    A ache ue&e funcionar &e for#a aut+no#a/ ero en "a actua"i&a& F#'s a n ha("an&o &e a "icaciones 7e( sue"e necesitar una (ase &e &atos ca&a $e@ son #'s "os siste#as *ue usan P?P. Por e""o han ro"ifera&o "os insta"a&ores A1P FA ache/ 1 S5L P?P *ue insta"an

    configuran "os tres siste#as ara *ue funcionen &e #anera con)unta. Esto re*uiere conocer en rofun&i&a& "a configuraci+n &e "os trese"e#entos ara o&er tener un ser$i&or seguro. Para seguri&a& so(re P?P 1 S5L ha(r' *ue referirse a "os #+&u"os ro ios.

    JA1PP es "a $ersi+n #'s usa&a ara Win&o7s Linu . De en&ien&o &e" siste#a ara e" *ue $a an orienta&os/ estos a*uetes se ""a#anWA1P LA1P genHrica#ente. La insta"aci+n &e estos a*uetes es tre#en&a#ente senci""a.

    Sergio Cuesta Vicente 27 de 338

    https://sites.google.com/site/sergiocuesta/http://www.apachefriends.org/es/xampp.htmlhttp://www.apachefriends.org/es/xampp.htmlhttp://www.apachefriends.org/es/xampp.htmlhttps://sites.google.com/site/sergiocuesta/

  • 8/20/2019 Despliegue de Aplicaciones Web

    27/338

    DAW – Despliegue de Aplicaciones Web htt s:!!sites.goog"e.co#!site!sergiocuesta

    *+# En anteriores $ersiones &e estos a untes/ se inc"u a una gu a ara rea"i@ar una insta"aci+n #anua" &e A ache. ?e &eci&i&o *uitar"aor*ue este #+&u"o se inc"u e en un cic"o so(re &esarro""o no so(re ainistraci+n/ or*ue es &e#asia&o farragosa/ or*ue no "a

    us'(a#os &urante e" resto &e" curso or*ue *uita(a &e#asia&o tie# o *ue "uego ech'(a#os en fa"ta &urante "os "ti#os te#as. Consi&ero*ue un a"u#no *ue ter#ina e" cic"o &e(e ser ca a@ &e rea"i@ar "a insta"aci+n #anua" siguien&o una gu a con "os conoci#ientos &e Linu

    a&*uiri&os en Siste#as O erati$os "os &e A ache *ue se e "ican en este #+&u"o.

    Comprobaci#n ' eliminaci#n de otras (ersiones

    En "a #a or a &e "as gu as tutoria"es &e internet $er's *ue insta"an ri#ero 1 S5L. Esto es or*ue faci"ita "a insta"aci+n/ ero Q si tene#os*ue #ontar una (ase &e &atos en un ser$i&or 7e( *ue a est' funcionan&oR Nosotros insta"are#os ri#ero "a o ci+n #'s ('sica &e nuestroser$i&or 7e(.

    Antes &e na&a/ #'s a n en un ser$i&or *ue $a a a u("icar en "a 7e(/ &e(e#os asegurarnos &e tener e" contro" a(so"uto. 1uchas $ersiones

    &e Linu $ienen con a*uetes &e A ache preinstalados as *ue "o ri#ero ser' eliminarlos si e isten. Esto #e)ora "a seguri&a& or*ue nosasegura#os &e estar insta"an&o "a "ti#a $ersi+n. Va#os a co# ro(ar &e #anera con)unta si e isten insta"aciones &e A ache/ 1 S5L P?Para o&er &e)ar una #'*uina "i# ia.

    dpkg --list|grep -e httpd -e apache -e mysql -e php

    Q5uH hace "a " nea anteriorR

    Sergio Cuesta Vicente 2+ de 338

    https://sites.google.com/site/sergiocuesta/https://sites.google.com/site/sergiocuesta/

  • 8/20/2019 Despliegue de Aplicaciones Web

    28/338

    DAW – Despliegue de Aplicaciones Web htt s:!!sites.goog"e.co#!site!sergiocuesta

    En U(untu or &efecto no $iene insta"a&o. Si est' reinsta"a&o e" co#an&o anterior &e$o"$er' a"go. Si es as &e(e#os co# ro(ar "as&e en&encias ara e"i#inar to&o. Si $iHra#os *ue a arece ii a" "a&o &e" a*uete estar a insta"a&o ha(r a *ue e"i#inar"o. Su onga#os *uenos &e$ue"$e "o siguiente

    ii apache2 2.2.4-3build1 Next generation, scalable,extendable eb se

    ii apache2-mpm-pre!ork 2.2.4-3build1 "raditional model !or #pache$""%&

    ii apache2-utils 2.2.4-3build1 utility programs !or ebser'ersii apache2.2-common 2.2.4-3build1 Next generation, scalable,

    extendable eb seii libapache2-mod-php( (.2.3-1ubuntu) ser'er-side, $"*+-embedded

    scripting languagii libdbd-mysql-perl 4. 4-2 # %erl( database inter!ace to

    the *y + dataii libmysqlclient1(o!! (. .4(-1ubuntu3 *y + database client libraryii mysql-client-(. (. .4(-1ubuntu3 *y + database client binariesii mysql-common (. .4(-1ubuntu3 *y + database common !ilesii mysql-ser'er (. .4(-1ubuntu3 *y + database ser'er /meta

    package dependinii mysql-ser'er-(. (. .4(-1ubuntu3 *y + database ser'er binariesii php(-common (.2.3-1ubuntu) 0ommon !iles !or packages built

    !rom the phpii php(-mysql (.2.3-1ubuntu) *y + module !or php(

    Busca#os "os rocesos &e a ache.

    ps - e!|grep apache2

    Sergio Cuesta Vicente 28 de 338

    https://sites.google.com/site/sergiocuesta/https://sites.google.com/site/sergiocuesta/

  • 8/20/2019 Despliegue de Aplicaciones Web

    29/338

    DAW – Despliegue de Aplicaciones Web htt s:!!sites.goog"e.co#!site!sergiocuesta

    Su one#os *ue nos #uestra

    root 4 ) 1 41 5usr5sbin5apache2 -k start-data 4 2( 4 ) 41 5usr5sbin5apache2 -k start-data 4 2) 4 ) 41 5usr5sbin5apache2 -k start-data 4 26 4 ) 41 5usr5sbin5apache2 -k start-data 4 27 4 ) 41 5usr5sbin5apache2 -k start-data 4 2 4 ) 41 5usr5sbin5apache2 -k start-data 414 4 ) 14 24 5usr5sbin5apache2 -k start-data 4141 4 ) 14 24 5usr5sbin5apache2 -k start-data 4142 4 ) 14 24 5usr5sbin5apache2 -k start

    root 41(6 412( 14 3) pts5 grep apache2

    Para#os A ache

    apachectl stop

    Vo"$e#os a (uscar"o ara asegurarnos &e *ue a no se est' e)ecutan&o.

    ps - e!|grep apache2root 41)2 412( 14 3) pts5 grep apache2

    Ahora (usca#os 1 S5L

    ps - e!|grep mysql

    Sergio Cuesta Vicente 2 de 338

    https://sites.google.com/site/sergiocuesta/https://sites.google.com/site/sergiocuesta/

  • 8/20/2019 Despliegue de Aplicaciones Web

    30/338

    DAW – Despliegue de Aplicaciones Web htt s:!!sites.goog"e.co#!site!sergiocuesta

    Nos #uestra

    root 37(6 1 41 5bin5sh 5usr5bin5mysqld8sa!emysql 37 6 37(6 41 5usr5sbin5mysqld --basedir95usr

    --datadir95'ar5lib5mysql --user9mysql --pid-!ile95'ar5run5mysqld5mysqld.pid --skip-external-locking--port933 ) --socket95'ar5run5mysqld5mysqld.sock

    root 37 7 37(6 41 logger -p daemon.err -t mysqld8sa!e -i -t mysqldroot 43(( 431 17 (4 pts51 grep mysql

    Para#os 1 S5L

    5etc5init.d5mysql stop : topping *y + database ser'er mysqld ;

    co# ro(a#os *ue a no est'.

    ps - e!|grep mysqlroot 43 ( 431 17 (( pts51 grep mysql

    P?P no ha *ue arar"o.

    E"i#ina#os to&os "os a*uetes *ue a arec an.

    3 remo'e php(-mysql libapache2-mod-php( php(-common apt-get remo'e libdbd-mysql-perl mysql-ser'er mysql-ser'er-(. mysql-client-(.

    Sergio Cuesta Vicente3 de 338

    https://sites.google.com/site/sergiocuesta/https://sites.google.com/site/sergiocuesta/

  • 8/20/2019 Despliegue de Aplicaciones Web

    31/338

    DAW – Despliegue de Aplicaciones Web htt s:!!sites.goog"e.co#!site!sergiocuesta

    apt-get remo'e libmysqlclient1(o!! mysql-common apt-get remo'e apache2 apache2-mpm-pre!ork apache2.2-common apache2-utils

    Ahora *ue a he#os $isto c+#o hacer una insta"aci+n configuraci+n &e A ache 6 &e for#a #anua"/ $a#os a rea"i@ar otra insta"aci+n #'sest'n&ar ara continuar. A&e#'s esta insta"aci+n nos er#itir' tener una $ersi+n "i# ia.

    ,nstalaci#n

    Antes &e insta"ar a"go es i# ortante tener actua"i@a&a "a "ista &e a*uetes Feste co#an&o no insta"a na&a/ so"o actua"i@a "a "ista &e a*uetes

    sudo apt-get update

    ara "uego actua"i@ar "a #'*uina entera Finsta"a#os "as $ersiones #'s recientes &e "as #'*uinas insta"a&as

    sudo apt-get upgrade

    "uego a insta"a#os

    apt-get install apache2

    Lo ri#ero *ue &e(e#os hacer es $er *ue ahora A ache est' insta"a&o en

    Sergio Cuesta Vicente3% de 338

    https://sites.google.com/site/sergiocuesta/https://sites.google.com/site/sergiocuesta/

  • 8/20/2019 Despliegue de Aplicaciones Web

    32/338

    DAW – Despliegue de Aplicaciones Web htt s:!!sites.goog"e.co#!site!sergiocuesta

    cd 5etc5apache25

    E isten &iferentes $ersiones &e A ache 6 or "o *ue es interesante co# ro(ar cu'" es "a *ue esta#os usan&o.

    apache2 ?'

    "o *ue nos #ostrar' a"go co#o esto

    er'er 'ersion #pache52.4.6 /@buntuAer'er built Bul 22 2 14 14 3) 37

    Configura e insta"a A ache en tu #'*uina $irtua" siguien&o "os asos in&ica&os co# rue(a e" acceso &es&e "a #'*uina$irtua" &es&e "a #'*uina anfitri+n. Co#enta en c"ase "os resu"ta&os.

    Po&e#os $er *ue a e iste un archi$o a ache6 en !etc!init.&! *ue hace *ue se inicie A ache ca&a $e@ *ue encen&a#os "a #'*uina.

    sudo gedit 5etc5init.d5apache2

    Nos #uestra un conteni&o #u co# "e)o ero a" *ue o&e#os echar un $ista@o sa(ien&o *ue se (asa en esta("ecer *uH hacer ante &i$ersas+r&enes F"as #'s i# ortantes son start/ sto / restart gracefu" .

    Sergio Cuesta Vicente32 de 338

    https://sites.google.com/site/sergiocuesta/https://sites.google.com/site/sergiocuesta/

  • 8/20/2019 Despliegue de Aplicaciones Web

    33/338

    DAW – Despliegue de Aplicaciones Web htt s:!!sites.goog"e.co#!site!sergiocuesta

    Echa un $ista@o a" scri t sin entrar en &eta""es. Q5uH es gracefu"R Q ara *uH se usa a*u R

    ?a #uchas #aneras &e insta"ar A ache. Se ue&en e"egir #+&u"os/ configuraci+n rutas. Nosotros $a#os a usar una *ue uti"i@a DSOFD na#ic Share& O()ects . Esto es una configuraci+n &e A ache *ue er#ite a,a&ir "uego #+&u"os sin necesi&a& &e reco# i"ar to&o e"ser$i&or or &efecto en "a insta"aci+n auto#'tica a $iene acti$a&a. Para nuestro curso es $ita". E" nico ero es un &escenso casii# erce ti("e &e" ren&i#iento or "o *ue consi&ero #u reco#en&a("e usar este #Hto&o.

    Ahora a(ri#os e" na$ega&or 7e( carga#os "a 'gina ara $er *ue to&o ha i&o (ien. Escri(i#os htt :!!"oca"host &e(e#os encontrar "a'gina *ue one It WorKsT . En "a $ersi+n &e U(untu a&e#'s esta 'gina ha si&o #o&ifica&a ara *ue nos e "i*ue "a organi@aci+n &e "a

    configuraci+n &e A ache en esta &istri(uci+n.

    En "a &istri(uci+n est'n&ar to&a "a configuraci+n $a en un nico archi$o ero se ue&e &istri(uir #e&iante ""a#a&as a archi$os &e configuraci+ne ternos. La configuraci+n *ue nos encontra#os a*u es (astante "+gica $ere#os *ue "a re"aci+n entre a#(as for#as es senci""a &e#o&ificar a&a tar.

    Po&e#os a&e#'s co"ocar a"g n archi$o ?-1L co# ro(ar *ue se #uestra. Para e""o ire#os a htt :!!"oca"host!no#(re archi$o.ht#"

    Configura e insta"a A ache en tu #'*uina $irtua" siguien&o "os asos in&ica&os co# rue(a e" acceso &es&e "a #'*uina$irtua" &es&e "a #'*uina anfitri+n.

    Aun*ue e" es ritu &e un ser$i&or es estar acti$o to&o e" tie# o osi("e/ es i# ortante o&er arar"o/ arrancar"o reiniciar"o en ciertassituaciones. -o&as estas o ciones nos "as e "ican en "a &ocu#entaci+n &e A ache. 1uchas &e estas 'ginas &e "a &ocu#entaci+n ue&en

    Sergio Cuesta Vicente33 de 338

    https://sites.google.com/site/sergiocuesta/http://localhost/http://localhost/nombre_archivo.htmlhttp://httpd.apache.org/docs/current/en/stopping.htmlhttp://localhost/http://localhost/nombre_archivo.htmlhttp://httpd.apache.org/docs/current/en/stopping.htmlhttps://sites.google.com/site/sergiocuesta/

  • 8/20/2019 Despliegue de Aplicaciones Web

    34/338

    DAW – Despliegue de Aplicaciones Web htt s:!!sites.goog"e.co#!site!sergiocuesta

    estar tra&uci&as a" es a,o"/ ero refiero en"a@ar "as $ersiones en ing"Hs a *ue estar'n sie# re actua"i@a&as cosa *ue ue&e no suce&er araotros i&io#as.

    ?e#os ha("a&o antes &e "a o ci+n gracefu" . Q5uH suce&e si usas a achect" K gracefu" R Qes "+gicoR Qcu'" es "a&iferencia con usar gracefu" sto R

    QC+#o se &e(e arar e" ser$i&or ara una o eraci+n &e #anteni#iento rutinarioR Q si "o *ue *uere#os es *ue se carguena"gunas #o&ificaciones en "os archi$os &e configuraci+nR

    Sergio Cuesta Vicente3 de 338

    https://sites.google.com/site/sergiocuesta/https://sites.google.com/site/sergiocuesta/

  • 8/20/2019 Despliegue de Aplicaciones Web

    35/338

    DAW – Despliegue de Aplicaciones Web htt s:!!sites.goog"e.co#!site!sergiocuesta

    Insta"ar un ser$i&or con LA1P

    Ahora $a#os a e# e@ar con una nueva m$%uina virtual a insta"ar un ser$i&or con A ache/ 1 S5L P?P a *ue co#o he#os co#enta&o es"a o ci+n #'s ha(itua". Ni 1 S5L ni P?P son necesarios ara #ontar un ser$i&or &e a "icaciones 7e(.

    Esta $e@ $a#os a hacer"o con "a o ci+n #'s f'ci" ara $er &iferentes insta"aciones. En e" ca tu"o siguiente $ere#os "as configuracionesnecesarias ara asegurar nuestro ser$i&or.

    Para as ectos &e #a or seguri&a& en 1 S5L P?P consu"ta "os #+&u"os &e" cic"o a" res ecto.

    Lo ri#ero es &escargar e insta"ar tasKse".

    sudo apt-get install tasksel

    Luego insta"a#os &irecta#ente to&o e" a*uete segui#os "as instrucciones.

    sudo tasksel install lamp-ser'er

    Para ro(ar A ache si# "e#ente a(ri#os e" na$ega&or consu"ta#os "oca"host.

    Para ro(ar P?P/ crea#os un archi$o rue(a. h *ue so"o contenga R h h infoF M R

    Para ro(ar 1 S5L o&e#os usar cua"*uier #Hto&o: conectarnos/ insta"ar P?P1 Ain/ etc.

    Si *uere#os insta"ar P?P1 Ain escri(i#os

    Sergio Cuesta Vicente30 de 338

    https://sites.google.com/site/sergiocuesta/https://sites.google.com/site/sergiocuesta/

  • 8/20/2019 Despliegue de Aplicaciones Web

    36/338

    DAW – Despliegue de Aplicaciones Web htt s:!!sites.goog"e.co#!site!sergiocuesta

    apt-get install phpmyadmin

    "uego carga#os htt :!!"oca"host! h # ain

    E" &irectorio en e" *ue se ha insta"a&o A ache es

    5etc5apache2

    Co ia una nue$a #'*uina $irtua" e insta"a e" ser$i&or LA1P. Prue(a e" correcto funciona#iento &e to&o.

    Sergio Cuesta Vicente37 de 338

    https://sites.google.com/site/sergiocuesta/http://localhost/phpmyadminhttp://localhost/phpmyadminhttps://sites.google.com/site/sergiocuesta/

  • 8/20/2019 Despliegue de Aplicaciones Web

    37/338

    DAW – Despliegue de Aplicaciones Web htt s:!!sites.goog"e.co#!site!sergiocuesta

    Ser$i&ores &e A "icaciones

    Un ser$i&or &e a "icaciones es un a*uete soft7are *ue ro orciona ser$icios a "as a "icaciones co#o ue&en ser seguri&a&/ ser$icios &e&atos/ so orte ara transacciones/ (a"anceo &e carga gesti+n &e siste#as &istri(ui&os.

    E" tHr#ino se acu,+ ara ser$i&ores &e "a "atafor#a a$a en su $ersi+n Enter rise E&ition/ ero en "a actua"i&a& se e tien&e a #uchas otrastecno"og as.

    Nosotros nos centrare#os en -o#cat/ un ser$i&or &e a "icaciones a$a crea&o or A ache. E isten #uchos otros co#o "a integraci+n &e .NE-en ser$i&ores &e 1icrosoft/ integraci+n &e P?P en un ser$i&or ara tener ser$i&ores &e a "icaciones P?P/ Xen& Ser$er/ ta#(iHn ara P?P/Barracu&a/ We(Logic &e IB1/ etc.

    A ache -o#cat es un ser$i&or &e a "icaciones crea&o ara a"o)ar Ser$"ets a$a Ser$er Pages F SP . -o#cat es gratuito &e c+&igo a(iertoero no tiene na&a *ue en$i&iar a otras so"uciones co#ercia"es. La $ersi+n *ue usare#os nosotros es "a 8.

    E" funciona#iento &e un ser$i&or &e a "icaciones necesita &e un ser$i&or 7e(. 1uchas $eces $ienen en e" #is#o a*uete/ ero rea"#ente son&os artes &iferencia&as.

    Cuan&o un c"iente hace una etici+n a" ser$i&or 7e(/ este trata &e gestionar"o/ ero ha #uchos e"e#entos con "os *ue no sa(e *uH hacer.A*u entra en )uego e" ser$i&or &e a "icaciones/ *ue &escarga a" ser$i&or 7e( &e "a gesti+n &e &eter#ina&os ti os &e archi$o/ en nuestro casoser$"ets SP.

    Si un c"iente hace una etici+n a" ser$i&or i&ien&o un SP/ esta ""ega a" ser$i&or We( *ue "ee un archi$o J1L *ue "e ro orciona e" ser$i&or &ea "icaciones &eter#ina *ue e" archi$o "o gestionar' e" ser$i&or &e a "icaciones.

    En e" archi$o J1L ta#(iHn se inc"u e "a &irecci+n &e" ser$i&or &e a "icaciones e" ser$i&or 7e( "e en$ a "a etici+n #e&iante ?--P.

    Sergio Cuesta Vicente3+ de 338

    https://sites.google.com/site/sergiocuesta/https://sites.google.com/site/sergiocuesta/

  • 8/20/2019 Despliegue de Aplicaciones Web

    38/338

    DAW – Despliegue de Aplicaciones Web htt s:!!sites.goog"e.co#!site!sergiocuesta

    Contenedores

    E" tHr#inocontenedor es otro(astante a#(iguo co#o anos suce&i+ con ser(idor . En#uchos casos se usa arareferirse a" ro io ser$i&or &ea "icaciones e inc"uso a"ser$i&or 7e(. Sin e#(argo/ "aace ci+n #'s e ten&i&a esotra.

    ?a *ue tener en cuenta *ue"os conce tos &e "os *ueesta#os ha("an&o surgieron

    rinci a"#ente &e 6EE.

    Los contene&ores en "osser$i&ores &e a "icacionesson una for#a &e ais"ar "a e)ecuci+n &e ca&a a "icaci+n o &e ca&ainstancia &e una a "icaci+n &e" resto &e instancias &e otras a "icaciones.Para ca&a e)ecuci+n ro orcionan seguri&a&/ so orte ara transacciones/ cone i+n re#ota "a gesti+n &e "os recursos recisos ara "ae)ecuci+n &e "a a "icaci+n.

    En referencia a "a i#agen anterior/ con$iene concretar a"gunos conce tos:

    Sergio Cuesta Vicente38 de 338

    https://sites.google.com/site/sergiocuesta/https://sites.google.com/site/sergiocuesta/

  • 8/20/2019 Despliegue de Aplicaciones Web

    39/338

    DAW – Despliegue de Aplicaciones Web htt s:!!sites.goog"e.co#!site!sergiocuesta

    • E" ser$i&or 6EE es e" rogra#a *ue ro orciona contene&ores E B We(.• E" contene&or Enter rise a$aBeans FE B se encarga &e "a e)ecuci+n &e "os E Bs.• E" contene&or 7e( se encarga &e "a e)ecuci+n &e ser$"ets SPs.• E" contene&or &e" c"iente &e "a a "icaci+n encarga &e "a e)ecuci+n &e "os co# onentes &e "as a "icaciones en "a #'*uina &e"

    c"iente.• E" conten&or &e a "ets se encarga &e e)ecutar "os a "ets en e" c"ientes. Est' co# uesto or un na$ega&or 7e( un "ugin

    a$a.Los contene&ores &e -o#cat se &eno#inan Cata"ina.

    Sergio Cuesta Vicente3 de 338

    https://sites.google.com/site/sergiocuesta/https://sites.google.com/site/sergiocuesta/

  • 8/20/2019 Despliegue de Aplicaciones Web

    40/338

    DAW – Despliegue de Aplicaciones Web htt s:!!sites.goog"e.co#!site!sergiocuesta

    -o#cat

    -o#cat es un ser$i&or &e a "icaciones *ue ue&e funcionar or si #is#o. De hecho es ca a@ &e rocesar eticiones en ?--P ser$ir archi$os?-1L con (astante eficiencia/ ero no tan (ien co#o "o hace A ache. Genera"#ente si "o *ue *uere#os es un ser$i&or 7e( con funciona"i&a&a&iciona" "o #e)or es &is oner &e a#(os ser$i&ores tra(a)an&o con)unta#ente/ ero ara casos &on&e casi to&o $a a ser "+gica en )a$a con-o#cat funcionan&o aut+no#a#ente es suficiente.

    En este ri#er acerca#iento a -o#cat "o insta"are#os en una #'*uina $irtua" nue$a. 1's a&e"ante $ere#os co#o integrar"o con A ache ara*ue ca&a cua" se encargue &e hacer "o *ue gestiona #e)or. En ese caso/ A ache reci(ir' to&as "as eticiones en$iar' a -o#cat "o *ue "ecorres on&a a H".

    En una #'*uina $irtua" &e a$a so"o ue&e e)ecutarse una instancia &e -o#cat.

    Q5uH hace "a #'*uina $irtua" &e a$aR QEn *uH se &iferencia &e "as #'*uinas $irtua"es *ue se crean con rogra#as co#oOrac"e Virtua" Bo o V17areR

    ,nstalando -a(a

    E isten &os $ersiones &e a$a #u e ten&i&as en entornos Linu . Una es "a oficia" &e Orac"e "a otra se &eno#ina O en DY es un $ersi+n&e c+&igo a(ierto.

    Sergio Cuesta Vicente de 338

    https://sites.google.com/site/sergiocuesta/https://sites.google.com/site/sergiocuesta/

  • 8/20/2019 Despliegue de Aplicaciones Web

    41/338

    DAW – Despliegue de Aplicaciones Web htt s:!!sites.goog"e.co#!site!sergiocuesta

    *pen DEsta $ersi+n es #u reco#en&a("e cuan&o se $a a uti"i@ar con otros siste#as &e c+&igo a(ierto o &e soft7are "i(re or "o *ue nosotrosusaremos esta instalación .

    Actua"i@a#os "os re ositorios e insta"a#os a$a

    sudo apt-get updatesudo apt-get install openCdk-6-Cdk

    co# ro(a#os "a $ersi+n &e a$a

    Ca'a ?'ersion

    "o *ue &e(er a #ostrar a"go co#o

    Ca'a 'ersion D1.6. 8)(D

  • 8/20/2019 Despliegue de Aplicaciones Web

    42/338

    DAW – Despliegue de Aplicaciones Web htt s:!!sites.goog"e.co#!site!sergiocuesta

    NO-A: -en en cuenta *ue a continuaci+n in&ico &os e)e# "os/ ero *ue "os no#(res &e "as car etas en "as rutas &e en&en &e "a ar*uitectura&e "a #'*uina en "a *ue se estH e)ecutan&o e" siste#a.

    B#J#8$

  • 8/20/2019 Despliegue de Aplicaciones Web

    43/338

    DAW – Despliegue de Aplicaciones Web htt s:!!sites.goog"e.co#!site!sergiocuesta

    ava de *racle-o#cat es un ser$i&or &e a "icaciones rogra#a&as en a$a or "o *ue antes &e insta"ar -o#cat/ &e(e#os tener a$a insta"a&o funcionan&o.

    Lo ri#ero es a,a&ir unos re ositorios *ue contienen e" insta"a&or &e a$a

    sudo add-apt-repository ppa ebupd7team5Ca'a

    Actua"i@a#os e" soft7are &e "os re ositorios con

    sudo apt-get update

    Para "uego insta"ar a$a

    sudo apt-get install oracle-Ca'a6-installer

    Po&e#os co# ro(ar *ue tenga#os funcionan&o "a $ersi+n correcta

    Ca'a ?'ersion

    De(e a arecer en anta""a a"go si#i"ar a esto:

    Ca'a 'ersion D1.6. 8 (D

    Sergio Cuesta Vicente3 de 338

    https://sites.google.com/site/sergiocuesta/https://sites.google.com/site/sergiocuesta/

  • 8/20/2019 Despliegue de Aplicaciones Web

    44/338

    DAW – Despliegue de Aplicaciones Web htt s:!!sites.goog"e.co#!site!sergiocuesta

    Ba'a/"*A F Euntime Fn'ironment /build 1.6. 8 (-b (ABa'a $ot pot/"*A 0lient J* /build 23.1-b 3, mixed modeA

    Por u"ti#o/ o&e#os co# ro(ar e" correcto funciona#iento en&o a htt :!!777.)a$a.co#!es!&o7n"oa&!insta""e&.)s en e" na$ega&or 7e(.Ahora ha *ue esta("ecer "as $aria("es &e entorno ara *ue -o#cat ue&a encontrar a$a. Para e""o e&ita#os e" archi$o en(ironment

    sudo gedit 5etc5en'ironment

    a,a&i#os a" rinci io "as rutas &e insta"aci+n &e a$a: e" ri#ero es e" &irectorio &on&e est'n )a$a )a$ac e" segun&o e" &e )re.

    B#J#8$

  • 8/20/2019 Despliegue de Aplicaciones Web

    45/338

    DAW – Despliegue de Aplicaciones Web htt s:!!sites.goog"e.co#!site!sergiocuesta

    Aun*ue no es estricta#ente necesario/ reinicia#os "a #'*uina $irtua".

    ,nstalar Apache omcat

    NO-A: Aun*ue -o#cat est' en "a $ersi+n = &e #anera esta("e/ to&a$ a no es "a $ersi+n #'s e ten&i&a no ha si&o agrega&a a "os re ositoriosest'n&ar &e U(untu. A&e#'s ara e" ro +sito &e este curso no nos es necesario/ or "o *ue $o a #antener -o#cat 8 co#o "a $ersi+n &e "osa untes un curso #'s. Si a"guien *uiere ro(ar -o#cat = ue&e encontrar instrucciones &e insta"aci+n en Internet co#o Hstas o estas otras .

    Es necesario tener a$a insta"a&o configura&o ara e" correcto funciona#iento &e -o#cat. Los asos son "os #is#os *ue a $i#os .

    Ahora insta"a#os -o#cat

    sudo apt-get install tomcat6

    *+# : En a"gunos casos/ -o#cat no $a a funcionar hasta *ue no configure#os "as $aria("es &e entorno co#o se e "ica a continuaci+n.

    Ahora o&e#os a(rir un na$ega&or 7e( acce&er a htt :!!"oca"host:=9=9

    Nos #uestra "a siguiente anta""a en "a *ue es #u i# ortante e" siguiente 'rrafo:

    omcat+ (eterans might be pleased to learn that this s'stem instance o6 omcat is installed $ith CA A=,FA?;>94 in /usr/share/tomcat+ and CA A=,FA? AS4 in /(ar/lib/tomcat+E 6ollo$ing the rules 6rom /usr/share/doc/tomcat+Gcommon/ FF,FH.t t.g5.

    En e" *ue nos in&ican "a u(icaci+n &e &os $aria("es &e entorno #u necesarias en "a configuraci+n uso &e -o#cat. En "a insta"aci+n #anua"/a#(as a untar an a" &irectorio en e" *ue &esco# ri#i#os -o#cat. Va#os a esta("ecer"as co#o $aria("es &e entorno:

    Sergio Cuesta Vicente0 de 338

    https://sites.google.com/site/sergiocuesta/http://www.itzgeek.com/how-tos/linux/ubuntu-how-tos/how-to-install-tomcat-8-on-ubuntu-14-04.html#axzz3E8LZklCzhttp://www.itzgeek.com/how-tos/linux/ubuntu-how-tos/how-to-install-tomcat-8-on-ubuntu-14-04.html#axzz3E8LZklCzhttp://www.liquidweb.com/kb/how-to-install-apache-tomcat-8-on-ubuntu-14-04/http://www.liquidweb.com/kb/how-to-install-apache-tomcat-8-on-ubuntu-14-04/http://www.liquidweb.com/kb/how-to-install-apache-tomcat-8-on-ubuntu-14-04/http://localhost:8080/http://www.itzgeek.com/how-tos/linux/ubuntu-how-tos/how-to-install-tomcat-8-on-ubuntu-14-04.html#axzz3E8LZklCzhttp://www.liquidweb.com/kb/how-to-install-apache-tomcat-8-on-ubuntu-14-04/http://localhost:8080/https://sites.google.com/site/sergiocuesta/

  • 8/20/2019 Despliegue de Aplicaciones Web

    46/338

    DAW – Despliegue de Aplicaciones Web htt s:!!sites.goog"e.co#!site!sergiocuesta

    sudo gedit 5etc5en'ironment

    en e" a,a&i#os Fa continuaci+n &e "as &e a$a

    0#"#+GN#8$

  • 8/20/2019 Despliegue de Aplicaciones Web

    47/338

    DAW – Despliegue de Aplicaciones Web htt s:!!sites.goog"e.co#!site!sergiocuesta

    CA-ALINA BASE in&ica e" &irectorio &e una instancia &e -o#cat. Si tene#os #'s &e una instancia/ CA-ALINA BASE ser' &iferente araca&a una. En a"gunas insta"aciones Faun*ue no en esta a#(as $aria("es &e entorno a untan a" #is#o &irectorio.

    4einicia#os "a #'*uina ara *ue "as $aria("es se carguen.

    E" archi$o *ue carga -o#cat or &efecto es /(ar/lib/tomcat+/$ebapps/ >> /inde .html

    -o#cat est' insta"a&o en /etc/tomcat+

    Co#o o&e#os $er esta $ersi+n &e -o#cat a "o insta"a co#o ser$icio hace *ue se inicia auto#'tica#ente a" encen&er "a #'*uina. E"archi$o &on&e est' configura&o esto es #ucho #'s co# "e)o *ue e" *ue hici#os nosotros en "a insta"aci+n #anua"M ue&es consu"tar"o en

    gedit 5etc5init.d5tomcat6

    ,nstalando pa1uetes adicionales

    a tene#os -o#cat insta"a&o funcionan&o/ ero co#o u&i#os "eer en "a 'gina &e inicio or &efecto &e -o#cat/ no se han insta"a&o ni "a&ocu#entaci+n/ ni "os e)e# "os ni "a a "icaci+n &e ainistraci+n. En un ser$i&or &e ro&ucci+n esta ue&e ser "a configuraci+n correcta/ ero

    ara nuestro ro +sito &i&'ctico es #u reco#en&a("e insta"ar "os a*uetes.

    sudo apt-get install tomcat6-docssudo apt-get install tomcat6-examplessudo apt-get install tomcat6-admin

    Ahora o&e#os acce&er a ca&a uno &e e""os #e&iante e" corres on&iente en"ace &e "a 'gina &e inicio.

    Sergio Cuesta Vicente+ de 338

    https://sites.google.com/site/sergiocuesta/https://sites.google.com/site/sergiocuesta/

  • 8/20/2019 Despliegue de Aplicaciones Web

    48/338

    DAW – Despliegue de Aplicaciones Web htt s:!!sites.goog"e.co#!site!sergiocuesta

    Insta"a -o#cat "os a*uetes a&iciona"es en un #'*uina $irtua" nue$a.

    a he co#enta&o antes c+#o $iene a arecien&o en "as noticias tecno"+gicas *ue a$a en inseguro en "a re& *ue se &e(e&esacti$ar en "os na$ega&ores. Esto ue&e arecer e" fin &e a$a/ eroZ &esacti$a a$a en tu na$ega&or rue(a ae)ecutar "os e)e# "os *ue aca(a#os &e insta"ar Q ahora *uHR

    Si inchas en e" en"ace *ue a arece ara $er e" c+&igo &e un e)e# "o $er's *ue contiene c+&igo ero si #uestras e" c+&igo&e "a 'gina resu"tante &e e)ecutar e" e)e# "o en e" na$ega&or o&r's o(ser$ar *ue no/ Q*uH in&ica estoR

    *+# A" igua" *ue suce& a en A ache/ e ist a un a arta&o so(re "a insta"aci+n #anua" &e -o#cat *ue he &eci&i&o e"i#inar or "os #is#os

    #oti$os.

    suarios de omcat

    Lo ri#ero es configurar "os usuarios &e -o#cat. Para e""o &e(e#os e&itar e" archi$o tomcatGusers. ml *ue est' en e" &irectorio con6

    sudo gedit 5etc5tomcat65tomcat-users.xml

    Lo *ue esta#os hacien&o es a,a&ir un usuario ainistra&or as *ue e" fichero/ en "a arte fina" &e(er a *ue&ar areci&o a "o siguiente/ con e"no#(re &e usuario contrase,a *ue *uera#os/ or su uesto.

    Sergio Cuesta Vicente8 de 338

    https://sites.google.com/site/sergiocuesta/https://sites.google.com/site/sergiocuesta/

  • 8/20/2019 Despliegue de Aplicaciones Web

    49/338

    DAW – Despliegue de Aplicaciones Web htt s:!!sites.goog"e.co#!site!sergiocuesta

    Otomcat-usersPOrole rolename9Dmanager-guiD5POrole rolename9Dmanager-scriptD5POrole rolename9DmanagerD5POrole rolename9Dadmin-guiD5POrole rolename9Dadmin-scriptD5POrole rolename9DadminD5P

    Ouser username9DsergioD pass ord9DsergioD roles9Dmanager-gui,admin-gui,manager,admin,manager-script,admin-scriptD5P

    O5tomcat-usersP

    Con este usuario contrase,a *ue a he#os crea&o o&e#os cargar e" #anager/ &es&e "a 'gina &e inicio &e -o#cat o &irecta#ente &es&ehtt :!!"oca"host:=9=9!#anager!ht#"

    Se reco#ien&a ro(ar e)e# "os &e -o#cat ara $er *ue to&o $a a (ien siguien&o e" en"ace en "a 'gina rinci a" o enhtt :!!"oca"host:=9=9!e a# "es!

    ,niciar ' parar omcat

    Para iniciar -o#cat usare#os

    sudo 5etc5init.d5tomcat6 startsudo 5etc5init.d5tomcat6 stopsudo 5etc5init.d5tomcat6 restart

    seg n "o *ue *uera#os hacer.

    Sergio Cuesta Vicente de 338

    https://sites.google.com/site/sergiocuesta/http://localhost:8080/manager/htmlhttp://localhost:8080/examples/http://localhost:8080/manager/htmlhttp://localhost:8080/examples/https://sites.google.com/site/sergiocuesta/

  • 8/20/2019 Despliegue de Aplicaciones Web

    50/338

    DAW – Despliegue de Aplicaciones Web htt s:!!sites.goog"e.co#!site!sergiocuesta

    Si *uisiHra#os *ue funcionara co#o ser$icio/ ser a:

    sudo ser'ice tomcat6 start

    ara arar"o

    sudo ser'ice tomcat6 stop

    Sergio Cuesta Vicente0 de 338

    https://sites.google.com/site/sergiocuesta/https://sites.google.com/site/sergiocuesta/

  • 8/20/2019 Despliegue de Aplicaciones Web

    51/338

    DAW – Despliegue de Aplicaciones Web htt s:!!sites.goog"e.co#!site!sergiocuesta

    A "icaciones 7e(

    Una a "icaci+n 7e( se &iferencia &e una est'n&ar en *ue se acce&e a e""a a tra$Hs &e una re& co#o Internet o una intranet or e)e# "o. En#uchos casos es una a "icaci+n *ue se escri(e en "engua)es so orta&os or "os na$ega&ores 7e( F or e)e# "o a$ascri t [ ?-1L *uenecesita &e un na$ega&or 7e( ara e)ecutarse.

    E" e)e# "o #'s senci""o *ue se nos ocurre &e una a "icaci+n 7e( es un rogra#a *ue er#ita acce&er a &atos &e una e# resa &es&e e"e terior &e Hsta. A*u a *ue&a atente e" rinci a" ro("e#a *ue tienen "as a "icaciones 7e(: "aseguridad . 1uchas $eces e" ro("e#a es "anecesi&a& &e encontrar un co# ro#iso entre "a seguri&a& "a eficiencia en "a a "icaci+nM &e#asia&a seguri&a& ue&e ra"enti@ar e" uso/au#entar e" tr'fico/ etc.

    Las rinci a"esdesventa as &e este ti o &e a "icaciones son "as *ue se &eri$an &e" uso &e una re& &e" acceso si#u"t'neo &e $arios Fa $eces

    #uchos usuarios. Las rinci a"es venta as son e" o&er usar un na$ega&or 7e( co#o c"iente Fa"go &e "o *ue &is onen to&os "os or&ena&oresen "a actua"i&a& "a si# "ificaci+n &e "as actua"i@aciones or no tener *ue actua"i@ar "os or&ena&ores uno a uno. Va#os a concretar un oco#'s:

    0enta as :

    • No es necesario ning n ti o &e &istri(uci+n/ insta"aci+n o actua"i@aci+n co# "e)o &e "a a "icaci+n. Si# "e#ente e" uso &e unna$ega&or co# ati("e nos er#itir' usar "a a "icaci+n. 1uchas $eces se crea "a a "icaci+n ara un nico na$ega&or 7e( "o *ueen #i o ini+n es un error. No es necesario cu(rir to&o e" es ectro ero &ar a" #enos &os o tres o ciones ser a reco#en&a("e.

    • No se necesitan #'*uinas c"ientes es ecia"#ente otentes. Pr'ctica#ente cua"*uier or&ena&or en "a actua"i&a& es ca a@ &e

    e)ecutar un na$ega&or 7e(. Si "a a "icaci+n es #'s esa&a en e" c"iente se ue&en necesitar recursos un oco #'s a"tos.• Son f'ci"es &e integrar con otras funciona"i&a&es &e ser$i&or co#o e" correo e"ectr+nico.• Genera"#ente er#iten e"i#inar "os ro("e#as &eri$a&os &e" uso &e &iferentes "atafor#as infor#'ticas Far*uitecturas/ siste#as

    o erati$os/ etc. .

    Sergio Cuesta Vicente0% de 338

    https://sites.google.com/site/sergiocuesta/https://sites.google.com/site/sergiocuesta/

  • 8/20/2019 Despliegue de Aplicaciones Web

    52/338

    DAW – Despliegue de Aplicaciones Web htt s:!!sites.goog"e.co#!site!sergiocuesta

    • E" uso &e ?-1L; au#enta #ucho "a funciona"i&a& *ue ue&e e)ecutarse nati$a#ente en un na$ega&or 7e(.Desventa as :

    • Genera"#ente "as interfaces &e usuario &e "as a "icaciones 7e( son #enos intuiti$as tienen un co# orta#iento eor *ue "asc"'sicas.

    • Las tecno"og as 7e( son #u &in'#icas ca#(iantes or "o *ue o&e#os usar a"guna funciona"i&a& *ue &esa are@ca o se#o&ifi*ue &r'stica#ente o("ig'n&onos a rehacer "a interfa@ FQ "ash en un futuro no #u "e)anoR

    • La ausencia &e est'n&ares en archi$os &e oficina ue&e &ificu"tar e" co# artir &atos e infor#aci+n.• De en&en tota"#ente &e" correcto funciona#iento &e "a re& FInternet !o intranet .• Des&e e" unto &e $ista &e un usuario es reocu ante "a ri$aci&a& seguri&a& &e sus &atos. Uno &e "os ri#eros e)e# "os &e

    esto es e" correo 7e(/ ero en "a actua"i&a& to&as "as a "icaciones &e Goog"e #uchas otras co#o ace(ooK contro"ana(so"uta#ente to&o "o *ue haces or "o *ue "a ausencia &e ri$aci&a& es nota("e.

    La "ista &e $enta)as &es$enta)as $ista es un oco a#(igua. Para ca&a caso iensa en "o *ue i# "ica "a afir#aci+n e intenta(uscar un e)e# "o *ue su onga una e ce ci+n.

    Co#o a he#os co#enta&o antes una &e "as rinci a"es reocu aciones a "a hora &e &esarro""ar una a "icaci+n 7e( &e(e ser "a seguri&a&. En#uchos casos se &e(en roteger tanto información cr1tica de la empresa co#o "os datos privados de los usuarios .

    A "a hora &e i# "e#entar "a seguri&a& &e una a "icaci+n 7e( &e(e#os tener en cuenta cinco 'reas:

    La autentificación &e "os usuarios: e" uso &e un #Hto&o efecti$o ara asegurar *ue se conecten "os usuarios autori@a&os &ificu"tar "a su "antaci+n &e i&enti&a&es es a"go ri#or&ia". QEs una a "icaci+n a(ierta a to&o e" #un&oR Qse ue&en registrar "osusuarios or si #is#osR

    Sergio Cuesta Vicente02 de 338

    https://sites.google.com/site/sergiocuesta/https://sites.google.com/site/sergiocuesta/

  • 8/20/2019 Despliegue de Aplicaciones Web

    53/338

    DAW – Despliegue de Aplicaciones Web htt s:!!sites.goog"e.co#!site!sergiocuesta

    • La autori ación &e ca&a usuario: #uchas $eces &e(en e istir &iferentes ti os &e usuarios no to&os "os usuarios &e(en o&eracce&er a to&os "os &atos o rea"i@ar to&as "as o eraciones Fconsu"ta/ inserci+n/ #o&ificaci+n o e"i#inaci+n so(re "os &atos. Lai&entificaci+n creaci+n &e &iferentes ro"es es un as ecto a tener en cuenta &es&e "as ri#eras eta as &e &ise,o &e "aa "icaci+n.

    La gestión de los recursos : es necesario roteger "os &atos tanto cuan&o se encuentran en "a (ase &e &atos co#o cuan&o seencuentran en tr'nsito entre "a #'*uina c"iente e" ser$i&or. Genera"#ente se e$itan "as cone iones &irectas &e for#a re#otaFen una re& a(ierta a "a (ase &e &atos. A&e#'s es #u i# ortante "a encri taci+n &e "os &atos tanto en "a (ase &e &atos co#oen "as co#unicaciones. Los &atos se uti"i@an co#o e)e# "o &e recurso/ ero es a "ica("e a otros ti os.

    • La entrada de datos : otro as ecto a tener en cuenta es *uH ue&e escri(ir e" usuario en ca&a unto &e entra&a &e &atos.Cuanto #'s "i#ite#os "os caracteres ti o &e entra&a *ue ue&an rea"i@ar "os usuarios #'s f'ci" ser' i# e&ir *ue "a genteacce&a a untos no &esea&os &e nuestra a "icaci+n e inc"uso a otras a "icaciones &e "a #is#a re&.

    • #uditor1as 3 registros : Para o&er contro"ar corregir "as (rechas en "a seguri&a& es #u i# ortante o&er sa(er *uH haasa&o. Por e""o &e(e#os tener #Hto&os &e registro F or e)e# "o archi$os log &e to&o "o *ue suce&a en nuestra a "icaci+n. E"

    ta#a,o &e "os archi$os &e(e er#itirnos re$isar situaciones &e hace (astante tie# o a *ue #uchas $eces un agu)ero en "a

    seguri&a& tar&a en &etectarse.

    Aun*ue no conoce#os c+#o afrontar ca&a ro("e#a en &eta""e/ a &e(er a#os tener conoci#ientos co#o ara "antearso"uciones ara "as 'reas &e"ica&as *ue aca(a#os &e $er. Co#enta un escenario *ue contro"e "os ro("e#as genera&os enca&a 'rea.

    Para contro"ar to&os estos ro("e#as ha &os recomendaciones ('sicas:

    • Pruebas : cuanto #'s ro(e#os una a "icaci+n #enos fa""os ten&r'. Si "a a "icaci+n no es #u e*ue,a/ es r'ctica#entei# osi("e e$itar to&os "os agu)eros &e seguri&a& ero ha *ue intentar #ini#i@ar"os. Lo i&ea" es tener una ersona o un e*ui o

    Sergio Cuesta Vicente03 de 338

    https://sites.google.com/site/sergiocuesta/https://sites.google.com/site/sergiocuesta/

  • 8/20/2019 Despliegue de Aplicaciones Web

    54/338

    DAW – Despliegue de Aplicaciones Web htt s:!!sites.goog"e.co#!site!sergiocuesta

    *ue se an "o *ue hacen intentan&o atacar "a a "icaci+n. Este es e" #oti$o or e" *ue #uchos hacKers han ter#ina&o tra(a)an&oara co# a, as #u otentes.

    • Usa un #arco &e tra(a)o F 4rame!or5 : Si tene#os un e*ui o &e tra(a)o no *uere#os *ue ca&a #ie#(ro haga "a guerra or su"a&o . -o&os "os integrantes &e(en usar uno o $arios #Hto&