Capítulo 3 Servidores de aplicaciones

Introducción
En este capítulo vamos a ver como instalamos aplicaciones desarrolladas con un lenguaje de programación PHP (LAMP y WAMP y la implantación de aplicaciones utili!ando un entorno "A#A$ La idea inicial es preparar un entorno para desplegar aplicaciones reali!adas en estos dos lenguajes de programación y pro%ar su correcto &uncionamiento con programas %'sicos de PHP o "A#A$ E(isten aplicaciones ya desarrolladas y el o%jetivo va a ser desplegar estas aplicaciones en los entornos preparados anteriormente$

LAMP
LAMP son las siglas de Linu() Apac*e) Mys+l y PHP$ Linu(, Es el sistema operativo$ Apac*e, Es el servidor -e%$ Mys+l, Es la %ase de datos$ PHP, Es el lenguaje de programación

Instalación LAMP
1.- Instalamos apache so%re un sistema operativo linu($ Por ejemplo en un .%untu, apt/get install apac*e0 Para reiniciar el servidor) como vimos en el tema anterior, 1etc1init$d1apac*e0 restart Para pro%ar su correcto &uncionamiento pro%amos la dirección en local*ost$ *ttp,11local*ost 2.- Instalamos en intérprete PHP sudo apt/get install p*p2 li%apac*e0/mod/p*p2 p*p2/cli p*p2/mys+l Podemos crear para ver si &unciona correctamente un programa p*pin&o$p*p y colgarlo de 1var1--34p*p ec*o p*pin&o( 5

46 Para pro%ar su correcto &uncionamiento pro%amos la dirección en local*ost1p*pin&o$p*p$ *ttp,11local*ost1p*pin&o)p*p 3.- Instalamos la ase de datos M!s"l 7nstalamos el cliente y la %ase de datos Mys+l sudo apt/get install mys+l/server mys+l/client li%mys+lclient/dev 7ntroducimos el pass-ord para el usuario root de la %ase de datos mys+l,

Con&irmarmos el pass-ord,

Instalamos phpm!admin.

P*pmyadmin es un programa desarrollado en p*p +ue nos va a permitir gestionar nuestra %ase de datos mys+l mediante un navegador$ sudo apt/get install p*pmyadmin

8eleccionamos servidor apac*e0$ #ota importante$ Hay +ue seleccionar con el ta%ulador y pinc*ar en apac*e$ 8i no lo *ici9semos así no crearía el enlace sim%ólico a p*pmyadmin$ Lo podríamos recon&igurar con el siguiente comando, dp:g/recon&igure p*pmyadmin

8eleccionamos +ue +ueremos con&igurar la %ase de datos para p*pmyadmin,

7ntroducimos la contrase;a del usuario root introducida en la instalación de mys+l,

7ntroducimos la contrase;a para la aplicación de p*pmyadmin,

Con&irmamos la contrase;a para p*pmyadmin,

Pro%amos *ttp,11local*ost1p*pmyadmin

Windo.11---$apac*e&riends$org1es1(ampp$*tml &'ercicio .11---$easyp*p$org1 . Es el lenguaje de programación E(isten di&erentes pa+uetes +ue incluyen el sistema -amp$ Wampserver *ttp. Es el sistema operativo) puede ser cual+uier sistema de la empresa microso&t.ni&orm 8erver *ttp.11source&orge$net1projects1-ampserver1 EasyPHP *ttp.%AMP WAMP son las siglas de Winu() Apac*e) Mys+l y PHP$ Windo-s.11---$uni&ormserver$com1 <AMPP) incluye servicios adicionales como &tp o correo electrónico$ *ttp.<P) Windo-s =) Windo-s 0>>? 8erver) etc$ Apac*e. Es la %ase de datos$ PHP. Es el servidor -e%$ Mys+l.

DPL *ttp.omercio electrónico$ Ma/ento$ *ttp.@eali!a una ta%la con las di&erentes características de los pa+uetes -amp$ *ttp.11---$-ordpress$org .11---$drupal$org -oomla$ "oomlaF es un sistema de gestión de contenidos) y entre sus principales virtudes est' la de permitir editar el contenido de un sitio -e% de manera sencilla$ Licencia.11source&orge$net1projects1(ampp1 Aplicaciones %AMP ! LAMP E(isten miles de aplicaciones programadas con licencias DPL o E8L +ue las podemos instalar en nuestro servidor de aplicaciones LAMP o WAMP sin necesidad de programar nada$ Estas son las aplicaciones m's utili!adas$ +estion de contenidos$ %ordpress$ 7nicialmente se comen!ó utili!ando para crear %logs$ 8u uso se *a e(tendido y actualmente se utili!a como gestor de Contenidos) im'genes o comercio electrónico gracias a sus plugins$ Licencia. DPL *ttp.11---$joomla$org .rupal$ Es un CM8 (sistema de gestión de contenidos modular multipropósito y muy con&igura%le +ue permite pu%licar artículos) im'genes) y otras cosas u otros arc*ivos y servicios a. DPL *ttp.11recursostic$educacion$es1o%servatorio1-e%1es1component1content1article1?>>/monogra&ico/se rvidores/-amp4startA2 Instalación (AMPP )%amp* Entre los pa+uetes Wamp vamos a instalar <ampp ya +ue) adem's incluye otros servicios como servidor &tp) servidor de correo saliente) servidor -e% tomcat) etc$ Adem's del pa+uete para Windo-s) tam%i9n tiene para Linu() 8olaris o Mac$ B$/ Cescargamos el pa+uete de Windo-s *ttp.adidos como &oros) encuestas) votaciones) %logs y administración de usuarios y permisos$ Licencia.11---$-ordpress$org PrestaShop$ $ *ttp.11---$prestas*op$com1 .

We%mail 8+uillelmail. @edes 8ociales . Dalería &otos Copermine. Ense.1M es una aplicación +ue permite la gestión comercial) de mar:eting y atención al cliente$ .com2products2autoinstallers2 4itnami Es un instalador de aplicaciones -e% de so&t-are li%re) multiplata&orma) con licencia DPL$ 8u o%jetivo es &acilitar la instalación y con&iguración de aplicaciones -e% como WordPress) "oomla) Crupal) Dallery) Coppermine) p*pGG) MediaWi:i) Al&resco) etc$ Ce cada una de las aplicaciones *ay +ue descargar un stac: o pila +ue descarg'ndolo y ejecutandolo nos reali!a la con&iguración completa$ En la siguiente dirección podemos ver las di&erentes compilaciones +ue tiene Gitnami.ommerce$ Licencia. E@P MediaWi:i. DPL *ttp.n &1P se encuentra orientado *acia 'reas operativas de la empresa) tales como Hinan!as) @ecursos Humanos) Producción$ http$22333.0S.n .dondominio.11---$oscommerce$org 8ugarC@M. We%mail E-nCloud. Wi:i Dallery. Arc*ivos en la nu%e Moodle. C@M EpenE@P.an!a online Ciaspora. https$22 itnami.com2stac5s Instalación 4itnami en 6 untu Por ejemplo descargamos la pila de Magento y ejecutamos$ c*mod === %itnami/magento/B$?$>$>/0/linu(/installer$run sudo $1%itnami/magento/B$?$>$>/0/linu(/installer$run IsudoJ pass-ord &or aitor. Dalería &otos P*pGG. Horos Horde. .

4itnami con %amp 8i ya tenemos Wamp instalado podemos instalar de &orma sencilla cual+uier aplicación lamp utili!ando %itnami$ En esta dirección tenemos las di&erentes compilaciones.11local*ost1-ordpress y seguimos las instrucciones. Accedemos a *ttp.o el directorio donde apunte tu servidor -e%$ cd 1var1---get *ttp.11%itnami$com1stac:1-amp1modules Instalación manual de %ord Press en 6 untu B$ Cescarga el pa+uete de la Kltima versión WordPress y descomprímelo en una carpeta vacía de tu ordenador) dentro del 1var1--.11es$-ordpress$org1-ordpress/3$=$B/esLE8$!ip un!ip un!ip -ordpress/3$=$B/esLE8$!ip 0$ Accedemos a local*ost1p*pmyadmin y creamos la %ase de datos -ordpress Gase de datos M -ordpress M crear 3. *ttps. .

#amos a crear un &ic*ero de con&iguración. 7ntroducimos los datos de acceso a la %ase de datos mys+l. .

El sistema nos devuelve los datos de con&iguración del &ic*ero -p/con&ig$p*p$ Como no tenemos permiso de escritura vamos a copiar su contenido$ N$ Creamos el &ic*ero 1var1---1-p/con&ig$p*p con el contenido$ sudo gedit 1var1---1-p/con&ig$p*p #ota$ Etra opción es editar el &ic*ero -p/con&ig/sample$p*p e introducir manualmente los datos de con&iguración y renom%rarlo como -p/con&ig$p*p$ .

na ve! &inali!ado accedemos a *ttp. 2$ Ha! +ue el propietario sea ---/data c*o-n /*@ ---/data 1var1---1-ordpress O$ Elimina o cam%ia los permisos del &ic*ero -p/con&ig$p*p rm /r& 1var1---1-p/con&ig$p*p 7.11local*ost1-ordpress para ver el contenido$ . Hinali!amos la instalación. .Pinc*amos en iniciar instalación$ 7nsertamos datos como el nom%re del sitio) el usuario) el pass-ord y el correo electrónico del administrador.11local*ost1-ordpress1-p/login$p*p para administrar Wordpress y a *ttp.

+estión usuarios en %ordpress Pinc*amos en el lateral i!+uierdo so%re usuarios$ RRRRR3 Podemos crear usuarios (pinc*ando en a. / Suscriptor$ 8i +ueremos +ue nuestra -e% tenga acceso restringido a usuarios$ Estos usuarios podrían ver los contenidos$ / .0r/ani:ación de los contenidos de %ordpress .na ve! modi&icado el aspecto glogal pinc*amos en PDuardadoQ y PCerrarQ RRRRR0 2.ola orador$ El usuario +ue puede escri%ir artículos y los puede modi&icar$ La pu%licación de los artítulos tienen +ue ser apro%adas por el administrador$ / Autor$ A di&erencia del cola%orador puede pu%licar directamente$ / &ditor$ Puede gestionar artículos de cual+uier usuario$ / Administrador$ Adem's de poder gestionar los artículos de cual+uier usuario puede reali!ar tareas de administración como instalación de plantillas) plugins) instalación de actuali!aciones) etc$ 3.11local*ost1-ordpress1-p/login$ 1. .+estión de la de e@tensiones. ?..on7i/uración /lo al ! aspecto de %ordpress 8i pinc*amos so%re PPersonali!a tu sitioQ (*ttp.adir usuario con di&erentes per&iles.+estión de men<s en %ordpress =......+estión de contenidos en %ordpress..+estión de plantillas en %ordpress B. >..11local*ost1-ordpress1-p/admin1customi!e$p*p nos va a pemitir con&igurar el aspecto general de nuestra p'gina -e%... A.Administración %ordpress Accedemos con el usuario y pass-ord +ue *emos creado a *ttp.opia ! restauración del portal %ordpress.+estión de la p9/ina de inicio en %ordpress... RRRRRB • Modi&icar el t8tulo ! la descripción corta (Situlo y descripción de nuestra p'gina • Cam%iar el color del te(to de la ca%ecera • Cam%iar la ima/en de la ca ecera • Hacer +ue la p'gina de inicio sea una p9/ina est9tica o +ue nos apare!can ordenadas inversamente$ .

En el laterial i!+uierdo dentro Herramientas podemos 7mportar o E(portar nuestros contenidos$ .Importar$ Tos va apermitir importar contenidos desde otros sistemas (@88) %logger) etc$ o desde nuestros propios %ac:ups de -ordpess$ RRR 0B .&@portar$ Tos permite *acer una copia de seguridad de todo el contenido (Esto contendr' todas tus entradas) p'ginas) comentarios) campos personali!ados) menKs de navegación y entradas personali!adas$ ) las entradas o las p9/inas$ Pinc*ando so%re en %otón PCescargar el arc*ivo de e(portaciónQ nos permite guardar el contenido en &ormato (ml$ CCC 2D .

n "8P es el e+uivalente a un PHP programado en "ava) las eti+uetas "8P (3V$$$ V6 son em%e%idas en código *tml$ Servidor de Aplicaciones -AEA En un entorno de desarrollo java necesitamos un servidor de aplicaciones java$ En nuestro caso vamos a utili!ar Somcat y DlassHis*$ Apache Fomcat es un servidor -e% con soporte de "8P y 8ervlets +ue est' mantenido por Apac*e 8o&t-are Houndation y voluntarios independientes$ La versión =$> +ue vamos a instalar implementa especi&icaciones de 8ervlet 3$> y de "8P 0$0$ Somcat est' escrito en java y &unciona en cual+uier sistema +ue disponga la m'+uina virtual java$ +lassGish es un servidor de aplicaciones gratuito y de código li%re desarrollado por 8un Microsystems (ad+uirida por Eracle +ue implementa las tecnologías de&inidas en la plata&orma "ava EE$ E(iste una versión comercial denominada Eracle DlassHis* Enterprise 8erver$ Instalación de Fomcat en Linu@ B$/ 7nstalamos Somcat= sudo apt-/et install tomcat? 0$/ 7nstalamos "CW sudo apt-/et install open'd5-?-'d5 .na aplicación -e% consiste en una com%inación de servlets y "8PUs. JRE (Java R!ntime Environment): es !n conj!nto de !tilidades de Java contiene la JV . -EM ("ava #irtual Mac*ine . es la aplicación donde corren los programas *ec*os en "ava$ . -SP$ se utili!an para la presentación visual$ Servlets$ controlan la lógica de negocio$ . y entre otras cosas contiene el JRE y la JV ..onceptos 'ava JDK (Java Development Kit): es el kit de desarrollo java.

'ava en $1-e%apps1*olamundo1WEG/7TH1classes1*olamundo HolaMundo$java.esple/amos un Servlet en Fomcat manualmente B$/ Entramos en el directorio de tomcat cd 1var1li%1tomcat=1 0$/ Creamos la siguiente estructura de directorios m:dir $1-e%apps1*olamundo m:dir $1-e%apps1*olamundo1WEG/7TH m:dir $1-e%apps1*olamundo1WEG/7TH1classes m:dir $1-e%apps1*olamundo1WEG/7TH1classes1*olamundo 3$/ creamos el HolaMundo.?>?>1*olamundo$jsp .8tring(XHola mundoFX V6 31%ody6 31*tml6 y pro%amos *ttp.esple/amos un -SP en Fomcat El jsp holamundo. pac:age *olamundo5 import java$io$R5 import java($servlet$*ttp$R5 import java($servlet$R5 pu%lic class HolaMundo e(tends Http8ervlet Y pu%lic void doDet (Http8ervlet@e+uest re+) Http8ervlet@esponse res t*ro-s 8ervletE(ception) 7EE(ception Y .'sp lo guardamos en 2var2li 2tomcat?23e apps2100F *olamundo$jsp 3*tml6 3*ead6 3title6Hola mundo con "8P31title6 31*ead6 3%ody6 3VA ne.3$/ 7nstalamos los ejemplos y la documentación de Somcat sudo apt-/et install tomcat?-docs tomcat?-e@amples N$/Accedemos al servidor http$22localhost$ADAD Podemos visuali!ar di&erentes ejemplos reali!ados con 8ervlets o "8Ps$ .11local*ost.

?>?>1*olamundo1*olamundo .11local*ost. 3-e%/app versionAX0$NX (mlns.11---$-3$org10>>B1<ML8c*ema/instanceX (mlnsAX*ttp.sc*emalocationAX*ttp.11java$sun$com1(ml1ns1j0eeX (si.(siAX*ttp.1java$sun$com1dtd1-e%/appL0L3$dtdX6 3servlet6 3servlet/name6*olamundo31servlet/name6 3servlet/class6*olamundo$HolaMundo31servlet/class6 31servlet6 3servlet/mapping6 3servlet/name6*olamundo31servlet/name6 3url/pattern61*olamundo31url/pattern6 31servlet/mapping6 31-e%/app6 O$ / @einiciamos el servidor 1etc1init$d1tomcat= restart =$/ Pro%amos *ttp.PrintWriter out A res$getWriter( 5 out$println(X3*tml6X 5 out$println(X3*ead6X 5 out$println(X3title6Hola MundoF31title6X 5 out$println(X31*ead6X 5 out$println(X3%ody6X 5 out$println(X3*B6Hola MundoF31*B6X 5 out$println(X31%ody6X 5 out$println(X31*tml6X 5 Z Z N$/ Compilamos el servlet cd 1var1li%1tomcat=1-e%apps1*olamundo1WEG/7TH1classes1*olamundo javac /cp 1usr1s*are1tomcat=1li%1servlet/api$jar HolaMundo$java 2$/ Creamos el &ic*ero -e%$(ml para implementar y depurar el servlet en 1var1li%1tomcat=1-e%apps1*olamundo1WEG/7TH1-e%$(ml -e%$(ml.

3ar (We% Application Arc*ive o Arc*ivo de aplicación -e% es un arc*ivo "A@ utili!ado para distri%uir una colección de "ava8erver Pages) servlets) clases "ava) arc*ivos <ML) li%rerías de tags y p'ginas -e% est'ticas (HSML y arc*ivos relacionados +ue juntos constituyen una aplicación -e%$ B$/ 7nstalamos Eclipse apt/get install eclipse Ejecutamos eclipse$ Tos va a pedir +ue indi+uemos donde se encuentra nuestro espacio de tra%ajo$ Al arrancar Eclipse visuali!amos la p'gina in&ormativa$ Podemos ec*ar un vista!o) ver ejemplos o tutoriales o ver +ue *ay de nuevo en Eclipse$ Cerramos la p'gina$ .n &ic*ero .Pr9ctica desplie/ue de una aplicación 'ava so re &clipse con +lass7ish La pr'ctica consiste en instalar un entrono con &clipse) +ue es un &rame-or: de desarrollo de aplicaciones "ava y +lass7ish como servidor de aplicaciones$ 8e trata de desplegar la aplicación calendar$-ar en 9l$ .

adimos el repositorio *ttp.11---$eclipse$org1do-nloads1$ #amos a a.#emos el entorno de Sra%ajo de Eclipse. .adir nuevos módulos para ello vamos a Help M Install #e3 So7t3are y a.11do-nload$eclipse$org1releases1indigo. Tota. Hemos instalado la versión cl'sica de eclipse$ Podíamos *a%er descargado la versión Eclipse 7CE &or "ava EE Cevelopres desde *ttp.

Como no lo *emos *ec*o vamos a a.adir dos módulos. B$/ We%) <ML) "avaEE) and E8Di Enterprise Sools / "avaEE Ceveloper Sools 0$/ Deneral Purpose Sools / Mar:etplace Client .

7nstalamos el so&t-are.Aceptamos la licencia. .

a en la parte in&erior del entorno de tra%ajo..adimos la vista de los servidores$ #emos una nueva pesta. . Accedemos %indo3 -H Sho3 vie3 y a.na ve! aceptadas las licencias e instalados reiniciamos eclipse.

A*ora si +ueremos podemos a.Pinc*amos en el enlace ne3 server 3i:ard para de&inir un nuevo servidor. #emos +ue entre los servidores Dlass&is* no est' instalado$ 7nstalamos una nueva e(tensión.adir jd:=$ Pinc*ando en installed "@E pre&erences$ Ce momento nos +uedamos con jd:O$ 7ndicamos el servidor donde +ueremos +ue se descargue el servidor Dlas*&is* y lo instalamos$ .

.

Cescargamos Dlass&is*. [a tenemos el servidor Dlass&is* en la pesta. .a servers.

Pinc*amos con el %otón derec*o y arrancamos el servidor$ Podemos ver en localhost$ADAD el servidor arrancado. . Podemos acceder a la consola de administración desde local*ost.N?N? o desde el enlace Pgo to Administration ConsoleQ.

Pinc*amos en Gro-se) seleccionamos el &ic*ero y pinc*amos en siguiente. . *ttp.Anadimos a nuestro proyecto el &ic*ero WA@$ #amos desplegar calendar$-ar +ue lo vamos a descargar desde la -e%.11code$google$com1p1g-t/e(amples1do-nloads1detail4 nameACalendar$-ar$ #amos a Hile M 7mport e indicamos +ue +ueremos importar un &ic*ero WA@.

Pinc*amos so%re calendar y lo ejecutamos so%re un servidor. .8eleccionamos el g-t$servlet y pinc*amos en &inali!ar.

Elegimos el servidor DlassHis* para iniciar el Calendar.11---$opencms$org1en1do-nload1 y E(traemos el $-ar$ .?>?>1Calendar$ &'ercicios &'ercicio 1 7nstalar Somcat en Windo-s y ejecutar el jsp y servlet *olamundo &'ercicio 2 @eali!ar un 8ervlet *olamundo con Eclipse &'ercicio 3 Cespliegue de EpenCM8 en Eclipse 7nstalamos mys+l apt/get install mys+l Cescargamos EpenCM8$!ip desde *ttp.11local*ost. #emos el resultado en *ttp.

.

i7rado simétrico ! asimétrico 3...Guncionamiento Al conectarse un cliente de 88H con el servidor) se reali!an los siguientes pasos. 88HB y 88H0$ 88H0 incorpora varias mejoras y es m's seguro$ 2... B$ El cliente a%re una cone(ión SCP al puerto 00 del *ost servidor$ 0$ El cliente y el servidor acuerdan la versión del protocolo a utili!ar) de acuerdo a su con&iguración y capacidades$ 3$ El servidor posee un par de claves pK%lica1privada de @8A$ El servidor envía al cliente su clave pK%lica$ N$ El cliente compara la clave pK%lica de *ost reci%ida con la +ue tiene almacenada) para veri&icar su autenticidad$ 8i no la conociera previamente) pide con&irmación al usuario para aceptarla como v'lida$ 2$ El cliente genera una clave de sesión aleatoria y selecciona un algoritmo de ci&rado sim9trico$ O$ El cliente envía un mensaje conteniendo la clave de sesión y el algoritmo seleccionado) .Introducción 88H (8ecure 8*ell o int9rprete de órdenes segura es un servicio +ue te permite acceder a m'+uinas remotas de &orma segura a trav9s de un int9rprete de comandos o en un entorno gr'&ico < Windo-$ La mayoría de servicios de internet son no seguros (HSP) correo) telnet) etc$ y utili!an comunicaciones no ci&radas) 88H nos permite utili!ar t<neles SSH para *acer +ue a trav9s de ellos la in&ormación navegue ci&rada$ E(isten en la actualidad dos versiones.Capítulo N Acceso remoto se/uro SSH 1.

Servidores SSH .ci&rado con la clave pK%lica de *ost del servidor usando el algoritmos @8A$ =$ En adelante) para el resto de la comunicación se utili!ar' el algoritmo de ci&rado sim9trico seleccionado y clave compartida de sesión$ ?$ Luego se reali!a la autenticación del usuario$ A+uí pueden usarse distintos mecanismos$ M's adelante anali!aremos los m's importantes$ \$ Hinalmente se inicia la sesión) por lo general) interactiva$ .na de las principales &ortale!as de 88H es la seguridad...lientes SSH B$/ Comando ss* ss* /l usuario servidor ss* usuario]servidor Conde servidor es la dirección 7P o el nom%re del servidor$ La primera ve! +ue nos conectamos nos va a decir +ue es la primera ve! +ue con conectamos al servidor y si +ueremos copiar la clave pK%lica$ El resto de veces compara la clave pK%lica con la +ue *a guardado en el cliente$ 0$/ Putty Es el cliente +ue se utili!a para sistemas Windo-s 8e puede descargar desde. scp 1*ome1aitor1&ic*ero$t(t usuario]pro&esordein&ormatica$com... 8e esta%lece la cone(ión) y antes de la autenticación del usuario) +ueda esta%lecido un canal ci&rado seguro$ En adelante) todo el tr'&ico de la sesión ser' indesci&ra%le$ .11ip Tos permite crear carpetas) crear y copiar arc*ivos en1desde un servidor remoto de &orma gr'&ica$ N$/ Comando scp Tos permite copiar arc*ivos de &orma remota scp &ic*eroLlocal m'+uinaLremota scp m'+uinaLremota &ic*eroLlocal Conde m'+uina remota es usuario]servidor.1tmp1&ic*ero0$t(t 2$/ Comando s&tp Para la trans&erencia de arc*ivos seguros s&tp servidor .. 3$/ nautilus Arc*ivo/6conectar al servidor y en la dirección del e+uipo ponemos ss*.direcciónL&ic*ero Ejemplo.

pu Contienen la clave privada y pK%lica dsa$ 2etc2ssh2sshIhostIrsaI5e! ! sshIhostIrsaI5e!.2.. (11Gor3ardin/) por de&ecto *a%ilitado y con valor yes) permite reenvio por <BB5 Port) con valor 00) nos indica el puerto de escuc*a el servidor ss*5 Protocol) con valor 0) nos indica la versión del protocolo5 HostJe!) nos indican las di&erentes claves rsa) dsa y ecdsa de nuestro servidor5 Permit1ootLo/in) nos indica si est' permitido entrar en uin servidor ss* como administrador) etc$ 2etc2ssh2sshIhostIdsaI5e! ! sshIhostIdsaI5e!.E. B$/ @eali!amos una cone(ión remota con ss*. remota con ssh .pu Contienen la clave privada y pK%lica rsa$ 2homeIusuario2.B$/ Epen ss* apt/get install ss* 0$/ Hree ss* 7nstalación en Windo-s$ Pr9ctica$ Apertura de lector de .no de las pr'cticas +ue m's suele gustar a los alumnos es la apertura remota del lector de CC o C#C mediante ss*$ Para ello.ssh25no3nIhosts . ss* usuario]e+uipo 0$/ A%rimos el lector eject 3$/ Cerramos el lector eject /d Gicheros de con7i/uración de ssh En el directorio 1etc1ss* nos podemos encontrar con los &ic*eros m's importantes de la con&iguración de los clientes y servidores ss*$ 2etc2ssh2sshIcon7i/ Contiene la con&iguración del cliente ss*$ La mayoría de los par'metros est'n comentados (contienen el car'cter ^ delate de cada par'metro valor $ Cos de los par'metros son Gor3ard(11 +ue nos permite un reenvío por < Windo.(para cone(iones remotas gr'&icas con ss* y Gor3ardA/ent +ue nos permite una autenticación por agente$ 2etc2ssh2sshdIcon7i/ Contiene la con&iguración del servidor ss*$ Los par'metros de con&iguración +ue podemos modi&icar en este &ic*ero son.

D (eyes ` Etra &orma de reali!ar las cone(iones remotas gr'&icas sin *a%ilitar el Hor-ard<BB del cliente es con el par'metro /<. ss* /< usuario]servidor Pr9ctica$ .na ve! con&igurado el cliente y servidor ya podemos esta%lecer una cone(ión ss* y ejecutar cual+uier aplicación gr'&ica$ Por ejemplo sacamos unos ojos (aplicación (eyes o un &ire&o(.ontrol remoto con ssh ! #omachine #( Con el cliente Tomac*ine T< (antes Hree T< podemos acceder y controlar de &orma gr'&ica un servidor ss*$ Tomac*ine es multiplata&orma) con lo +ue podemos utili!ar cual+uier entorno (Linu() Windo-s o Mac para acceder a un servidor 88H$ Como en la pr'ctica anterior tenemos +ue tener el entorno gr'&ico instalado$ B$/ Accedemos a Tomac*ine$com 0$/ Cescargamos el cliente +ue nos corresponda y lo instalamos$ 3$/ Tos conectamos al servidor$ &'ercicios &'ercicio 1 Crea una carpeta con tu nom%re en el servidor del pro&esor$ &'ercicio 2 Crea un &ic*ero en la carpeta temporal (directorio 1tmp mi&ic*ero$t(t y cópialo en la carpeta creada anteriormente$ &'ercicio 3 Accede con putty a un servidor ss* instalado en linu($ de tu ordenador llamado .ISPLAKL$D.En el *ome del usuario (1*ome1usuario para un usuario normal o 1root para el usuario administrador vamos a tener una carpta oculta llamada ss* +ue va a contener un &ic*ero con las claves pK%licas de los servidores con los +ue se *a conectado el cliente por ss*$ Pr9ctica$ &'ecución /r97ica con ssh 8i +ueremos reali!ar cone(iones gr'&icas por ss* de%eríamos *a%ilitar el par'metro Gor3ard(11 del cliente (+uitar la almo*adilla y poner un valor yes $ Por de&ecto el par'metro (11Gor3ardin/ del servidor ya est' *a%ilitado y con valor yes$ Senemos +ue tener el entorno gr'&ico instalado$ . ss* usuario]servidor _/ . ss* usuario]servidor _/ (eyes ` &i&e&o( ` #emos +ue la aplicación gr'&ica se ejecuta en el servidor y se visuali!a en el cliente$ 8i +ueremos +ue se visualice en el propio servidor podemos *acer lo siguiente.

B2. pepe]A0>0P>>.aN. >3.=3.ab ss* pepe]B=0$0>$0>0$BB0 pepe]B=0$0>$0>0$BB0cs pass-ord.\O.a1$ss*b cat idLrsa$pu% 66 aut*ori!edL:eys pepe]A0>0PB0.?\.c%.e2.>N. d//I @8A 0>N?J////d e $ $$$G A$ $ e e o dR E$$d e e G$o$$ o $ e e ddo $ e e $$8 e e $ e e e e e e e d/////////////////d 0$/ Copio la clave pK%lica en el servidor pepe]A0>0P>>.?0.O=$ Are you sure you -ant to continue connecting (yes1no 4 yes Warning.%O. N$/ A.ab scp $ss*1idLrsa$pu% pepe]B=0$0>$0>0$BB0.Na.cd.1*ome1pepe1$ss* S*e aut*enticity o& *ost cB=0$0>$0>0$BB0 (B=0$0>$0>0$BB0 c canct %e esta%lis*ed$ ECC8A :ey &ingerprint is 0%.d=.>3..?d. Enter passp*rase (empty &or no passp*rase .O?.%0.?d.O\.%d.dO.>> 3$/ Me conecto al servidor por ss* pepe]A0>0P>>.a1$ss*b c*mod O>> aut*ori!edL:eys 2$/ Activo en 1etc1ss*1ss*Lcon&ig el par'metro Hor-ardAgent yes O$/ Lan!o el agente .ado la clave pK%lica al &ic*ero aut*ori!edL:eys y le doy permiso O>> al &ic*ero pepe]A0>0PB0. idLrsa B>>V B=OO B$=WG1s >>. Enter same passp*rase again. [our identi&ication *as %een saved in 1*ome1pepe1$ss*1idLrsa$ [our pu%lic :ey *as %een saved in 1*ome1pepe1$ss*1idLrsa$pu%$ S*e :ey &ingerprint is.d\ pepe]A0>0P>> S*e :eycs randomart image is.BB. Permanently added cB=0$0>$0>0$BB0c (ECC8A to t*e list o& :no-n *osts$ pepe]B=0$0>$0>0$BB0cs pass-ord.?N.%2.&'ercicio .2O.?\.Bc.ab ss*/:eygen /t rsa Denerating pu%lic1private rsa :ey pair$ Enter &ile in -*ic* to save t*e :ey (1*ome1pepe1$ss*1idLrsa . Accede con un cliente linu( a un ordenador Windo-s con servidor Hreess*$ Pr9ctica$ Acceso por clave pu lica a un servidor ssh B$/ Deneramos las claves pK%lica y privada.

7dentity added.1Linu( 3$0$>/30/generic/pae iO?O R Cocumentation.ab eval fss*/agentf Agent pid =OO3 =$/ A.%untu B0$>N$B LS8 (DT.0= 0>B0 &rom a0>0p>>$local . Sue Ect 3> B>.ab ss*/add $ss*1idLrsa Enter passp*rase &or $ss*1idLrsa.ab ss* pepe]B=0$0>$0>0$BB0 Warning.11*elp$u%untu$com1 Last login.ado la clave privada a depósito de claves pepe]A0>0P>>. *ttps.pepe]A0>0P>>.30. $ss*1idLrsa ($ss*1idLrsa ?$/ Prue%o +ue &unciona. pepe]A0>0P>>. To (aut* data5 using &a:e aut*entication data &or <BB &or-arding$ Welcome to .

atos (CSP de usuario u otro proceso en su lugar) de%e esperar a +ue el servidor inicie la cone(ión al puerto de datos especi&icado (puerto 0> en modo activo o est'ndar y trans&erir los datos en &unción de los par'metros +ue se *ayan especi&icado$ .Capítulo 2 Servicio GFP 1.Introducción GFP (Hile Srans&er Protocol o Protocolo de Frans7erencia de Archivos es un protocolo de red para la trans&erencia de arc*ivos %asado en la ar+uitectura cliente/servidor$ Este protocolo se suele utili!ar para descargar arc*ivos desde un servidor o para su%ir arc*ivos a este) como por ejemplo para la pu%licación de una p'gina -e%$ El servicio HSP no es se/uro$ Santo en el esta%lecimiento de la cone(ión) donde se *ace la validación de usuario y pass-ord) así como en la propia trans&erencia de &ic*eros no es seguro$ Por lo tanto si un *ac:er utili!ase un sni&&er como Wires*ar: podría interceptar nuestro usuario y pass-ord o o%tener el propio &ic*ero +ue estamos trans&iriendo$ Este pro%lema lo podemos solucionar utili!ando los comandos s&tp o scp del servicio 88H$ El servicio HSP utili!a normalmente el puerto de red 0> y el 0B$ 2..ales.one@ión de . ordenes del cliente al servidor y respuestas por parte de este$ Estas órdenes HSP especi&ican par'metros para la cone(ión de datos (puerto de datos) modo de trans&erencia) etc$ ) para gestión de la estructura de arc*ivos o su%ida o descarga de los mismos$ El Proceso de Frans7erencia de ..ontrol$ Mediante esta cone(ión se envían di&erentes se.Guncionamiento El Intérprete de Protocolo (P7 del cliente HSP se conecta por el puerto 0B al 7nt9rprete de Protocolo del servidor HSP y se esta%lece una .

'dem(s esta trans%erencia de datos es )idireccional. Como *emos visto en el el &uncionamiento del HSP este normalmente utili!a los puertos 0B y 0>) el primero como control o comando y el segundo para los datos$ Pero esto no siempre es así ya +ue *ay veces +ue tenemos alguno de los puertos cortados como por ejemplo cuando tenemos un corta&uegos$ Por ello) e(isten dos modos de cone(ión.Modos de cone@ión GFP$ modo activo ! modo pasivo. 3.. el modo activo y el modo pasivo$ Modo activo B$/ El cliente se conecta desde un puerto de control aleatorio superior al B>0N) en nuestro caso el B>32 al puerto de control del servidor) puerto 0B$ El cliente empie!a a escuc*ar por el puerto B>3O y envía este puerto de control al servidor$ 0$/ El servidor responde con un ACW al puerto de control del cliente$ 3$/ El servidor inicia una cone(ión entre su puerto de datos (puerto 0> y el puerto de datos del cliente (puerto B>3O N$/ El cliente responde con un ACW al servidor$ Modo pasivo Lo normal es +ue los corta&uegos rec*acen estas cone(iones aleatorias$ Para solucionar esto se desarrolló el modo pasivo$ . Esto $!iere decir $!e podemos tener di%erentes servidores y&o clientes."os arc#ivos del cliente y servidor son dependientes al sistema operativo.

I o 4I#A1I0 Los &ic*eros +ue vamos a trans&erir pueden ser &ic*eros ascii o inarios$ Los &ic*eros ascii son los &ic*eros +ue est'n en te(to plano) a+uellos +ue se pueden a%rir y visuali!ar correctamente con un editor como -ordpad) notepad) vi o gedit$ Entre los arc*ivos ascii tenemos los $t(t) $*tml) $js) $css) etc$ El resto de arc*ivos como $jpg) $png) $pd&) $doc) $avi) etc$ son %inarios$ =.Fipo de trans7erencia AS....B$/ El cliente se conecta desde un puerto de control aleatorio superior al B>0N) en nuestro caso el B>32 al puerto de control del servidor) puerto 0B$ El cliente envía un comando PA8# al servidor$ 0$/ El servidor responde con un ACW) desde un puerto aleatorio superior al B>0N) en nuestro caso el 0>N> al puerto de control del cliente$ 3$/ El cliente inicia una cone(ión entre su puerto de datos del cliente (puerto B>3O y el puerto de datos del servidor (puerto 0>N> N$/ El servidor responde con un ACW al cliente$ .omandos GFP El comando 7tp es un comando +ue actKa como cliente y est' incluido en la mayoría de los sistemas operativos como Windo-s) Linu( o Mac y nos permite *acer la trans&erencia de &ic*eros entre un cliente y un servidor$ 8u uso es el siguiente. 7tp servidor ...

na ve! esta%lecida la cone(ión podemos *acer utili!ar di&erentes comandos. asc o ascii$ Esta%lece la transmisión de tipo ascii$ in o inar!$ Esta%lece la transmisión de tipo %inario$ t!pe$ 7ndica el tipo de trans&erencia$ [a sólo nos +ueda su%ir o descargar los &ic*eros$ Para ello tenemos los siguientes comandos. cd NcarpetaH$ Tos permite acceder a una carpeta del servidor$ El valor de la carpeta puede ser a%soluto o relativo$ lcd NcarpetaH$ Tos permite acceder a una carpeta del cliente$ El valor de la carpeta puede ser a%soluto o relativo$ p3d$ Tos visuali!a el directorio en el +ue estamos u%icados dentro del servidor$ Op3d$ Tos visuali!a el directorio en el +ue estamos u%icados dentro del cliente$ ls o dir$ Tos lista los &ic*eros y directorios del servidor$ Ols o Odir$ Tos lista los &ic*eros y directorios del cliente$ delete$ Gorra un &ic*ero del servidor$ Odelete$ Gorra un &ic*ero del cliente$ rename$ @enom%ra un &ic*ero del servidor$ Orename$ @enom%ra un &ic*ero del cliente$ rmdir o rm$ Gorra un directorio del servidor$ Ormdir o Orm$ Gorra un directorio del cliente$ m5dir$ Crea un directorio en el servidor$ Om5dir$ Crea un directorio en el cliente$ Para el tipo de trans&erencia tenemos los siguientes comandos.Conde servidor es la dirección 7P o nom%re del servidor al +ue +ueremos su%ir o del +ue +ueremos descargar &ic*eros$ Etra &orma de reali!ar la cone(ión es la siguiente. 7tp 7tpH open servidor . put$ Srans&iere un &ic*ero local al servidor remoto$ mput$ Srans&iere uno o varios &ic*eros locales al servidor remoto$ /et$ Srans&iere un &ic*ero del servidor remoto al ordenador local$ m/et$ Srans&iere uno o varios &ic*eros del servidor remoto al ordenador local$ Los comandos put ! /et admiten uno o dos par'metros) el segundo par'metro nos permite renom%rar el arc*ivo una ve! su%ido o descargado$ Los comandos mput ! m/et admiten e(presiones regulares (4 para indicar un car'cter y R . M o help$ Tos da un listado de los di&erentes comandos +ue podemos ejecutar desde el cliente$ help NcomandoH$ Tos da ayuda de cada comando$ Los siguientes comandos nos permiten navegar por el cliente y servidor) creando su estructura de &ic*eros y directorios.

one@ión en modo pasivo con el comando GFP desde %indo3s ! Linu@ Para conectarnos en modo pasivo desde un cliente Linu@. &tp /p servidor Para conectarnos en %indo3s en modo pasivo. 0B$ 00>/Enly anonymous HSP is allo-ed *ere 00>/7PvO connections are also -elcome on t*is server$ 00> [ou -ill %e disconnected a&ter 2 minutes o& inactivity$ Tame (&tp$rediris$es. &tp servidor &tp6 +uote pasv Pr9ctica$ .ola para 7ntercone(ión de los @ecursos 7n&orm'ticos de las universidades y centros de investigación) contiene un servidor &tp anónimo para reali!ar descargas $ #amos a conectarnos e investigar su contenido) así como la descarga de un arc*ivo$ 7tp 7tp.. anonymous 33B/ @ed7@78 / @ed Acad9mica y de 7nvestigación Espa..aitor .es Connected to !eppo$rediris$es$ 00>////////// Welcome to Pure/HSPd IprivsepJ ISL8J ////////// 00>/[ou are user num%er B2 o& 3>>> allo-ed$ 00>/33 00>/ Gienvenido al HSP anónimo de @ed7@78$ 00>/Welcome to t*e @ed7@78 anonymous HSP server$ 00>/66 00>/Local time is no. close$ Sermina la sesión &tp pero no sale del programa$ !e o "uit$ Sermina la sesión &tp y sale del programa$ >.ola 33B/ @ed7@78 / 8panis* Tational @esearc* Tet-or: 33B/ 33B/ &tp.11&tp$rediris$es /A/ *ttp.one@ión al servidor rediris por 7tp ! descar/a de un archivo @ediris) la red espa.para indicar varios caracteres $ Cada ve! +ue su%imos o %ajamos un arc*ivo nos va a pedir una corn&irmación (a la +ue tendremos +ue responder ! o !es $ 8i no +ueremos +ue nos pida dic*a con&irmación podremos utili!ar el comando prompt$ prompt$ Tos permite *a%ilitar o des*a%ilitar el modo interactivo$ Para desconectarnos y1o cerrar la cone(ión tenemos los siguientes comandos.>?. 03> Any pass-ord -ill -or: .11&tp$rediris$es 33B/ 33B Any pass-ord -ill -or: Pass-ord.0B$ 8erver port.rediris.

00$ 8erver port. anon!mous 33B/ @ed7@78 / @ed Acad9mica y de 7nvestigación Espa.T7<$ .30 mirror d//(//(//( BO B>N 22 BO Tov ? 0>B0 outgoing dr-(r/(r/( 3 22 22 2B0 "ul N 0>B0 pu% dr-(r/(r/( O? 22 22 O? Ect 3B BO.es Connected to !eppo$rediris$es$ 00>////////// Welcome to Pure/HSPd IprivsepJ ISL8J ////////// 00>/[ou are user num%er BB o& 3>>> allo-ed$ 00>/33 00>/ Gienvenido al HSP anónimo de @ed7@78$ 00>/Welcome to t*e @ed7@78 anonymous HSP server$ 00>/66 00>/Local time is no.N> incoming /r-/r//r// B 22 22 =3>?BB=B\ Cec = B=.rediris.1var1---1-ordpress1-p/content1t*emes^ apt/get install pro&tpd Leyendo lista de pa+uetes$$$ Hec*o Creando 'r%ol de dependencias Leyendo la in&ormación de estado$$$ Hec*o Tota) seleccionando ipro&tpd/%asicj en lugar de ipro&tpdj pro&tpd/%asic ya est' en su versión m's reciente$ > actuali!ados) > se instalar'n) > para eliminar y 0? no actuali!ados$ root]dinu(.>= ls/l@$g! dr-(r/(r/( 0 22 22 3>=0 Ect 3B B0.sing %inary mode to trans&er &iles$ &tp6 &tp6 ls 0>> PE@S command success&ul B2> Connecting to port 2BB=O dr-(r/(r/( = 22 22 2B0 Cec = B=.NO sites /r-/r//r// B 22 22 ?O "an B? 0>B> -elcome$msg 00O/Eptions.ola 33B/ @ed7@78 / 8panis* Tational @esearc* Tet-or: 33B/ 33B/ &tp.>O ls/l@ /r-/r//r// B 22 22 B3?BB?\ Cec = B=.aitor .1var1---1-ordpress1-p/content1t*emes^ la /lr hC 7tp 7tp.11&tp$rediris$es .>= ls/l@$g /r-/r//r// B 22 22 ###BOT_TEXT###0?3? Cec = B=.B0 de%ian d/-(//(//( 0 B>N 22 202> Cec N 0B.@emote system type is .>= $$ /r-/r//r// B 22 22 B?\ Mar 0= 0>B0 $%anner dr-(r/(r/( ? 22 22 BN Cec = B=.>?. /a /l 00O B3 matc*es total &tp6 hC &tp6 e(it 00B/Dood%ye$ [ou uploaded > and do-nloaded > :%ytes$ 00B Logout$ root]dinu(.11&tp$rediris$es /A/ *ttp. 0B$ 00>/Enly anonymous HSP is allo-ed *ere 00>/7PvO connections are also -elcome on t*is server$ 00> [ou -ill %e disconnected a&ter 2 minutes o& inactivity$ Tame (&tp$rediris$es.>= $ dr-(r/(r/( = 22 22 2B0 Cec = B=.

&ic*eros$t(t$%!0 0>> PE@S command success&ul B2> Connecting to port 3\2> 00O/Hile success&ully trans&erred 00O >$>>? seconds (measured *ere ) 3B$0N W%ytes per second 0NO %ytes received in >$>> secs (B?\B$O :G1s 7tpH !e 00B/Dood%ye$ [ou uploaded > and do-nloaded B :%ytes$ 00B Logout$ ?. :2 local.sing %inary mode to trans&er &iles$ 7tpH cd 2pu 2rediris2reto212dis5ima/e 02> EW$ Current directory is 1pu%1rediris1reto1B1dis:image 7tpH ls 0>> PE@S command success&ul B2> Connecting to port NN\0 dr-(r/(r/( 0 22 22 2B0 May BB 0>B> $ dr-(r/(r/( 3 22 22 2B0 "ul N 0>B0 $$ /r-/r//r// B 22 22 B?33?30 May 03 0>>3 B###BOT_TEXT###$BO?$3$B>/*daB$dd$%!0 /r-/r//r// B 22 22 B0NO0?\2 May 03 0>>3 B###BOT_TEXT###$BO?$3$B>/*da2$dd$%!0 /r-/r//r// B 22 22 ?OO= May 03 0>>3 B###BOT_TEXT###$BO?$3$B>/*daO$dd$%!0 /r-/r//r// B 22 22 BNBB=\B May 03 0>>3 B###BOT_TEXT###$BO?$3$B>/*da=$dd$%!0 /r-/r//r// B 22 22 0=302O2O May 03 0>>3 B###BOT_TEXT###$BO?$3$B>/*da?$dd$%!0 /r-/r//r// B 22 22 =O2N30? May 03 0>>3 B###BOT_TEXT###$BO?$3$B>/*da\$dd$%!0 /r-/r//r// B 22 22 0NO Tov BB 0>>3 &ic*eros$t(t$%!0 00O/Eptions.Pr9ctica$ Su ir una p9/ina completa a un servidor 7tp mediante comandos. &ic*eros$t(t$%!0 remote. #amos a suponer +ue tenemos un proyecto -e% completo con el arc*ivo inde($*tml) adem's vamos a tener un directorio images) con las im'genes del proyecto5 y una carpeta css con las *ojas de estilo$ 8e trata de su%ir el proyecto completo con la misma estructura de directorio$ &tp servidor usuario.t@t.T7<$ . aaaa pass-ord.RRRR &tp6put inde($*tml &tp6m:dir images &tp6m:dir css &tp6lcd images &tp6cd images &tp6prompt &tp6 %in &tp6 mput R .33B/ 33B Any pass-ord -ill -or: Pass3ord$ 03> Any pass-ord -ill -or: @emote system type is . /a /l 00O \ matc*es total 7tpH /et 7icheros..

. En la %arra de dirección en lugar de utili!ar el protocolo &tp podemos utili!ar el protocolo &tp$ &tp.lientes GFP Podemos utili!ar di&erentes clientes para conectarnos a un servidor HSP$ 1.&tp6 lcd $$1css &tp6 cd $$1css &tp6 ascii &tp6 mput R$css &tp6 %ye &'ercicios &'ercicio 1 Cescarga del ordenador del pro&esor) +ue actKa como servidor &tp) todos los arc*ivos +ue se encuentran en la carpeta descargas$ &'ercicio 2 Crea una carpeta en el servidor del pro&esor con tu nom%re y su%e un proyecto o p'gina -e% +ue est9s reali!ando o *ayas reali!ado$ &'ercicio 3 Cescarga de internet una p'gina -e% completa (con im'genes) *ojas de estilo) etc$ ) ordena la in&ormación en di&erentes carpetas (css) images y sK%ela a la carpeta +ue *as creado anteriormente en el servidor del pro&esor$ A.&l comando 7tp 7ncluido en los di&erentes sistemas operativos y visto anteriormente$ 2...11uO>>O\OBN/dinu(..$ 8oporta los .lientes instalados E(isten gran cantidad de clientes HSP +ue nos van a permitir intercam%iar arc*ivos entre clientes y servidores de una &orma r'pida y sencilla Hilegilla client ) Win8CP) W8/HSP) Cute Htp) 8martHSP) gHSP$ Mi recomendación en estos momentos el GilePilla ya +ue es un cliente HSP sencillo de utili!ar) multiplata&orma) de código a%ierto y so&t-are li%re con licencia DT...6n nave/ador 3e .dinu(0>BB]dinu($org 3.pass-ord]servidor1ruta 8i no ponemos el usuario y el pass-ord el sistema nos lo solicitar' mediante una ventana de di'logo$ 8i se trata del usuario y pass-ord anonymous el sistema no lo solicitar'$ Ejemplo. &tp.11usuario.

$ E(isten ..$ E(isten versiones para di&erentes sistemas .. Como el anterior un servidor esta%le y seguro +ue tiene licencia DT.Fipos de usuario #amos a tener 3 tipos de usuarios en los servidores 6suarios del sistema$ Propios del sistema operativo) cuando se accede al servidor normalmente se accede a la carpeta *ome del usuario$ 6suarios virtuales$ 8e crean di&erentes usuarios independientes del sistema operativo con sus correspondientes carpetas$ 6suario anónimo$ El usuario anonymous es un usuario +ue se suele instalar por de&ecto en los servidores en los +ue +ueremos tener un acceso pK%lico para una descarga$ Este usuario Knicamente suele tener permiso de lectura y su pass-ord suele ser anonymous$ 1D.Servidores GFP #amos a tener in&inidad de servidores para di&erentes sistemas operativos$ Estos son alguno de los +ue se suele utili!ar *a%itualmente.a y reali!amos directamente la cone(ión$ En el lateral i!+uierdo vamos a ver el cliente o las carpetas de nuestro ordenador y en el lateral derec*o los &ic*eros y carpetas del servidor$ Para su%ir o %ajar &ic*eros simplemente seleccionamos y arrastramos de un lateral a otro$ B.protocolos HSP) 8HSP y HSP so%re 88L1SL8 (HSP8 $ Podemos introducir el servidor (dirección 7P o nom%re el nom%re de usuario y la contrase. ProGFPd$ Es un servidor esta%le y seguro +ue tiene licencia DT.T7< incluyendo Linu($ 8u con&iguración es similar al de Apac*e$ Es7tpd.

Acceso al al servidor pro7tpd con el usuario anon!mous en modo lectura >$/ 7nstalamos el servidor si no lo *emos *ec*o antes..adimos al &inal del documento 1etc1pro&tpd1pro&tpd$con& la siguiente in&ormación. ..T7< incluyendo Linu($ IIS$ 7ncluye un servidor HSP Serv-6$ Potente servidor &tp so%re Windo-s &'cil de usar$ Gile:illa-server$ 8ervidor HSP de código a%ierto +ue te permite entre otras cosas crear usuarios virtuales de &orma sencilla$ 11. apt/get install pro&tpd B$/ A.Pr9ctica instalación de pro7tpd con usuarios del sistema Cuando instalamos pro&tpd por de&ecto vamos a tener como usuarios los propios del sistema operativo linu($ apt/get install pro&tpd En la imagen anterior *ay +ue determinar como +ueremos ejecutar nuestro servidor desde inetd o de &orma independiente$ Es aconseja%le *acerlo de &orma independiente ya +ue es m's r'pido y carga menos el servidor$ [a +ue desde inetd cada ve! +ue *ay una cone(ión &tp se ejecuta el proceso &tp$ 12.versiones para di&erentes sistemas .

ser &tp Droup nogroup .ser on &tp CirHa:eDroup on &tp @e+uire#alid8*ell o&& Ma(Clients B> CisplayLogin -elcome$msg 31Anonymous6 13.3Anonymous a&tp6 . 03>/Welcome) arc*ive user anonymous]local*ost F 03>/ 03>/S*e local time is..&&&&.sing %inary mode to trans&er &iles$ &tp6 #ota$ En el ejemplo anterior *emos creado un acceso anónimo de solo lectura si +ueremos +ue sea de escritura) el contenido del &ic*ero pro&tpd$con& de%ería ser el siguiente.serAlias anonymous &tp CirHa:e.3N. Mon Cec >\ B\.ser on &tp CirHa:eDroup on &tp @e+uire#alid8*ell o&& Ma(Clients B> CisplayLogin -elcome$msg 3Cirectory R6 3Limit W@7SE6 CenyAll 31Limit6 31Cirectory6 31Anonymous6 0$/ @einiciamos el servidores 1etc1init$d1pro&tpd restart 3$/ Pro%amos el acceso con el usuario anonymous 7tp localhost Connected to local*ost$ 00> ProHSPC B$3$Na 8erver (Ce%ian I.T7<$ . anon!mous 33B Anonymous login o:) send your complete email address as your pass-ord Pass-ord. 3Anonymous a&tp6 .aitor . .B0=$>$>$BJ Tame (local*ost..3O 0>B3 03>/ 03>/S*is is an e(perimental HSP server$ 7& you *ave any unusual pro%lems) 03>/please report t*em via e/mail to 3root]dinu(6$ 03>/ 03> Anonymous access granted) restrictions apply @emote system type is .ser &tp Droup nogroup .serAlias anonymous &tp CirHa:e.Pr9ctica instalación de pro7tpd con usuarios virtuales.

sudo &tpass-d //pass-d //nameAusuario0 //uidAB>2B //*omeA1srv1&tp0 //s*ellA1%in1&alse Creamos las carpetas de los usuarios sudo m:dir 1srv1&tpB sudo m:dir 1srv1&tp0 Le damos permisos a la carpetas sudo c*mod === 1srv1&tpB sudo c*mod === 1srv1&tp0 N$/ @einiciamos el servidor y pro%amos sudo 1etc1init$d1pro&tpd restart 1. apt/get install pro&tpd B$/ Editamos el &ic*ero 1etc1pro&tp1pro&tpd$con& y reali!amos los siguientes cam%ios Cescomentamos ..>$/ 7nstalamos el servidor si no lo *emos *ec*o antes..e7ault 1oot para +ue los usuarios solo puedan acceder a su directorio$ Cescomentamos 1e"uireEalidShell a o&& para +ue los usuarios no necesiten un s*ell v'lido$ #amos a tener en el &ic*ero 1etc1pro&tpd1&tpd$pass-d los usuarios virtuales y sus pass-ord$ Esto lo indicamos en el par'metro Auth6serGile$ Ce&ault@oot a @e+uire#alid8*ell o&& Aut*.Pr9ctica servidores 7tp virtuales El servidor pro&tpd &unciona igual +ue apac*e a la *ora de tra%ajar con servidores virtuales$ .adimos al &inal 1%in1&alse 3$/ Creamos los usuarios El comando &tpass-d creamos di&erentes usuarios) donde name va a ser el nom%re del usuario) *ome va a ser el directorio y s*ell va a ser la sell de usuario y uid el identi&icador de usuario$$ sudo &tpass-d //pass-d //nameAusuarioB //uidAB>2> //*omeA1srv1&tpB //s*ellA1%in1&alse #ota importante$ La ejecución del comando &tpass-d tiene +ue ser dentro del directorio 1etc1pro&tpd para +ue se cree en el el &ic*ero &tpd$pass-d$ 7ntroducimos el pass-ord Creamos el usuario0.serHile 1etc1pro&tpd1&tpd$pass-d 0$/ Editamos el &ic*ero 1etc1s*ells A.

B0=$>$>$BJ Tame (dominioB$com.T7<$ .1srv1---1v*osts1dominioB A.a actuali!ada correctamente groupadd &tp/users Camos permisos de escritura al usuario. #uelva a escri%ir la nueva contrase.La idea es tener varios dominios en un mismo servidor &tp$ A.T7<.a de . &tp dominioB$com Connected to local*ost$ 00> ProHSPC B$3$Na 8erver (Ce%ian I. 03> . sudo c*o-n /@ &tp/v*ost/dominioB 1srv1---1v*osts1dominioB sudo c*mod /@ ud. sudo useradd &tp/v*ost/dominioB /s 1%in1&alse sudo pass-d &tp/v*ost/dominioB 7ntrodu!ca la nueva contrase.&&&&.aitor .ser &tp/v*ost/dominioB logged in @emote system type is .sing %inary mode to trans&er &iles$ &tp6 p-d .ser &tp/v*ost/dominioB CenyAll 31Limit6 31#irtualHost6 1etc1init$d1pro&tpd restart Pro%amos.T7<. contrase. &tp/v*ost/dominioB 33B Pass-ord re+uired &or &tp/v*ost/dominioB Pass-ord.a de .adimos la siguiente línea en el &ic*ero 1etc1*osts (se podría crear el dominio dominioB en un servidor CT8 B0=$>$>$B dominioB$com Creamos el directorio 1srv1---1v*osts1dominioB. sudo m:dir 1srv1---1 sudo m:dir 1srv1---1v*osts sudo m:dir 1srv1---1v*osts1dominioB Creamos el usuario y le damos un pass-ord. pass-d..adimos el siguiente contenido al &ic*ero 1etc1pro&tpd1pro&tpd$con& 3#irtualHost dominioB$com6 Ce&ault@oot 1srv1---1v*osts1dominioB 3Limit LED7T6 Erder allo-)deny Allo-.

Tos permite con&igurar los par'metros del servidor así como crear servidores virtuales..1=.Administración servidores GFP con %e min Podemos administrar el servidor ProHSPC desde Wemin$ Para ello %uscamos pro&tpd$ [ pinc*amos en servidor ProHSPC. .

.1>.Servidor GFP con IIS 8i ya tenemos instalado 778 agregamos el servicio de &unción (%otón derec*o so%re 778 . Sras la selección del servidor HSP iniciamos la instalación..

.

Accedemos a sitios HSP y accedemos (Pinc*ar en Haga clic a+uí para iniciar Creamos un nuevo sitio HSP. .

.8e arranca un asistente para crear un sitio HSP 7ntroducimos la descripción) ejemplo dominioB$com.

8eleccionamos la dirección 7P y el puerto. 7ndicamos si +ueremos aislar o no a los usuarios. .

. 7ndicamos los permisos de acceso.7ndicamos el directorio &tp.

.6&tp local*ost &'ercicios &'ercicio . Pro%amos desde la línea de comandos introduciendo. c. 7nstalar di&erentes clientes en Windo-s y Linu($ &'ercicio = 7nstala Hile!illa 8erver en Windo-s y crea usuarios virtuales$ Lo mismo para 8erv/.Hinali!amos el asistente.