You are on page 1of 33

SERVIDORLOCAL 01

CURSOWEBEPD Tutor:FranciscoAragnMesa.

Nocionesbsicasderedes IP Una direccin IP es una etiqueta numrica que identifica, de manera lgica y jerrquica,aunainterfaz(tarjetadered)deundispositivo(pc,routeretc)dentrode unaredqueutiliceelprotocoloIP(InternetProtocol),quecorrespondealniveldered delprotocoloTCP/IP. Ejemplo192.168.0.1 Dicho nmero no se ha de confundir con la direccin MAC que es un nmero hexadecimalfijoqueesasignadoalatarjetaderedporelfabricante,mientrasquela direccinIPsepuedecambiar. EjemplodedireccionfisicaMAC0008744C7F1D LaIPpuedeserdinmicaofija,siesdinmicapuedecambiar23vecesalda. ExisteunprotocoloparaasignardireccionesIPdinmicasllamadoDHCP(DynamicHost ConfigurationProtocol). Los sitios de Internet que por su naturaleza necesitan estar permanentemente conectados, generalmente tienen una direccin IP fija (comnmente, IP fija o IP esttica),esta,nocambiaconeltiempo.Losservidoresdecorreo,DNS,FTPpblicosy servidores de pginas web necesariamente deben contar con una direccin IP fija o esttica,yaquedeestaformasepermitesulocalizacinenlared. TambinencontramosquelaIPpuedeserprivadaopublica,lasdetipoprivadaseusan para crear redes internas (ejemplo 192.168.0.1) y las publicas son usadas de cara al exterior,Internet.(ejemplo212.225.215.247). HaydireccionesIPreservadasporejemplola127.0.0.1queapuntaalmismopc. DNS A travs de Internet, los ordenadores se conectan entre s mediante sus respectivas direcciones IP. Sin embargo, a los seres humanos nos es ms cmodo utilizar otra notacin ms fcil de recordar, como los nombres de dominio (ej. www.web.com) la traduccinentreunosyotrosseresuelvemediantelosservidoresdenombresdedominio DNS. Estosservidorescontienenunabasededatosqueasociaelnombrededominiocon surespectivadireccinIP.

Pgina1

SERVIDORLOCAL 01

CURSOWEBEPD Tutor:FranciscoAragnMesa.

Con el comando ipconfig/all en una consola de comandos windows se puede ver la informacin

EndondeponedireccinfsicahacereferenciaaladireccinMACdelatarjetade red. La mscara de subred permite distinguir los bits que identifican la red y los que identificaneldispositivo(pc,routeretc)deunadireccinIP. LapuertadeenlacepredeterminadahacereferenciaaladireccionIPdelrouteral queseestaconectado.

Enlinuxelequivalenteeselcomandoifconfiga

Servidorweb Un servidor web es un programa que est diseado para transferir hipertextos, pginas web o pginas HTML (HyperText Markup Language): textos complejos con enlaces, figuras,formularios,botonesyobjetosincrustadoscomoanimacionesoreproductoresde msica. El programa implementa el protocolo HTTP (HyperText Transfer Protocol) paralacomunicacinconelservidor. Para conexiones cifradas y seguras se usa un protocolo de comunicacin seguro HTTPSenciertaspartesdelsitioweb. El Servidor web se ejecuta en un ordenador mantenindose a la espera de peticiones por parte de un cliente (un navegador web) y que responde a estas peticionesadecuadamente, medianteunapginawebqueseexhibirenelnavegadoro mostrandoelrespectivomensajesisedetectalgnerror.

Pgina2

SERVIDORLOCAL 01

CURSOWEBEPD Tutor:FranciscoAragnMesa.

El servidor responde al cliente enviando el cdigo HTML+CSS+JS de la pgina el cliente(navegador),unavezrecibidoelcdigo,lointerpretayloexhibeenpantalla. El cliente (navegador) es el encargado de interpretar el cdigo HTML+CSS+JAVASCRIPT, es decir, de mostrar las fuentes, los colores y la disposicin de los textos y objetos de la pgina, animaciones con javascript el servidor tan slo se limita a transferir el cdigo de la pgina sin llevar a cabo ninguna interpretacindelamisma. Es por eso que Javascript se dice que es un lenguaje en el lado del cliente. El navegadorrecibeelcdigofuenteyesteloejecuta.Demaneraquetambinsetiene accesoaverelcdigodeloqueseestaejecutando. Lomismoquehaylenguajesdeprogramacinenelladodelcliente,tambinloshay enelladodelservidor.Estoquieredecirqueellenguajenoseenvaalclientepara queloejecuteolointerpretesinoqueesosehaceenelmismoservidorgenerando cdigo HTML que el servidor toma y lo enva al cliente por medio del protocolo HTTP. Deservidoreswebhayvarios,losmsfamososenlawebson: IISdeMicrosoft Apache(elmsusadoparasitioswebquehacenusodePHP)

URL Localizadoruniformederecursos,mscomnmentedenominadoURL(siglaeninglsde uniform resource locator), es una secuencia de caracteres, de acuerdo a un formato modlicoyestndar,queseusaparanombrarrecursosenInternetparasulocalizacino identificacin. UnURLconstadecuatropartes: [protocolo]://[servidor]:[puerto]/[recurso] Protocolo: esel mecanismo por el cual deseamos acceder al [recurso]en [servidor]. En nuestrocaso,elhttp. Servidor: puede ser el nombre DNS o la direccin IP del servidor al que deseamos conectarnos. Puerto:eselnmerodepuertoendondeescuchanuestroservidor.Estepuedeirde0a 65536.Pordefecto,cadaprotocolotieneasignadounpuertoenparticular,poresonoes necesarioindicarlosiempre.Enelcasodelhttp,elpuertoes80.Esequivalenteentonces escribir:http://www.google.comquehttp://www.google.com:80 Recurso: es el recurso al cual queremos acceder del servidor. Este recurso puede ser desde una pgina(HTML), un script(archivo php o js), una aplicacin, un video, un mp3, etc. Pgina3

SERVIDORLOCAL 01

CURSOWEBEPD Tutor:FranciscoAragnMesa.

Parmetros: opcionalmente pueden aparecer parmetros, que son valores con sus nombresrespectivosparaqueunarchivophplosprocese.Tienenelsiguienteaspecto: http://www.web.com/ruta/archivo.php?variable=valor&variable2=valor...etc

PHP PHPesunlenguajedeprogramacinparapginaswebquepermitegenerarpginas dinmicas del lado del servidor. Para ser un poco ms preciso, nos referimos por pginasdinmicasaaquellaspginasquevanacambiarsucontenidodependiendodelos valoresqueseleasignen. Un ejemplo, en un blog programado en PHP para ver los artculos se utiliza siempre el mismoarchivo,perosemuestraelcontenidodeacuerdoalaiddelartculoqueseleest pidiendo. Yporqudelladodelservidor?EstosignificaqueelcdigoPHPvaaserinterpretado en el servidor. As, lo que el usuario ver en pantalla ser el contenido generado por la interpretacindelarchivoPHPqueelusuarioestsolicitando. Las pginas PHP son pginas webs con extensin .php o .phtml (otras extensiones comunes son .php3, .php4, .php5 o .inc) que incluyen cdigo HTML, JavaScript y PHP embebidoen ellas,yalejecutarlas,segeneracdigoHTMLdinmicamente. Esto significa que al ejecutar las pginas PHP en el servidor web, como peticin de un programa visualizador de pginas webs (cliente), se origina una respuestaen funcin de los datos que introduzca el usuario. El cliente no ve el cdigo del programa PHP, ya queslolellegarelcdigoHTMLquegenereelprograma. Es el servidor web, quien reconoce que la pgina solicitada es una pgina PHP (por la extensin),selaenvaalintrpretePHP,ysteprocesalapgina(porejemplo,consulta unabasededatosygeneraunapginaHTMLenfuncindelosresultadosobtenidosen la consulta), entonces devuelve los resultados al navegador cliente, que visualizar la pginaHTMLresultantecomocualquierotrapginaestticaquelellegara.

Pgina4

SERVIDORLOCAL 01

CURSOWEBEPD Tutor:FranciscoAragnMesa.

PHP dispone de un gran nmero de libreras de funciones para realizar operaciones avanzadas como acceso a bases de datos, comunicaciones, transferencia de ficheros, correo electrnico, etc. En la direccin http://www.php.net podemos encontrar toda la documentacin necesaria sobre PHP, como manuales, la referencia del lenguaje, entornos,etc. Para comenzar a desarrollar con PHP se necesita un servidor web como puede ser APACHE,apartequetambinestinstaladoelinterpretedellenguajePHPenelservidor. Usar un servidor remoto sera lento para el desarrollo y pruebas y se necesitara una conexin a internet para estar comprobando resultados y subir archivos, cosa que no interesa enla fase dedesarrollo. Espor esa razn que se usa un servidor weblocal, es decir,unservidorwebinstaladoenelpropioPC.

ServidorWebLocal Instalar un servidor web en nuestro PC nos permitir, entre otras cosas, poder montar nuestra propia pgina web sin necesidad de contratar un servidor de hospedaje remoto. Estonospermiteprobarnuestrosdesarrollosennuestropcoennuestraredlocal. Se usa esto para las fases de desarrollo de la aplicacin web donde se permite hacer pruebas y dems, una vez ya desarrollada la aplicacin web se procede a subir los archivos a un servidor de hospedaje e instalar la aplicacin web y su despliegue, esto puede ser, cargarla base de datos ylos archivos necesarios y hacer si fuese necesario algunosajustesenelservidorremoto. Sepodraoptarporinstalarcadaunodeloscomponentesporseparado(apache,php,etc) peroexistenpaquetesdeinstalacinqueincluyentodolonecesarioparatenerunservidor weblocalrapidamente. Dosconocidospaquetesdeinstalacinqueloincluyentodoson: XAMPPservidorindependientedeplataforma,softwarelibre,queincluyeensuinstalacin elsistemagestordebasededatosMySQL,elservidorWebApacheylosintrpretespara lenguajes:PHPyPerl.ActualmenteXAMPPestadisponibleparaMicrosoftWindows, GNU/Linux,Solaris,yMacOSX. http://www.apachefriends.org/es/xampp.html WAMPlomismoqueelanteriorperosolodisponibleparawindows,aparteesmsfacilde instalarycontieneopcionesdeconfiguracindelservidormuyfacilesderealizar. http://www.wampserver.com/en/

Pgina5

SERVIDORLOCAL 01

CURSOWEBEPD Tutor:FranciscoAragnMesa.

XAMPP INSTALACINenLINUX InstalandoXAMPP 1.DescargarXAMPPydescomprimirelpaqueteen/optsinoestaestedirectoriocrearlo conmkdir,paraestoabrimosunterminal(AplicacionesAccesoriosTerminal)yponemos: sudomkdir/opt sudotarxvfzxampplinux[version].tar.gzC/opt 2.Yatenemosinstaladoelservidor,ahoraledamospermisosdeescrituraalacarpeta /opt/lampp/htdocsparaquepodamosagregaroquitararchivos: sudochmod777R/opt/lampp/htdocs 3.Ahorasoloquedainiciarelservidor: sudo/opt/lampp/lamppstart Parapararlo: sudo/opt/lampp/lamppstop Para[arrancar/terminar/reiniciar]losserviciosporterminalesdelasiguientemanera. sudo/opt/lampp/lampp[start/stop/restart] 4.Luegodeiniciarelservidor,abrimosnuestronavegadoryescribimoshttp://localhost/o http://127.0.0.1/y,sitodosaliobien,tenemosqueverunapaginacomoesta:

Pgina6

SERVIDORLOCAL 01

CURSOWEBEPD Tutor:FranciscoAragnMesa.

Postinstalacin Antes de ponernos a desarrollar proyectos es nuestro nuevo servidor, tenemos que mejorar su seguridad para esto solo tenemos que ejecutar el siguiente comando en una terminalycompletarloquenospide: sudo/opt/lampp/lamppsecurity 1. Primero preguntara si queremos cambiar la contrasea de las paginas XAMPP le damos a enter y escribimos nuestra contrasea (recordad que la proxima vez que vayamosallocalhostnospedirusuarioycontraseaqueserlamppylacontrasea queelegisteis). 2. NospreguntarsiqueremosqueMySQLseaaccesibleatravsdelared,enterpara desactivarlo. 3. AhoranospreguntarsiqueremosponerlecontraseaaMySQL,entereintroducimos laquequeramos. 4. Y por ltimo nos queda la contrasea de proFTP, enter + contrasea. (Recordad, Usuario:nobodyContrasea:lavuestra,paraaccederalftp). AlaccederalphpMyadminparacrearunabasededatosenlaparteinferiordelapantalla apareceestemensaje

Bien,vamoshahacerloquenosestapidiendoelmensajedeelsiguientemodo. Abrimosunnavegadoreintroducimosladireccinhttp://localhost/phpmyadmin/,unavez dentropinchamossobreelapartadoprivilegios

Pgina7

SERVIDORLOCAL 01

CURSOWEBEPD Tutor:FranciscoAragnMesa.

Acontinuacineditaremoselusuariorootparalocalhostpinchandosobreelicono(Editar )

Ytenemosquebuscarlaseccindecambiodecontraseaqueseencuentramasabajo

Introducimoselnuevopasswordenlasdoscasillasypinchamosenelbotn(Continuar) Hastaaqutodobien,peroahoratenemosquehaceralgomas.Alvolveraliniciodelpanel decontroldephpMyAdminsaleestemensaje

Estemensajenosaconsejaqueeditemoselficheroconfig.inc.phpymodifiquemoslos camposdeusuarioypasswordporlosquehemoscreadoanteriormenteenphpMyAdmin. Abrimosunaconsolayeditamoselficheroconfig.inc.php sudogedit/opt/lampp/phpmyadmin/config.inc.php Buscamoslassiguienteslineaseintroducimosnuestropasswordenelsitiodondeestn losasteriscos(**********)

Unavezintroducidoelpasswordguardamosysalimosdeeditorconlateclayyapodemos acceder.

Pgina8

SERVIDORLOCAL 01

CURSOWEBEPD Tutor:FranciscoAragnMesa.

Directoriosimportantes */opt/lampp/etc:Aquisealmacenantodoslosarchivosdeconfiguracin,tantodeapache, php,mysql */opt/lampp/htdocs:Esteesnuestroraiz(http://localhost)dondedebemoscolocartodas laswebsquevayamoshaciendo. */opt/lampp/bin:Aqutenemostodoslosprogramasejecutables(apache,mysql,proftp). */opt/lampp/phpmyadmin:Comosunombrelodice,esdondeencontramosnuestro phpMyAdmin(http://localhost/phpmyadmin). Unavezquehemosinstaladonuestraherramientadedesarrollo,crearemosundirectorio dondepondremosyprobaremosnuestrosejemplosdecdigo. sudomkdir/opt/lampp/htdocs/tutolamp sudochmod777/opt/lampp/htdocs/tutolamp Conestoleestamosdandopermisostotalesdeescrituraeneldirectorioparapodergrabar nuestrosejemplosdesdecualquierherramientadedesarrollo.

ElEntornodeEjecucin. EnLinuxlasvariablesdeentornojueganunpapelcrucialparaejecutarcomandosydefinir variables que son asumidas por los procesos. Para nuestro caso lo mas importante es definirenlavariabledeentorno$PATH,queeslavariablequeleindicaalsistemadonde estan los directorios delos archivos ejecutables. Enlinux no interesala extension de un archivoparaqueseaejecutable,bastaquetengapermisosdeejecucin. Paraverel$PATHactualbastaejecutar: echo$PATH Paramodificarpermanentementeelvalordel$PATHescribimosesevalorenelarchivo /etc/profileyesoesvalidoparacualquierdistribucin.Comandos:
sudosu echo"exportPATH=/opt/lampp:/opt/lampp/bin:\$PATH">>/etc/profile

Reiniciamosparaverloscambiosenlaconsola: echo$PATH Luegoyapodemosejecutarelcomandolampp(administraciondeservicios),php (interpretedeconsola),pear(administraciondelibreriasdephp)ymysql(consolade comandodemysql)


$>sudosu $>lamppstart $>phpi $>pearlist $>mysqlurootp

Pgina9

SERVIDORLOCAL 01

CURSOWEBEPD Tutor:FranciscoAragnMesa.

mysql>selectversion() mysql>quit

Para[arrancar/terminar/reiniciar]losserviciosporterminalsedelasiguientemanera. sudo/opt/lampp/lampp[start/stop/restart] Sisedeseahacerdemaneragraficalaparadaoiniciodeserviciosenlinux

Teclearlosiguientedesdeunterminal: sudosu cd/ cd/home/tu_usuario/.local/share/applications/ geditxamppcontrolpanel.desktop yintroducimosestoparacrearnosunlanzadorenelescritoriooenunpanelparaas tenerlomsamanoycontrolarxamppanuestroantojocondosclics. [DesktopEntry] Comment=Start/StopXAMPP Name=XAMPPControlPanel Exec=gksudo"python/opt/lampp/share/xamppcontrolpanel/xampp controlpanel.py" Icon[en_CA]=/usr/share/icons/Tango/scalable/devices/network wired.svg Encoding=UTF8 Terminal=false Name[en_CA]=XAMPPControlPanel Comment[en_CA]=Start/StopXAMPP Type=Application Icon=/usr/share/icons/Tango/scalable/devices/networkwired.svg guardamosycerramos ElPaneldeControldeXAMPPenmodogrficoestaenAplicaciones>Otras. Pgina10

SERVIDORLOCAL 01

CURSOWEBEPD Tutor:FranciscoAragnMesa.

ParadesinstalarXamppsoloescribanlosiguienteenlaterminal: sudormrf/opt/lampp

INSTALACIONenWINDOWS Unavezfinalizadaladescargaejecutamoselficheroejecutable,yloprimeroserelegirel idioma.Tenemospocasposibilidades,asquelamejoropcincreoqueesEnglish. PinchamosOKyveremoselasistentequenosvaaguiarenlainstalacin. XAMPPnosdalabienvenida.PulsamosNext. Escribimoslarutadondequeremosqueseinstale,yluegopinchamosenNext.

EnlasiguientepantalladondeponeSERVICESECTION.Haytresopcionesque podremosmarcarodejardesmarcadassegnqueramos. Lo que van a hacer estas opciones es instalar los servidores Apache (servidor web), MySQL(basededatos)yFilezilla(servidorFTP)comoservicios,esdecir,quesecargarn automticamentealarrancarWindows. Losquedejemosdesmarcados,unavezfinalizadalainstalacin,tendremosqueiniciarlos nosotrosmanualmentedesdeelpaneldecontroldeXAMPPcadavezquelonecesitemos, dondetambintenemoslaposibilidaddeinstalarloscomoserviciosencasodequenolos hayamosmarcadoenestepaso. Pgina11

SERVIDORLOCAL 01

CURSOWEBEPD Tutor:FranciscoAragnMesa.

Vamosamarcarlasdosprimeras:ApacheyMySQL. Alolargodelsiguientepaso,comohemosmarcadoApacheyMySQL,aparecernunpar deventanasdeconsola,queeslainstalacindelosservicios.Atentosaestositenemos algnantivirusofirewallinstaladonosavisar,seguramente,dequeseestaccediendoa algunos puertos o estamos intentando instalar servicios. Debemos darle paso y permitir estasacciones,yaquesino,nonosfuncionarndichosserviciosytendremosquehurgar ennuestroantivirusofirewallparadesbloquearlos. YaestamospreparadosparapincharInstall.Elasistenteempiezalacopiadeficheros

Avisarcuandohayaterminadodeinstalarlosserviciosyseguidamentepreguntarsi queremosarrancarelpaneldecontrol.

SicontestamosqueNO,terminarlainstalacin.

Pgina12

SERVIDORLOCAL 01

CURSOWEBEPD Tutor:FranciscoAragnMesa.

Desdeelpaneldecontrolsepuedenpararlosserviciosoiniciarlos.

Losiguienteescomprobarquefunciona. Paraello,abrimosnuestronavegadoryescribimoslasiguientedireccin:http://localhost Sitodohaidobiendeberaaparecernosunapantallaparaseleccionarelidioma. Postinstalacin Revisarlasopcionesquetenemosalaizquierdayquenosvanaayudarenla configuracin. PrimeropinchamosenEstado.Nosaparecerunalistadeloscomponentesinstaladosy elestadodecadaunodeellos.Dependiendodeloquehayamosseleccionadodurantela instalacin, podramos tener alguna desactivada. Esto es meramente informativo, por lo queaqunopodemoshacermuchoms. EnnuestrocasoaparecerdesactivadoelcomponentedeservidorFTP,yaquedurantela instalacinnoloseleccionamos.

Pgina13

SERVIDORLOCAL 01

CURSOWEBEPD Tutor:FranciscoAragnMesa.

Pasemos a la siguiente opcin. Pinchamos en Chequeo de seguridad. Esto s es importante.TengamosencuentaquenuestroordenadorpuedeestarconectadoaInternet, ygraciasanuestronuevoservidorwebcualquierapodraaccederanuestroequipo.

Casialfinaldelapantallavemosqueapareceunenlace: http://localhost/security/xamppsecurity.php Pinchamosyaccederemosaunapantalladondevamosapoderestablecerlasclavespara limitarelaccesoanuestroequipodeconexionesnodeseadas.

LoprimeroesestablecerlacontraseaparaelusuarioROOTdelabasededatos. Tenemoslaopcindemarcarunacasillaparaquenosguardeelpasswordenunfichero detexto.

Pgina14

SERVIDORLOCAL 01

CURSOWEBEPD Tutor:FranciscoAragnMesa.

Una vez escrita la contrasea y marcado las opciones que queramos, pinchamos en Password changing, y acto seguido veremos la misma pantalla con un mensaje al principioindicndonosquelaclavehasidoguardada.

Eselturnodelarchivo.htaccess,medianteelcualprotegeremoselaccesoanuestrositio weblocal.

Pgina15

SERVIDORLOCAL 01

CURSOWEBEPD Tutor:FranciscoAragnMesa.

Enlapartedeabajodelamismapantalladondehemosestablecidolacontraseaparala base de datos, escribiremos un nombre de usuario y una contrasea, que nos servirn paracerrarelaccesoanuestraweblocal. Escribimos el usuario (el que queramos, no necesariamente root) y la clave y, igual que antes,tenemoslaopcindegrabarenunficherodetextolacontrasea. Pinchamosenelbotncorrespondienteylisto.Servidorwebasegurado

Apartirdeahora,cadavezquequeramosentrarenhttp://localhost,senosmostraruna ventanadondedeberemosescribirelusuarioylacontraseaquehemosgrabado. Dehechovamosacomprobarlo Volvemos a nuestro navegador y escribimos la ruta: http://localhost y obtendremos el siguientemensaje:

Pgina16

SERVIDORLOCAL 01

CURSOWEBEPD Tutor:FranciscoAragnMesa.

Volvemosachequearlaseguridadyobtendramosalgoas:

Despusdeguardarloscambios,hayquemodificarelficheroconfig.inc.phpsituadoen XAMPP/phpMyAdmin/yeditarlassiguienteslneas:
/*Authenticationtypeandinfo*/ $cfg['Servers'][$i]['auth_type'] ='config'//Authenticationmethod (config,httporcookiebased) $cfg['Servers'][$i]['user']='root' $cfg['Servers'][$i]['password']='toor' $cfg['Servers'][$i]['AllowNoPasswordRoot']=true

En este fichero se configurarn las variables necesarias para que phpMyAdmin pueda accederaMySQL,lasmsimportantessonauth_typeparaeltipodeautenticacin,usery password. Para la variable auth_type podemos poner el mtodo de autenticacin http y cuandoaccedamosaphpMyAdminnosaparecerunaventanaparaintroducirelusuarioy password de MySQL. Sin embargo, si ponemos como mtodo de autenticacin config debemos poner enlas variables user y password el usuario y password de MySQL y de estaformaaccederdirectamenteaphpMyAdminsinpreguntarnadaelusuario. Reiniciamoslosserviciosynavegadoryyapodremosentrarenphpmyadminsinpedir clave. ParapoderaccederalaadministraciondeMySQLdesdeunaventanadeMSDOS.
C:\DocumentsandSettings\Administrator>cd.. C:\DocumentsandSettings>cd.. C:\>cd/xampp/mysql/bin C:\xampp\mysql\bin>mysql.exeurootp Enterpassword:**** WelcometotheMySQLmonitor.Commandsendwithor\g. YourMySQLconnectionidis26 Serverversion:5.0.51bcommunityntMySQLCommunityEdition(GPL) Type'help'or'\h'forhelp.Type'\c'toclearthebuffer. mysql>

Pgina17

SERVIDORLOCAL 01

CURSOWEBEPD Tutor:FranciscoAragnMesa.

parasalir
mysql>exit

Yesoestodo.

WAMP

Loprimeroesdescargarelarchivo Luegodebemosinstalarelejecutablequeacabamosdedescargaryseguirlospasosdela instalacin, en un momento la instalacin nos pedir que definamos nuestro navegador por defecto, debemos buscar el archivo en nuestro disco (ej. C:\Archivos de Programas\MozillaFirefox\firefox.exe,oelnavegadorquetuutilices). TambinnospedirqueconfiguremoslosdatosdenuestroservidorSMTP,encasode tener,ingresamoslosdatos,encasocontrariodejamoslosdatosquevienenpordefectoy ledamosaNext>. Unavezelprogramaestinstaladoennuestrosistema,loejecutamosyparaponerloen espaol,nosvamosconclicderechosobreeliconitoquegenerenlabarradetareas(al ladodelreloj),ydefinimoslanguage>spanish. Ahora,comencemosautilizarlo Loprimeroesencenderelservidor,paraellohacemosclic(normal)sobreelconoen nuestrabarradetareas,yledamosclicaEncender.

Pgina18

SERVIDORLOCAL 01

CURSOWEBEPD Tutor:FranciscoAragnMesa.

YluegoclicaIniciarlosservicio

Yatenemosnuestroservidorlocalfuncionando Para probarlo, accederemos a nuestro localhost(maquina local o propia maquina), para ello, abrimos nuestro navegador favorito y tecleamos la siguiente url: http://localhost/ o http://127.0.0.1/ Nosdeberaabrirunapginacomolasiguiente:

Pgina19

SERVIDORLOCAL 01

CURSOWEBEPD Tutor:FranciscoAragnMesa.

Enesapginainicialdetulocalhost,tienesloslinksparaaccederadosaplicacionespara administrarbasededatos(phpmyadminysqlitemanager). Ahorasolorestaquesepasqueparaprobartusscriptsentuservidordebesguardarlosen la carpeta /www dentro del directorio donde instalaste el wamp (por defecto: C:\wamp\www), y para acceder a tus proyectos simplemente lo hars a travs de la siguiente url: http://localhost/_ruta_proyecto_/archivo.php (sustituyendo _ruta_proyecto_ y archivo.phpporturutayarchivos

SienVistanosepuedeaccedercomo'localhost',vienedelpropiowindows.Abriryeditar elarchivo'hosts'dentrodec:\windows\system32\drivers\etc alfinaldelmismoasegurarsequepone: 127.0.0.1localhost asegurarsetambienquenoponenadararocomo: ::1localhost Lanicareferenciaalocalhostdebeserladel127.0.0.1

Pgina20

SERVIDORLOCAL 01

CURSOWEBEPD Tutor:FranciscoAragnMesa.

ConfiguracindeApache EstaexplicacinsobrelaconfiguracindeApacheyPHPestadaptadaaXAMPP1.7.4. Cada vez que se modifica alguno de los ficheros de configuracin es necesario detenery reiniciar el servidor. En XAMPP 1.7.4 se puede utilizar para ello el panel de controldeXAMPP(Inicio>Programas>XAMPPforWindows>XAMPPControlPanel).

Cmomodificarlosarchivosdeconfiguracin Antesdemodificarcualquierarchivodeconfiguracin,serecomiendahacerunacopiade seguridaddelarchivodeconfiguracinoriginal. Si al modificar algn archivo de configuracin nos equivocamos e introducimos errores, es probable que el servidor no pueda arrancar. Si no somos capaces de encontrar el error, siempre podemos restaurar en archivo de configuracin original y empezardenuevo,sinnecesidaddereinstalarlosprogramas. Al modificar cualquier archivo de configuracin, es conveniente documentar los cambios.Paraello,recomiendohacertrescosas: no modificar la lnea del archivo original, sino aadirle el carcter de comentarioalprincipiodelalnea(almohadilla) aadirlalneamodificada aadirunalneadecomentarioindicandolafecha,elautoryelcambiorealizado.

Porejemplo,lasiguientelneaesunalneadelarchivodeconfiguracindeApache: DocumentRoot"C:/xampp/htdocs" Encasodemodificarla,elarchivodeconfiguracinquedaraas(seharesaltadoeltexto aadido):


#20110209.Barto.Hecambiadoeldirectoriorazdelservidor #DocumentRoot"C:/xampp/htdocs" DocumentRoot"C:/www"

El fichero de configuracin de Apache es el archivo httpd.conf, un archivo de texto sin formato. En httpd.conf las lneas comentadas empiezan por el carcter almohadilla (#). En Windows, al escribir una ruta de directorio en httpd.conf se puede utilizar tanto la barra comolacontrabarra(esdecir,sepuedeescribirtantoC:\xamppcomoC:/xampp).

Pgina21

SERVIDORLOCAL 01

CURSOWEBEPD Tutor:FranciscoAragnMesa.

En XAMPP 1.7.4 el archivo httpd.conf se encuentra en el directorio C:\xampp\apache\conf\. SecomentanacontinuacinalgunasdirectivasdeconfiguracindeApache.

Ubicacindelaspginasweb ConlaconfiguracininicialdeXAMPP1.7.4, alabrirenel navegadorunapginaweb cuya direccin empieza por http://localhost/ el comportamiento de Apache es el siguiente: Apache busca la pgina web solicitada a partir del directorio raz del servidor, indicado por la directiva DocumentRoot del archivo httpd.conf (normalmente, C:\xampp\htdocs) Siencuentraelarchivo,losirvealnavegador. Sinoencuentraelarchivo,buscasiexistealgunodelosarchivosindicadosporla directiva DirectoryIndex (normalmente, index.php, index.php4, index.php3, index.cgi, index.pl, index.html, index.htm, etc) y si lo encuentra, lo sirve al navegador. Sinoencuentraningunodeesosarchivos,Apacheenvaalnavegadorellistadodel directorio.

Esta configuracin es adecuada para entornos de programacin, pero en entornos de produccin se suele modificar, por ejemplo, para no enviar el listado del directorio. En el directorio raz del servidor, XAMPP 1.7.4 instala una serie de pginas que permiten administrar el servidor, por eso al abrir en el navegador la direccin http://localhostseabreunapginadeconfiguracinpropiadeXAMPP.

Alahoradeaadirotraspginasenelservidor,sepuedehacerdevariasformas: Cambiareldirectoriorazdelservidor,modificandoladirectivaDocumentRoot. Creardirectoriosdeusuario,medianteladirectivaUserDir.Eslamejorsolucinen un ordenador con varios usuarios de Windows para que cada usuario tenga sus propiaspginasseparadaseindependientesdelresto.Cadausuariopuedeguardar suspginasenundirectorioycadausuarioslovesuspginas. Crear uno o varios alias, mediantela directiva Alias. Es una solucin quepermite mantener las pginas en los directorios que ms nos interesen, aunque si hay varios usuarios, estos tienen que tener en cuenta los alias creados por los dems,puestoquelosnombresnosepuedenrepetir.

Pgina22

SERVIDORLOCAL 01

CURSOWEBEPD Tutor:FranciscoAragnMesa.

Usando un host virtual y asociando un nombre de dominio a un directorio del sistema.

DocumentRoot LadirectivaDocumentRootespecificaeldirectoriodondeseencuentranlaspginasweb. Cuandoenlabarradedireccindelnavegadorseescribaunadireccinquecomiencepor http://localhost/,elservidorbuscarlosarchivosapartirdeesedirectorio. La directiva DocumentRoot va acompaada de una directiva <Directory> que especifica quserviciosycaractersticasestnpermitidosoprohibidoseneldirectorio. EnXAMPP1.7.4elvalorpredeterminadodeDocumentRooteselsiguiente: DocumentRoot"C:/xampp/htdocs" <Directory"C:/xampp/htdocs"> SisequierecambiarDocumentRootyutilizar,porejemplo,eldirectorioC:\www,hayque modificartantolalneadeDocumentRootcomoelDirectorycorrespondiente.Elarchivode configuracindeberaquedaras:

#20110109.Barto.Hecambiadoeldirectoriorazdelservidor #DocumentRoot"C:/xampp/htdocs" DocumentRoot"C:/www" ...(sehanomitidovariaslneasdelarchivodeconfiguracin) #20110109.Barto.HecambiadoladirectivaDirectorydeDocumentRoot #<Directory"C:/xampp/htdocs"> <Directory"C:/www">

UserDir Como en un ordenador con Windows XP puede haber varios usuarios, puede ser un problema que todos los usuarios utilicen el mismo directorio raz htdocs. La directiva UserDir permite que cada usuario guarde sus pginas en su propio directorio Mis Documentosyquecadaunoaccedaaellosescribiendoenelnavegadorladireccin http://localhost/~nombredeusuario. Hay que tener en cuenta que aunque se definan directorios de usuarios, http://localhost siguemostrandoeldirectorioindicadoporladirectivaDocumentRoot. Para que Apache pueda acceder a los directorios de los usuarios, en httpd.conf debeestarcargadoelmdulouserdirmedianteladirectiva: LoadModuleuserdir_modulemodules/mod_userdir.so

Pgina23

SERVIDORLOCAL 01

CURSOWEBEPD Tutor:FranciscoAragnMesa.

En XAMPP 1.7.4 esta directiva est comentada de forma predeterminada, por lo que es necesarioborrarelcarcterdealmohadilla. En XAMPP 1.7.4 la configuracin de los directorios de usuario se realiza en un archivo separado (aunque el contenido de este archivo podra incluirse en el archivo httpd.conf) queseencuentrareferenciadomedianteladirectiva Includeconf/extra/httpduserdir.conf EnXAMPP1.7.4estadirectivanoestcomentadadeformapredeterminada,porloqueno esnecesariomodificarla,aunqueconvienecomprobarlo.

Elarchivohttpduserdir.confcontienelasdirectivasUserDiry<Directory>queespecifican la ubicacin de los archivos de usuario y su modo de acceso. El archivo que instala XAMPP 1.7.4 debe modificarse para definirel directorio deusuario concreto, como en el ejemplo siguiente, en el que Windows est instalado en C:/, el usuario se llama "NombreDeUsuario" y la carpeta en la que se encuentran las pginas web es "Mis documentos/www".

<IfModuleuserdir_module> #20110109.Barto.HeaadidoesteDirectoriodeusuario: UserDir"Misdocumentos/www" <Directory"C:/DocumentsandSettings/NombreDeUsuario/Misdocumentos/www"> OptionsIndexesFollowSymLinksIncludesExecCGI AllowOverrideAll Orderallow,deny Allowfromall </Directory> </IfModule>

Alias LadirectivaAliaspermitequeelservidorabrapginasquenoestndentrodeldirectorio establecidomedianteladirectivaDocumentRoot. Para que Apache pueda acceder a esos directorios, en el archivo httpd.conf debe estarcargadoelmduloaliasmedianteladirectiva: LoadModulealias_modulemodules/mod_alias.so EnXAMPP1.7.4estadirectivanoestcomentadadeformapredeterminada,porloqueno esnecesariomodificarla,aunqueconvienecomprobarlo. Adems,hayqueaadirenelarchivohttpd.confunadirectivaAliasdentrodeladirectiva <IfModulealias_module>(queyaexisteenXAMPP1.7.4).

Pgina24

SERVIDORLOCAL 01

CURSOWEBEPD Tutor:FranciscoAragnMesa.

Como ejemplo, vamos a crear un par de alias. Supongamos que hay dos alumnos que utilizan el mismo usuario de Windows y cada uno quiere guardar su pginas en Mis Documentosyaccederaellasatravsdelservidor.As: ElusuariodeWindowssellamaNombreDeUsuario LosalumnossellamanAnayBenito AnavaaguardarsusarchivosenlacarpetaMisdocumentos/Ana/PHP Anaaccederasusarchivosescribiendoenelnavgeadorhttp://localhost/ana BenitovaaguardarsusarchivosenlacarpetaMisdocumentos/Benito/PHP Benitoaccederasusarchivosescribiendoenelnavgeadorhttp://localhost/benito

Paraello,hayqueaadirenelarchivohttpd.confdosdirectivasAliasdentrodeladirectiva <IfModulealias_module>.SiyaexisteladirectivaIfModule(comoocurreenXAMPP 1.7.4),slohabraqueaadirlaslneasennegritadelejemplosiguiente:


<IfModulealias_module> #20110109.Ana.HeaadidoesteAlias: Alias/ana"C:/DocumenSettings/NombreDeUsuario/Misdocumentos/Ana/PHP" <Directory"C:/DocumenSettings/NombreDeUsuario/Misdocumentos/Ana/PHP"> OptionsIndexesFollowSymLinksIncludesExecCGI AllowOverrideAll Orderallow,deny Allowfromall </Directory> #20110109.Benito.HeaadidoesteAlias: Alias/benito"C:/DocumenSettings/NombreDeUsuario/Misdocumentos/Benito/PHP" <Directory"C:/DocumenSettings/NombreDeUsuario/Misdocumentos/Benito/PHP"> OptionsIndexesFollowSymLinksIncludesExecCGI AllowOverrideAll Orderallow,deny Allowfromall </Directory> ScriptAlias/cgibin/"C:/xampp/cgibin/" </IfModule>

Pgina25

SERVIDORLOCAL 01

CURSOWEBEPD Tutor:FranciscoAragnMesa.

VirtualHosts Lapalabrahostsiempreserefiereacualquiermaquinadeunared. localhostesunnombredemquidaquehacereferenciaalamquinamismaendondese estejecutandolaaplicacinquellamaallocalhost. Escomollamaramimismoequipo. localhostestraducidointernamenteporlaIP127.0.0.1,conocidacomolaIPLocalolaIP localhost.EsunadireccinIPespecialqueapuntasiempreatuequipo. El protocolo TCP/IP admite que cada nombre de host (locahost, google.com, yahoo.com,pablo.enlapc.com)debeestarrelacionadaconunadireccin IP,yestos seresuelvengraciasal DNS(SistemadeNombresdeDominio),quenoesmsqueuna simplebasededatosqueseencargadetraducirNombredeHostaIPyviceversa. Cada equipo tiene una pequea base de datos interna: el archivo hosts. Es un archivodetextoqueenWindowsseencuentraen: c:\windows\system32\drivers\etc\hosts Lo puedes abrir con cualquier editor de textos (Notepad) y vers bsicamente una lnea como: 127.0.0.1localhost EstosignificaqueasociaellocalhostalaIP127.0.0.1.Siagregasunalneacomo: 127.0.0.1mipc CrearsunanuevaentradaDNS,ypodrsaccederatuPCbajo:http://mipcyalmismo tiempoconhttp://localhost.UnamismaIPpuedetenerasignadosvariosnombresdehost En este caso vamos a configurar Apache y nuestro equipo, para que se capaz de responder a otros nombres de servidor, que identifiquen a nuestros proyectos y podamosponernuestrosarchivoseneldirectorioquequeramos.Aestoselellama crearunvirtualhost

Pgina26

SERVIDORLOCAL 01

CURSOWEBEPD Tutor:FranciscoAragnMesa.

PasosparacrearunVirtualHost 1Crearunacarpeta. Primeroquenada,vamosaestablecerquetodosnuestrossitioswebvanaestaren carpetasindividualesdentrodelacarpetaejercicioswebdentrodemisdocumentos. Trataremos de no usar espacios y solamente dgitos numricos y caracteres ASCII para losnombresasnosahorramospotencialesproblemas.

2AadirelnombrededominioalarchivoHosts Enelarchivohostsc:\windows\system32\drivers\etc\hosts Incluimoslosiguienteyguardamos: #Misejerciciosdetarde 127.0.0.1curso02 Parapoderguardarejecutamoselnotepadcomoadministradoryabrimoselarchivo ypodremosguardar. EsposibletenervariosnombresdehostparaunamismadireccinIP.

3Editarhttpdvhosts.conf El archivo que nos interesa est dentro de la Carpeta XAMPP, en c:\xampp\apache\conf\extra: httpdvhosts.conf(archivodeconfiguracindehostvirtuales) Enunalneadelarchivodebersquitarleelcomentario,paraquetequede: NameVirtualHost127.0.0.1:80 ConestoharsqueApacheseacapazdetrabajarconhostsvirtuales

Pgina27

SERVIDORLOCAL 01

CURSOWEBEPD Tutor:FranciscoAragnMesa.

Yaadirlosiguientealfinal: Primeroparaquelacarpetapordefectohtdocssigasiendoaccesibleatravsdelocalhost
<VirtualHost*:80> DocumentRootC:/xampp/htdocs ServerNamelocalhost <Directory"C:/xampp/htdocs"> OptionsIndexesFollowSymLinksIncludesExecCGI AllowOverrideAll Orderallow,deny Allowfromall </Directory> </VirtualHost>

Ysegundonuestrohostvirtual
<VirtualHost*:80> ServerAdminwebmaster@localhost DocumentRoot"C:\DocumentsandSettings\Administrator\My Documents\ejerciciosweb" ServerNamecurso02 <Directory"C:\DocumentsandSettings\Administrator\My Documents\ejerciciosweb"> OptionsIndexesFollowSymLinksIncludesExecCGI AllowOverrideAll Orderallow,deny Allowfromall </Directory> </VirtualHost>

4REINICIARAPACHE!!!!!!!!!!!!!!!!
Probamosenelnavegador

Pgina28

SERVIDORLOCAL 01

CURSOWEBEPD Tutor:FranciscoAragnMesa.

ConfigurarunproyectonuevoenNETBEANSconunacarpetayaexistente VamosaverlospasosparacrearunproyectonuevoenNetbeansapartirdeunacarpeta yacreada,concretamenteladelvirtualhost.

Ennetbeansprocederdelasiguientemaneracrearunnuevoproyectocomoseindicaa mododeejemplo.

Pgina29

SERVIDORLOCAL 01

CURSOWEBEPD Tutor:FranciscoAragnMesa.

ElProjectURLhttp://curso02/

Yyatendrsenmisdocumentoslosproyectosagrupadosenunacarpetaqueserlaque usarelvirtualhost.

Pgina30

SERVIDORLOCAL 01

CURSOWEBEPD Tutor:FranciscoAragnMesa.

Otrasdirectivasdeconfiguracindeapachehttpd.conf httpd.confestcompuestoportresbloquesfundamentales,aunquelasdirectivasdecada unodelosbloquepuedenaparecerdesordenadasomezcladas. Estosbloquesson: Parmetrosglobales Directivasdefuncionamiento Hostsvirtuales

Algunos parmetros son propsito general, y otros son configurables de forma independiente para cada conjunto de directorioso de ficheros oincluso para un servidor virtualespecfico.Entalescasos,estosparmetrosseencuentrandentrodeseccionesen las que se indica el contexto de aplicacin de dicho parmetro. Las secciones fundamentalesson: <Directory>: los parmetros que se encuentran dentro de la seccin Directory slo se aplicanaldirectorioindicadoysussubdirectorios. <DirectoryMatch>: igual que Directory, aunque acepta expresiones regulares en el nombredeldirectorio. <Files>: los parmetros de configuracin facilitan control de acceso a los ficheros mediantesunombre. <FilesMatch>: igual que Files, pero acepta en el nombre del fichero expresiones regulares. <Location>:proporcionacontroldeaccesoalosficherosmediantelaURL. <LocationMatch>: igual que Location, pero acepta en el nombre del fichero el uso de expresionesregulares. <VirtualHost>:losparmetrossloseaplicanaaquellaspeticionesdirigidasaestehost (nombredeservidor,direccinIPopuertoTCP). <Proxy>: slo se aplican estos parmetros a aquellas peticiones de proxy (requiere que estinstalado"modproxy")coincidentesconlaespecificacindeURL. <ProxyMatch>: igual que proxy, pero acepta en la URL indicada el uso de expresiones regulares. <IfDefine>: slo se aplica si alarrancar elservidorexiste un parmetro concreto definido enlalneadecomandos,mediantelaopcinD.

Pgina31

SERVIDORLOCAL 01

CURSOWEBEPD Tutor:FranciscoAragnMesa.

<IfModule>: se aplican los parmetros si el mdulo especificado se encuentra cargado (medianteLoadModule)enelmomentodearrancarelservidor.

Directivasglobalesdeconfiguracin ServerRoot:especificalalocalizacindeldirectoriorazenelqueseencuentrainstalado elservidorweb.Partiendodeestedirectorio,seencuentranlosficherosdeconfiguracin, etc.Silainstalacindelservidorescorrecta,nodeberamodificarsenunca. Listen: especifica el puerto en que se atendern las peticiones. Por defecto el servidor "escucha"enelpuerto80deTCP.PermiteespecificarlasdireccionesIPqueseutilizarn (en caso de que el servidor tuviese ms de una). Por defecto se utilizarn todas las disponibles. LoadModule: Permite cargar en el servidor los mdulos adicionales de Apache. La sintaxises: LoadModulemoduloficheromodulo ServerAdmin: especifica la direccin de correo electrnico del administrador. Esta direccinpuedemostrarseenlosmensajesdeerroramododedireccindecontactopara que los usuarios notifiquen el error al administrador. No debe estar dentro de ninguna seccin. ServerName:sirveparaespecificarelnombreyelpuertoTCPqueelApacheutilizapara identificarse.Susintaxises: ServerNamenombredireccion:puerto DocumentRoot:directoriorazdesdeelcualseservirnlosdocumentos.Pordefectoes "htdocs". No debe aparecer dentro de ninguna seccin, a excepcin de la seccin VirtualHost.Lecorrespondeunaseccin<Directory>enlacualsemarcanlosparmetros deconfiguracindeestedirectorio. DirectoryIndex:especificaelficheroqueApacheservirpordefectoparacadadirectorio en caso de que no se especifique ningn fichero concreto en la URL de la peticin. Por defecto es "index.html". Es decir, si se solicita en la barra de direcciones del navegador: www.cibernetia.comelservidorenviarpordefectowww.cibernetia.com/index.html. ErrorDocument:estadirectivaestableceelcomportamientodeApacheencasodeerror. ErrorDocumentcdigo_erroraccin.

Pgina32

SERVIDORLOCAL 01

CURSOWEBEPD Tutor:FranciscoAragnMesa.

Directivasdeseccin Casi todas las secciones de localizacin (Directory, Location, etc.) incluyen una serie de directivas en su configuracin que permiten controlar el acceso al contenido. El mdulo mod_accessfacilitaestasdirectivas. Allow:permiteespecificarquintieneautorizacinparaaccederaunrecurso.Sepueden especificardireccionesIP,nombresdemquina,fragmentosdelnombreodeladireccin ovariablesdelapeticin.Existelapalabraclave"all"queindica"todoslosclientes". AllowfromAll:ApachesirvecualquierficheroquesecorrespondeconunaURL. AllowOverride All: Permite que todas las directivas .htaccess de ese directorio tengan prioridadsobrelasestablecidasenelarchivodeconfiguracindeapache. Deny:permiteespecificaraquinnopermitimoselaccesoaunrecurso.Cuentaconlas mismasopcionesqueAllow. Order:permiteafinarelfuncionamientodelasanterioresdirectivas:AllowyDeny.Existen 2opciones: Allow,Deny. Por defecto se deniega el acceso y slo podrn acceder aquellos clientes que cumplan las especificaciones de Allow y en cambio no cumplan las especificacionesdeDeny. Deny,Allow.Pordefectosepermiteelaccesoyslopodrnentrarlosclientesque no cumplan las especificaciones de Deny o s cumplan las especificaciones de Allow.

Pgina33

You might also like