Sie sind auf Seite 1von 6

Sistemas Telemticos

Servicios internet e intranet

PRCTICA: Servidor web y redireccin de puertos


De Wikipedia, la enciclopedia libre Un servidor web o servidor HTTP es un programa que procesa cualquier aplicacin del lado del servidor realizando conexiones bidireccionales y/o unidireccionales y sncronas o asncronas con el cliente generando o cediendo una respuesta en cualquier lenguaje o Aplicacin del lado del cliente. El cdigo recibido por el cliente suele ser compilado y ejecutado por un navegador web. Para la transmisin de todos estos datos suele utilizarse algn protocolo. Generalmente se utiliza el protocolo HTTP para estas comunicaciones, perteneciente a la capa de aplicacin del modelo OSI. El trmino tambin se emplea para referirse al ordenador que ejecuta el programa.

Arquitectura Peticin GET: Un servidor web opera mediante el protocolo HTTP, de la capa de aplicacin del Modelo OSI.
Al protocolo HTTP se le asigna habitualmente el puerto TCP 80. Las peticiones al servidor suelen realizarse mediante HTTP utilizando el mtodo de peticin GET en el que el recurso se solicita a travs de la url al servidor web.
GET /index.html HTTP/1.1 HOST: www.host.com

Peticin POST: Es el segundo tipo de peticin HTTP ms utilizado. Los datos a enviar al servidor se incluyen
en el cuerpo de la misma peticin con las cabeceras HTTP asignadas correspondientemente respecto al tipo de peticin. Generalmente se asocia con los formularios web en el que los datos suelen ser cifrados para enviarlos de manera segura al servidor por lo que se incluye en la peticin la cabecera application/x-www-formurlencoded. Esta cabecera, en los formularios HTML se enva automticamente, pero en otros lenguajes web como AJAX hay que especificarlo.

Funcionamiento
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 peticiones adecuadamente, mediante una pgina web que se exhibir en el navegador o mostrando el respectivo mensaje si se detect algn error. A modo de ejemplo, al teclear www.wikipedia.org en nuestro navegador, ste realiza una peticin HTTP al servidor de dicha direccin. El servidor responde al cliente enviando el cdigo HTML de la pgina; el cliente, una vez recibido el cdigo, lo interpreta y lo exhibe en pantalla. Como vemos con este ejemplo, el cliente es el encargado de interpretar el cdigo HTML, es decir, de mostrar las fuentes, los colores y la disposicin de los textos y objetos de la pgina; el servidor tan slo se limita a transferir el cdigo de la pgina sin llevar a cabo ninguna interpretacin de la misma. Adems de la transferencia de cdigo HTML, los Servidores web pueden entregar aplicaciones web. stas son porciones de cdigo que se ejecutan cuando se realizan ciertas peticiones o respuestas HTTP. Hay que distinguir entre:

Aplicaciones en el lado del cliente: el cliente web es el encargado de ejecutarlas en la mquina del usuario. Son las aplicaciones tipo Java "applets" o Javascript: el servidor proporciona el cdigo de las aplicaciones al cliente y ste, mediante el navegador, las ejecuta. Es necesario, por tanto, que el cliente disponga de un navegador con capacidad para ejecutar aplicaciones (tambin llamadas scripts). Comnmente, los navegadores permiten ejecutar aplicaciones escritas en lenguaje javascript y java, aunque pueden aadirse ms lenguajes mediante el uso de plugins. Aplicaciones en el lado del servidor: el servidor web ejecuta la aplicacin; sta, una vez ejecutada, genera cierto cdigo HTML; el servidor toma este cdigo recin creado y lo enva al cliente por medio del protocolo HTTP.

Las aplicaciones de servidor muchas veces suelen ser la mejor opcin para realizar aplicaciones web. La razn es que, al ejecutarse sta en el servidor y no en la mquina del cliente, ste no necesita ninguna capacidad aadida, como s ocurre en el caso de querer ejecutar aplicaciones javascript o java. As pues, cualquier cliente dotado de un navegador web bsico puede utilizar este tipo de aplicaciones. El hecho de que HTTP y HTML estn ntimamente ligados no debe dar lugar a confundir ambos trminos. HTML es un lenguaje de marcas y HTTP es un "protocolo".

-1-

Sistemas Telemticos

Servicios internet e intranet

Aplicacin del lado del Servidor


Una aplicacin del lado del servidor es cualquier programa o conjunto de instrucciones diseadas con la finalidad de que un Servidor Web las procese para realizar alguna accin. Las aplicaciones del lado del servidor estn escritas mediante algn lenguaje de programacin, entre los que destacan:
Lenguaje Fecha de primera versin estable Sistema operativo PHP ASP Perl Python Ruby Perl CGI 1995 1998 1987 1991 1995 ?? Multiplataforma ltima versin estable 5.3.5

Windows (Algunas versiones) 4.0 Multiplataforma Multiplataforma Multiplataforma Multiplataforma 5.12.3 3.2.0 1.9.2-p180 ??

El 75% de las aplicaciones del lado del servidor estn escritas en PHP, siendo ASP y las dems opciones usadas de forma alternativa y muy casual. 1

Procesamiento del lado del servidor


Un servidor web tiene la funcin de procesar los scripts del lado del servidor para dar una salida en HTML y otros lenguajes del lado del cliente al Navegador Web del cliente. La informacin a procesar podr ser cedida por el cliente al script mediante cualquier aplicacin en el entorno del Navegador. Para ello pueden utilizarse formularios web, enlaces con los valores implcitos en la cadena o cualquier otro mtodo.

Servidor Web Local


Instalar un servidor web en nuestro PC nos permitir, entre otras cosas, poder montar nuestra propia pgina web sin necesidad de contratar hosting, probar nuestros desarrollos va local, acceder a los archivos de nuestro equipo desde un PC remoto (aunque para esto existen otras opciones, como utilizar un servidor FTP) o utilizar alguno de los programas basados en web tan interesantes que estn viendo la luz ltimamente. El problema de usar nuestro ordenador como servidor web es que conviene tenerlo encendido permanentemente (para que est accesible de forma continua como la mayora de los sitios webs), con el consiguiente coste debido al consumo de electricidad (conviene tener en cuenta que hay alojamientos web gratuitos, incluso sin publicidad y con interesantes funciones).

De Wikipedia, la enciclopedia libre

El servidor HTTP Apache es un servidor web HTTP de cdigo abierto para plataformas Unix (BSD, GNU/Linux, etc.), Microsoft Windows, Macintosh y otras, que implementa el protocolo HTTP/1.1 y la nocin -2-

Sistemas Telemticos

Servicios internet e intranet

de sitio virtual. Cuando comenz su desarrollo en 1995 se bas inicialmente en cdigo del popular NCSA HTTPd 1.3, pero ms tarde fue reescrito por completo. Su nombre se debe a que Behelendorf quera que tuviese la connotacin de algo que es firme y enrgico pero no agresivo, y la tribu Apache fue la ltima en rendirse al que pronto se convertira en gobierno de EEUU, y en esos momentos la preocupacin de su grupo era que llegasen las empresas y "civilizasen" el paisaje que haban creado los primeros ingenieros de internet. Adems Apache consista solamente en un conjunto de parches a aplicar al servidor de NCSA. Era, en ingls, a patchy server (un servidor "parcheado"). El servidor Apache se desarrolla dentro del proyecto HTTP Server (httpd) de la Apache Software Foundation. Apache presenta entre otras caractersticas altamente configurables, bases de datos de autenticacin y negociado de contenido, pero fue criticado por la falta de una interfaz grfica que ayude en su configuracin. Apache tiene amplia aceptacin en la red: desde 1996, Apache, es el servidor HTTP ms usado. Alcanz su mxima cuota de mercado en 2005 siendo el servidor empleado en el 70% de los sitios web en el mundo, sin embargo ha sufrido un descenso en su cuota de mercado en los ltimos aos. (Estadsticas histricas y de uso diario proporcionadas por Netcraft ). La mayora de las vulnerabilidades de la seguridad descubiertas y resueltas tan slo pueden ser aprovechadas por usuarios locales y no remotamente. Sin embargo, algunas se pueden accionar remotamente en ciertas situaciones, o explotar por los usuarios locales malvolos en las disposiciones de recibimiento compartidas que utilizan PHP como mdulo de Apache. Apache es usado principalmente para enviar pginas web estticas y dinmicas en la World Wide Web. Muchas aplicaciones web estn diseadas asumiendo como ambiente de implantacin a Apache, o que utilizarn caractersticas propias de este servidor web. Apache es el componente de servidor web en la popular plataforma de aplicaciones LAMP, junto a MySQL y los lenguajes de programacin PHP/Perl/Python (y ahora tambin Ruby). Este servidor web es redistribuido como parte de varios paquetes propietarios de software, incluyendo la base de datos Oracle y el IBM WebSphere application server. Mac OS X integra apache como parte de su propio servidor web y como soporte de su servidor de aplicaciones WebObjects. Es soportado de alguna manera por Borland en las herramientas de desarrollo Kylix y Delphi. Apache es incluido con Novell NetWare 6.5, donde es el servidor web por defecto, y en muchas distribuciones Linux. Apache es usado para muchas otras tareas donde el contenido necesita ser puesto a disposicin en una forma segura y confiable. Un ejemplo es al momento de compartir archivos desde una computadora personal hacia Internet. Un usuario que tiene Apache instalado en su escritorio puede colocar arbitrariamente archivos en la raz de documentos de Apache, desde donde pueden ser compartidos. Los programadores de aplicaciones web a veces utilizan una versin local de Apache con el fin de previsualizar y probar cdigo mientras ste es desarrollado. Microsoft Internet Information Services (IIS) es el principal competidor de Apache, as como Sun Java System Web Server de Sun Microsystems y un anfitrin de otras aplicaciones como Zeus Web Server. Algunos de los ms grandes sitios web del mundo estn ejecutndose sobre Apache. La capa frontal (front end) del motor de bsqueda Google est basado en una versin modificada de Apache, denominada Google Web Server (GWS). Muchos proyectos de Wikimedia tambin se ejecutan sobre servidores web Apache. La mayor parte de la configuracin se realiza en el fichero apache2.conf o httpd.conf, segn el sistema donde est corriendo. Cualquier cambio en este archivo requiere reiniciar el servidor, o forzar la lectura de los archivos de configuracin nuevamente. Para instalar apache:
sudo apt-get install apache2

O bien, si se resiste:
sudo apt-get install apache2 apache2-common apache2-mpm-prefork apache2-utils ssl-cert

-3-

Sistemas Telemticos

Servicios internet e intranet

Para probar que se ha instalado con xito escribir en la barra de direcciones del explorador la direccin localhost. Hemos convertido nuestro equipo en un servidor web.

Esta es la pgina que trae por defecto, y est en:

Con un editor web como por ejemplo:

O simplemente con un editor de texto modificamos el archivo y lo tuneamos:

-4-

Sistemas Telemticos

Servicios internet e intranet

La configuracin de nuestro router es como la que sigue:

De Wikipedia, la enciclopedia libre

La redireccin de puertos (a veces llamada tuneleo) es la accin de redirigir un puerto de red de un nodo de red a otro. Esta tcnica puede permitir que un usuario externo tenga acceso a un puerto en una direccin IP privada (dentro de una LAN) desde el exterior va un router con NAT activado. La redireccin de puertos permite que ordenadores remotos (por ejemplo, mquinas pblicas en Internet) se conecten a un ordenador en concreto dentro de una LAN privada. Ahora redirigimos el puerto en el router para que nuestro servidor web sea accesible desde el exterior.
69.65.21.130

Switch aula

192.168.123.106

Servidor web

-5-

Sistemas Telemticos

Servicios internet e intranet

Finalmente comprobamos que funciona accediendo en el navegador a la direccin externa del router:

-6-

Das könnte Ihnen auch gefallen