Enrera
Mòdul 1

Creació i gestió d'entorns web dinàmics (PHP)

  Pràctica
1
2
3
4
5
6
7
   
Exercicis
Exercicis
 
   Servidors web    
 
 
En aquesta pràctica es pretén donar a conèixer alguns dels diferents servidors web que tenim disponibles per als nostres sistemes. No és funció del curs aprofundir en tots els aspectes de la instal·lació d'un servidor web, ja que seria tema per un curs sencer, però sí analitzar i donar a conèixer els aspectes més bàsics d'un servidor web.
   
 

Els objectius perseguits en aquesta pràctica són els següents:

 
  • Conèixer els inicis i l'evolució dels servidors d'aplicacions Internet.

 
  • Comprendre la necessitat d'un servidor web i les tasques que porta a terme.
 
  • Establir el procediment per instal·lar un servidor web.
 
  • Alternatives actuals de servidors web.
   
   
   
Què és un servidor web?
   
  En pràctiques anteriors hem parlat de l'estructura client-servidor i dels diferents llenguatges involucrats, però una de les eines principals d'aquest esquema és el servidor web.
   
  Genèricament, un servidor és un ordinador dedicat a gestionar l'ús de la xarxa, d'oferir recursos i d'emmagatzemar arxius als quals podem accedir des d'altres màquines que anomenem clients.
   
 

Doncs bé, un servidor web consisteix a dotar un ordinador d'un programari específic de servidor HTTP que habilita la possibilitat d'accés als recursos que conté i que mitjançant el protocol de comunicació HTTP i les aplicacions clients (navegadors), són capaces d'accedir als recursos que disposa l'ordinador servidor a través d'una xarxa, ja sigui connectats a Internet o a una àrea local (intranet).

   
  Si donem un cop d'ull al mercat de servidors, es divideixen majoritàriament en dos grups: els servidors de xarxa i els servidors d'Internet, entenent aquest últim tant per a intranets com per a extranets.
   
  Un servidor d'aplicacions d'Internet no difereix conceptualment d'un servidor d'aplicacions, i amb els nous models de llenguatges de programació, es pretén precisament fusionar aquests conceptes, muntar aplicacions sobre models fonamentats en el protocol HTTP (pàgines web).
   
  Fer que un aplicatiu sigui funcional des de l'àmbit intern d'un centre (intranet) o des de qualsevol punt del món (Internet ), no suposa cap modificació de l'aplicatiu, simplement parametritza alguns aspectes del servidor d'aplicacions d'Internet (servidor web).
   
  Un dels aspectes més coneguts dels servidors web consisteix a emmagatzemar hipertext (pàgines web estàtiques), on s'hi bolca informació susceptible de ser consultada per la nostra comunitat o per la comunitat d'Internet.
   
  Amb aquest curs es pretén crear aplicacions d'Internet a través d'una interfície web, i permetre una interacció i un flux de dades dinàmic entre el servidor i el client. Imaginem, doncs, un aplicatiu de tutoria o de faltes d'alumnat accessible des de qualsevol ordinador del centre o, si es vol, des de casa.
   
   
  Inicis i evolució dels servidors web
   
 
El concepte web és un fenomen relativament molt jove. Neix als anys noranta de la mà de Tim Berners-Lee, quan treballava al Laboratori Europeu de Física de Partícules, davant la necessitat que tenien físics d'altres universitats d'accedir i col·laborar en projectes de forma instantània. Tim Berners va definir els models HTTP i HTML, i Robert Cailliau va programar el primer servidor web i el primer programari per a clients web (en mode text), que més tard es va anomenar navegador. Com a curiositat hi ha un article de l'any 1945 de Vannevar Bush, respecte a l'organització de la informació, on s'entreveu el concepte de l'hipertext.
   
 
http://www.theatlantic.com/unbound/flashbks/computer/bushf.htm
   
  Poc després, Rob McCool i un grup d'estudiants del Centre Nacional d'Activitats de Supercomputació de la Universitat d'Illinois, van desenvolupar el servidor web HTTPd NCSA i el navegador gràfic NCSA Mosaic.Tot i que l'any 1992 Mosaic va ser el navegador web per excel·lència, el primer navegador web gràfic de la història va ser el Viola, creat per Pei Wei.
   
  L'any 1994, Rob McCool deixa l'NCSA, i el projecte va finalitzar; deixa d'existir una organització que centralitzi i distribueixi el producte. El servidor de l'NCSA era el servidor per excel·lència i molts dels seus usuaris havien desenvolupat solucions particulars, però no hi havia un canal de comunicació entre la comunitat d'usuaris del servidor web HTTPd NCSA. L'any 1995, Brian Behlendorf i Cliff Skolnick van establir aquest canal de comunicació, a fi d'aconseguir que qualsevol usuari pogués aportar i/o crear noves característiques de forma voluntària. Un grup reduït de programadors incorporava aquestes modificacions al codi de HTTPd NCSA i així va poder anar evolucionant el servidor web i van fundar el grup APACHE. Com era d'esperar, la primera versió d'aquest producte va rebre el nom d'APACHE.
   
  Algunes empreses, veient les necessitats del mercat, treuen els seus propis servidors web (Sun, Netscape Server, i altres), amb l'única excepció de Microsoft, que va menysprear el potencial d'Internet i no li va donar importància i es va capficar a intentar crear una xarxa alternativa anomenada MSN.
   
  Corre l'any 1996. Microsoft s'adona del seu error i dirigeix tots els seus recursos humans i tecnològics a la creació d'un servidor d'aplicacions d'Internet. Aquest error es convertirà en un llast per sempre. A mitjan febrer del 1996, treu Internet Information Server (IIS): ja tenim servidor web, però no ofereix millores respecte a altres productes de la competència. Fa cinc mesos (agost del 1995) que APACHE ha enviat al mercat la nova versió 0.8.8, en la qual s'imposa una arquitectura totalment nova i els resultats són molt bons. El febrer de l'any 1996, l'APACHE es confirma com el servidor web per excel·lència per davant de qualsevol altre producte i supera al de l'NCSA. A partir d'aquest moment, ningú li ha fet ombra.
   
 

Figura 1.2.1. Evolució de servidors web
http://www.netcraft.com/survey/

   
 
Servidor Agost 2006 % Setembre 06 % Increment
Apache
57.906.817
62,52
59.699.872
61,14
-0,88
Microsoft
27.905.439
30,13
30.272.249
31,26
1,13
SunONE
344.862
0,37
345.834
0,36
-0,01
Zeus
521.619
0,56
515.670
0,53
-0,03
   
  A setembre del 2006, 59.699.872 servidors web utilitzen l'APACHE com a servidor web,
el 61,14 % dels servidors mundials (96.854.877). Exemples d'això en són la Gencat, la XTEC, l'edu365 ...
   
  L'HTTPd NCSA i l'APACHE mai es van veure com a competidors, fins i tot els equips de desenvolupament de l'NCSA van col·laborar amb l'APACHE.
   
  L'APACHE neix amb la filosofia de programari d'usuari per a l'usuari i el model de codi obert va fer inútil qualsevol intent per part d'alguns sectors empresarials de monopolitzar i alentir el desenvolupament d'Internet. Mai l'expressió "estar al lloc adequat en el moment adequat" ha estat més certa. I noteu que va ser fins i tot el mateix teixit empresarial mundial el que va confiar en un producte com l'APACHE per implementar els seus servidors web i no en altres productes creats per empreses.
   
  En l'entorn dels sistemes operatius que giren al nostre voltant són bastant limitats i molt polaritzats amb el Windows i el Linux. Davant d'aquest fet, hi ha diferents opcions. Podem dir que l'APACHE sobresurt pel que fa a velocitat , seguretat i fiabilitat; ara bé, quan parlem de seguretat en informàtica, parlem en termes relatius. Ja sigui per un programa, un sistema operatiu o un driver, l'hem d'anar actualitzant amb els service packs (paquets d'esmenes), o els bugs que van sortint. Ara bé, l'APACHE és de codi obert; això fa que milers de programadors tinguin a la seva disposició el codi del programa, i qualsevol problema de seguretat es detecta i soluciona amb molta rapidesa, fet que dona un valor afegit molt gran al producte.
   
  Totes les pràctiques del curs han estat provades tant amb els servidors web de Microsoft com amb l'APACHE, i són totalment compatibles amb ambdós models. De tota manera, recomanem de seguir-les amb la instal·lació que farem més endavant.
   
  En la taula següent es mostra en quins entorns de sistemes operatiu és factible muntar alguns dels servidors web que exposem:
   
   
Sistem. oper. Microsoft APACHE XITAMI
Windows
Linux /Unix
No
OS/2
?
Mac
No
?

Taula 1.2.1.
 

 

   
 
  Servidor WEB Sistema Localització
Codi Obert APACHE diversos http://www.apache.org/httpd.html
Xitami diversos http://www.imatix.com
       
Microsoft

PWS
Personal Web Server

W95 / W98
Disc W98: carpeta / add-ons / pws
IIS 4.0
Internet Information Server
WNT
Disc Win NT Option Pack
IIS 5.0
Internet Information Server
W2000
Disc instal·lació sistema operatiu W2000
Taula 1.2.2.
   
   
  Instal·lació
   
Atenció !
Recordeu que NO pretenem que instal·leu ara cap d'aquests servidors per a la realització del curs, ja que més endavant instal·larem uns paquets que porten incorporat el servidor web, el PHP i el servidor de base de dades. Però abans d'arribar a aquest punt, hem d'entendre què instal·len aquests paquets i com ho fan. És comprensible que aquests paquets no utilitzin les últimes versions aparegudes en el mercat; llavors, si tenim la necessitat d'actualitzar algun d'aquests mòduls independenment dels altres, o modificar-ne les possibilitats, sí que se'ns farà necessària aquesta informació.
   
  Microsoft Personal Web Server ( PWS)
   
Atenció !
El Personal Web Server de Microsoft és una versió senzilla de l'IIS, no es recomana per instal·lar-lo sobre un servidor web mitjà o gran. La seva funció principal és per treballar en local, sobre l'ordinador de treball, per poder simular els programes sense necessitat de pujar-los al servidor cada vegada que fem una modificació.
   
  Podeu trobar un procés d'instal·lació a :
 
http://www.soloasp.com.ar/vertexto.asp?txt=2
   
  Microsoft Internet Information Server (IIS)
   
  Procés d'instal·lació
   
  APACHE
   
  Primer hem de descarregar els fitxers per instal·lar el servidor APACHE; podem fer-ho des del mateix web d'Apache, o des d'infinitat de mirrors distribuïts pel món.
   
 
http://www.apache.org/httpd.html
 
http://www.apache.org/mirrors/
   
  Hem de seleccionar la plataforma sobre la qual volem instal·lar el servidor. Si escollim Linux, podrem triar si baixar el codi font i compilar-lo en el nostre sistema, o baixar els paquets d'instal·lació directament.
   
  En el cas del Windows, hem d'escollir 'apache_x_x_x_win32-x86-no_src.msi o .exe'.
   
  Si es baixen els fitxers d'un mirror i sobretot si són les fonts, una bona opció seria comprovar l'autenticitat de l'arxiu; en el mateix directori de descàrrega hi trobareu un fitxer amb el mateix nom i extensió '.asc', que conté la firma PGP del fitxer que heu descarregat, i el fitxer 'KEYS', que conté les claus públiques de les firmes digitals dels programadors; amb tot això, i si teniu instal·lat el PGP al vostre ordinador, podreu confirmar que són els fitxers originals.
   
Atenció !
En cas d'instal·lar l'APACHE sobre el Win95/98/NT, prèviament es necessita el 'Windows Installer'. El Win2000 i XP ja el porta incorporat en el propi sistema.
   
  Centrem-nos, doncs, en la instal·lació sota el Windows. Executem l'instal·lador de l'APACHE; s'activarà l'assistent d'instal·lació i l'acceptació de la llicència; premem Següent.
   
 

Fig. 1.2.2. Instal·lació Apache
   
  Se'ns demanen les dades del nom del domini de xarxa, el nom del servidor web i l'adreça electrònica de l'administrador. Per defecte queda configurat com a servei (és a dir, que s'executarà cada vegada que s'obri l'ordinador). Premem Següent.
   
 

Fig. 1.2.3. Instal·lació de l'Apache. Configuració
   
  A continuació, seleccionem el tipus d'instal·lació. En prémer Següent, ens demanarà la carpeta on volem que s'instal·li l'APACHE, que per defecte serà la carpeta \Archivos de Programa\apache2\; aquest paràmetre es pot modificar, segons on vulguis instal·lar el gruix del web.
   
 

Fig. 1.2.4. Instal·lació de l'Apache. Tipus d'instal·lació
   
  Una vegada instal·lat, s'obre a la part dreta inferior la icona del servei de l'APACHE. Si ens posem amb el ratolí damunt la icona i premem el botó esquerre, es deixa iniciar, parar o restaurar el servei en qualsevol moment. Assegureu-vos que l'APACHE està arrencat (color verd).
   
 


Fig. 1.2.5. Servei de l'Apache

   
  Per comprovar que el servidor realment funciona, obrim el navegador, i a l'adreça web, posem http://localhost o http://127.0.0.1. Aquestes adreces són de bucle intern i es direccionen cap al mateix ordinador.
   
 


Fig. 1.2.6. Instal·lació de l'Apache

   
  Aspectes comuns als servidors web
   
  Localització de la web
   
  En les configuracions estàndards dels servidors web, els documents HTML que volem publicar han d'estar inclosos en els directoris següents:
   
 
Microsoft X:\Inetpub\wwwroot  
APACHE X:\Apache\htdocs X:\Apache Group\Apache2\htdocs

Taula 1.2.3. Directoris per defecte dels servidors web
   
  Recordeu que aquestes són les carpetes que es proposen per defecte en el procés d'instal·lació i que durant aquest procés es poden modificar i encaminar a un altra carpeta. No intenteu modificar el nom de les carpetes del directori del servidor web una vegada instal·lat, ja que en aquest cas heu de modificar també totes les referències a aquests directoris en els fitxers de configuració.
   
  Àlies o directoris virtuals
   
  En algunes ocasions, ens interessa organitzar els nostres serveis web en diferents carpetes físicament sobre el disc dur, i que l'accés sigui directament a partir d'un àlies o directori virtual. Un exemple d'això són els webs de centres de la XTEC.
   
  Imaginem que tenim un lloc web per accedir a un aplicatiu de tutoria, i un altre lloc web on hi posem la pàgina web personal. Físicament, en el nostre disc dur són dues carpetes localitzades en dos subdirectoris que pengen de la carpeta arrel del nostre servidor web (mireu la taula 1.2.3).
   
 
Aplicatius Localització física disc dur Directori virtual web
Tutoria x:\apache\htdocs\apli_tutoria http://localhost/tutoria
Web personal x:\apache\htdocs\web_meva http://localhost/joan

Taula 1.2.4. Directoris virtuals
   
 
  Fitxers de configuració
   
  En el directori que heu instal·lat l'APACHE, trobareu una carpeta anomenada '/conf / ', on estan localitzats els fitxers de configuració del servidor (httpd.conf) i la definició de permisos d'accés al servidor web ( htacces.conf o access.conf).
   
 

Si obriu el fitxer httpd.conf amb el bloc de notes, o amb l'editor Maguma, podeu veure totes les característiques que defineixen el vostre servidor web; seguidament en comentem algunes:

   
 
  • ServerRoot. Direcció absoluta on està instal·lat l'APACHE.
 
  • LoadModule. Carrega diferents mòduls d'utilitats i llenguatges per saber-los interpretar. Com a exemple, podem trobar el mòdul ' php4_module' entre d'altres.
 
  • Port. Aquesta directiva defineix quin port utilitzarà el servidor web per establir comunicació amb el seus clients. Per defecte, el port web és el 80; en cas que tingueu un altre servidor web instal·lat al sistema, modifiqueu aquesta directiva de l'Apache per un altre número de port, per exemple el 8081. Ara, per accedir al servidor Apache, escriurem en el navegador:
 
http://localhost:8081/ o http://127.0.0.1:8081/
 
  • ServerName. És el nom del servidor. No intenteu posar qualsevol nom, ha de complir uns requisits. En la vostra instal·lació en local aquesta directiva conté localhost. Observeu el comentari, que explica que en cas de fer servir l'Apache en local per proves, en el navegador ens hem de referir al localhost com a 127.0.0.1.
 
  • DocumentRoot. És la ubicació física del directori web principal.
 
  • DirectoryIndex. Identifica el nom de fitxers que ha de buscar el servidor web en cas que no hi hagi un nom de fitxer definit. Quan accediu a localhost sense res més, busca en el servidor un fitxer anomenat 'index' i amb extensió .htm, .html, .php, .php4...
 
  • Àlies (directoris virtuals). Aquí es defineixen les característiques dels directoris virtuals que reconeix el servidor. Més endavant, tornarem a tractar els directoris virtuals.
   
  Penseu que aquest fitxer de configuració és el cor del servidor APACHE; intenteu donar un cop d'ull almenys a les directives més comunes, ja que més endavant hem de modificar aquest fitxer.
   
   
 
Amunt
Pràctica
1
2
3
4
5
6
7
Exercicis
Exercicis