Page 1

INSTITUTO TECNOLÓGICO DE TLALNEPANTLA

“TRABAJO UNIDAD 5” APACHE

P r e s e n t a : VARGAS CHHAVEZ JOEL 08250858 Lic. en Informática. Profesor: Gallardo Godínez J. Antonio

Sistemas web.

Tlalnepantla de Baz, Mayo 25 del 2012


INDICE INTRODUCCION OBJETIVO GENERAL OBJETIVOS ESPECIFICOS SERVIDOR CARACTERISTICAS CLASIFICACION COMPATIBILIDAD TENDENCIAS APACHE HISTORIA CARACTERISTICAS VERSIONES INSTALACION, CONFIGURACION Y ADMINISTRACION VENTAJAS DESVENTAJAS SEGURIDAD CUADRO COMPARATIVO IIS HISTORIA DEFINICION CARACTERISTICAS VERSIONES INSTALACION,CONFIGURACION E ADMINISTRACION VENTAJAS DESVENTAJAS CUADRO COMPARATIVO INSTRUCCIONES MAS USADAS PARA UN PORTAL WEB SOFWARE PARA SERVIDORES DE WEB CONCLUSIONES BIBLIOGRAFIA

4 5 5 6 8 8 9 19 24 24 25 26 27 54 54 55 56 57 57 58 59 60 60 66 66 67 68 69 86 86

pรกg. 2


INDICE DE FIGURAS Figura 1 Figura 2 Figura 3 Figura 4 Figura 5 Figura 6 Figura 7 Figura 8 Figura 9 Figura 10 Figura 11 Figura 12 Figura 13 Figura 14 Figura 15 Figura 16 Figura 17 Figura 18 Figura 19 Figura 20 Figura 21 Figura 22 Figura 23 Figura 24 Figura 25 Figura 26 Figura 27 Figura 28 Figura 29 Figura 30 Figura 31 Figura 32 Figura 33 Figura 34 Figura 35 Figura 36 Figura 37 Figura 38 Figura 39 Figura 40 Figura 41 Figura 42 Figura 43

6 7 10 13 23 28 29 30 31 32 33 34 35 36 37 38 40 41 42 43 44 45 46 47 48 49 50 51 52 53 61 62 63 64 66 70 71 72 73 74 75 76 77

pรกg. 3


INTRODUCCION Apache es un servidor del protocolo http, comúnmente llamado servidor web pues es la mayor utilidad para dicho protocolo. Cuando pensamos en un servidor web imaginamos un grupo de páginas web que determinan un sitio web. Un servidor como Apache puede alojar varios sitios, y pueden coexistir varios servidores Apache en un sólo equipo. Básicamente Apache lee un directorio con todo el contenido posible a enviar y los navegadores piden las páginas (o recursos) para luego, por ejemplo, mostrarlos en pantalla. Es el funcionamiento más básico de un servidor, sin embargo, los servidores actuales realizan muchas tareas complejas. Un ejemplo sería modificar el recurso para personalizarlo y luego enviarlo. O ejecutar un programa y que la salida de este programa devuelva el recurso a enviar. Comunmente estos programas se llaman scripts y se tienden a escribir en lenguajes que fueron creados para ese propósito, como lo es PHP, Python o versiones actuales de Perl. El archivo de configuración de Apache principal puede ser /etc/httpd.conf o /etc/http.d/conf/httpd.conf o /etc/apache/httpd.conf según la distribución y versión de Apache. En este archivo se determinan los directorios a utilizar, los módulos a cargar, permisos y muchísimos detalles más. Veremos los más importantes.

pág. 4


OBJETIVO GENERAL EL objetivo general de este trabajo es dar a conocer que es el servidor apache, que funciones tiene, las tendencias que maneja si como, versiones, instalación, configuración y administración en los sistemas operativos más comunes hoy en día. OBJETIVOS ESPECIFICOS Definir que es apache Verificar como se instala, configura y administra apache Ventajas y desventajas de apache.

pág. 5


Un servidor web o servidor HTTP Es un programa informático que procesa una aplicación del lado del servidor realizando conexiones bidireccionales y/o unidireccionales y síncronas o asíncronas con el cliente generando o cediendo una respuesta en cualquier lenguaje o Aplicación del lado del cliente. El código recibido por el cliente suele ser compilado y ejecutado por un navegador. Para la transmisión de todos estos datos suele utilizarse algún protocolo. Generalmente se utiliza el protocolo HTTP para estas comunicaciones, perteneciente a la capa de aplicación del modelo OSI. El término también se emplea para referirse al ordenador que ejecuta el programa.

El servidor vendría a ser la "casa" de los sitios que visitamos en la Internet. Los sitios se alojan en computadores con servidores instalados, y cuando un usuario los visita son estas computadoras las que proporcionan al usuario la interacción con el sitio en cuestión. Cuando se contrata un plan de alojamiento web con una compañía, esta última proporciona un servidor al dueño del sitio para poder alojarlo; al respecto hay dos opciones, optar por un "servidor dedicado", lo que se refiere a una computadora servidora dedicada exclusivamente al sitio del cliente (para aplicaciones de alta demanda), o un "servidor compartido", lo que significa que un mismo servidor (computadora + programa servidos) se usará para varios clientes compartiendo los recursos.

pág. 6


SERVIDORES Apache: Este es el más común y más utilizado en todo el mundo. Además, es gratuito (cómo no), y de código abierto, así que podríamos decir que corre sobre cualquier plataforma. Microsoft IIS: Sólo funciona sobre sistemas Windows, como ya habrás imaginado. Si quieres correrlo sobre otro sistema, tendrás que utilizar una máquina virtual. Sun Java System Web Server: Este producto pertenece a la casa Sun, y suele correrse sobre entorno de este sistema. Sin embargo, como Apache, es multiplataforma, y recientemente Sun ha decidido distribuirlo con licencias de código abierto (BSD concretamente). Ngnix: Este es un servidor Web muy ligero y corre sobre sistemas Unix y Windows. Se ha convertido en el 4º servidor HTTP más popular de la red y también se distribuye bajo licencia BSD. Lighttp: Este servidor Web es otro de los más ligeros que hay en el mercado. Está especialmente pensado para hacer cargas pesadas sin perder balance, utilizando poca RAM y poca de CPU. Algunas páginas populares que lo usan son Youtube, Wikipedia y otras que soportan gran tráfico diariamente. También es gratuito y se distribuye bajo licencia BSD.

pág. 7


TIPOS SOBRE SERVIDORES YSUS CARACTERISTICAS.

Estos términos suelen usarse para definir lo que hace un servidor. Por ejemplo, se suele llamar servidor web a aquél cuya actividad principal es enviar páginas web a los usuarios que las solicitan cuando se conectan a internet. Veamos los términos usados habitualmente cuando se habla de servidores: - Proxy: Es un programa u ordenador que hace de intermediario entre dos ordenadores. Supongamos que nosotros nos identificamos como “juanito” y queremos hacer una petición al servidor llamado “pepito”. Si la petición la hacemos directamente, “pepito” sabe que “juanito” le hizo una petición. En cambio, si usamos un proxy que sería un intermediario que por ejemplo podemos llamar “manolito”, la petición se la haríamos a manolito y éste se la haría a pepito. De esta manera, pepito no sabe que quien realmente ha hecho la petición es juanito. A su vez, el intermediario puede bloquear determinadas peticiones. Por ejemplo, si pedimos a un proxy que tiene bloqueadas las extensiones .xxx, que nos muestre la página web “amanecer.xxx”, dicha página web no se nos mostrará porque el proxy actúa bloqueándola. - DNS: son las siglas de Domain Name System. Es un sistema por el que se asocia una información con un nombre de dominio. El ejemplo más claro es cuando introducimos una ruta url en nuestro navegador de internet del tipo http://www.aprenderaprogramar.com. Una vez hemos introducido esta ruta, dicha información es enviada a un servidor DNS que lo que hace es determinar en qué lugar se encuentra esa página web alojada y nos conecta con ella. - WEB: el término web va asociado a internet, donde los usuarios utilizan sus navegadores web para visitar sitios web, que básicamente se componen de páginas web donde los usuarios pueden acceder a informaciones con texto, videos, imágenes, etc y navegan a través de enlaces o hipervínculos a otras webs. Qué es un servidor. Principales tipos de servidores (smtp, ftp, web…) - FTP: acrónimo de File Transfer Protocol o Protocolo de transferencia de archivos. Es un protocolo utilizado para la transferencia de archivos entre un cliente y un servidor, permitiendo al cliente descargar el archivo desde el servidor o al servidor recibir un archivo enviado desde un cliente. Por defecto FTP no lleva ningún tipo de encriptación permitiendo la máxima velocidad en la transferencia de los archivos, pero puede presentar problemas de seguridad, por lo que muchas veces se utiliza SFTP que permite un servicio de seguridad encriptada.

pág. 8


- Dedicación: normalmente al ser los servidores equipos más potentes y por tanto más caros, se suelen compartir entre varias personas o empresas, permitiéndoles a todos tener un servicio de gran calidad y a un mínimo precio. En este caso se dice que se trata de un servidor compartido. Pero en otros casos puede haber servidores dedicados exclusivamente a una sola persona o empresa si esta puede hacer frente al gasto económico que supone. En este caso se dice que el servidor es “dedicado”. - POP3 y SMTP: hay servidores especializados en correos electrónicos o e-mails. Estos utilizan los protocolos POP3 y SMTP para recibir los correos de nuestro servidor en nuestro cliente, o para enviar desde nuestro cliente un correo al servidor de otro cliente. Aunque hay diversos tipos de protocolos estos son los más utilizados. Un protocolo no es otra cosa que “una forma de hacer algo”. - DHCP y TCP/IP: cuando un cliente se conecta a un servidor, éste tiene que identificar a cada cliente y lo hace con una dirección IP. Es decir, cuando desde casa entramos en una página web estamos identificados por una serie de dígitos que son nuestra IP. Esta dirección ip son 4 pares de números y es única para cada cliente. Así el protocolo TCP/IP permite que cuando nos conectamos a internet se nos asigne una dirección IP que nos identifica. Cada ordenador conectado a internet tiene su dirección IP, aunque en el caso de usuarios de una empresa que da acceso a internet como “Telefónica”, varios usuarios de la empresa pueden tener la misma IP porque utilizan un mismo servidor para canalizar sus peticiones en internet. Por otro lado, DHCP es un protocolo de asignación dinámica de host que permite asignar una ip dinámicamente a cada cliente cuando este se conecta con el servidor que le da acceso a internet. Esto significa que si nos conectamos el lunes a internet, nuestra IP, que nos asigna Telefónica, puede ser 82.78.12.52. En cambio, si nos conectamos el jueves nuestra IP podría ser 212.15.23.88. ¿Por qué cambia nuestra IP? Porque la empresa que nos da conexión nos asigna una de sus IPs disponibles. En cambio, los servidores al ser máquinas más potentes e importantes suelen tener una IP fija. COMPATIBILIDAD TABLA DE TIPOS DE SERVIDORES.

pág. 9


Servidor de correo Un servidor de correo es una aplicación de red ubicada en un servidor en internet, cuya función es parecida al Correo postal tradicional, sólo que en este caso lo que se maneja son los correos electrónicos (a veces llamados mensajes o e-mails), a los que se hace circular a través de redes de transmisión de datos. A diferencia del correo postal, por este medio sólo se pueden enviar como adjuntos, ficheros de cualquier extensión, y no bultos o paquetes o documentación, al viajar la información en formato electrónico. Los servidores de correo a menudo realizan diferentes funciones según sea el uso que se planifique para el mismo. Agente de Transferencia de Correo (del

pág. 10


inglés Mail Transport Agent o MTA; también Message Transport Agent, Agente de Transporte de Mensajes) es uno de los programas que ejecutan los servidores de correo, y tiene como fin transferir un conjunto de datos de una computadora a otra. El MTA, tiene varias formas de comunicarse con otros servidores de correo: 1. Recibe los mensajes desde otro MTA. Actúa como "servidor" de otros servidores. 2. Envía los mensajes hacia otro MTA. Actúa como un "cliente" de otros servidores. 3. Actúa como intermediario entre un "Mail Submision Agent" y otro MTA. Algunas soluciones de correo que incluyen un MTA son: Sendmail, qmail, Postfix, Exim, Mdaemon, Mercury Mail Transport System, Lotus Notes (IBM) y Microsoft Exchange Server. Por defecto el protocolo estándar para la transferencia de correos entre servidores es el SMTP, o Protocolo Simple de Transferencia de Correo. Está definido en el RFC 2821 y es un estándar oficial de Internet.

Servidores Web de almacenamiento.

El alojamiento web (en inglés web hosting) es el servicio que provee a los usuarios de Internet un sistema para poder almacenar información, imágenes, vídeo, o cualquier contenido accesible vía web. Es una analogía de "hospedaje o alojamiento en hoteles o habitaciones" donde uno ocupa un lugar específico, en este caso la analogía alojamiento web o alojamiento de páginas web, se refiere al lugar que ocupa una página web, sitio web, sistema, correo electrónico, archivos etc. en internet o más específicamente en un servidor que por lo general hospeda varias aplicaciones o páginas web. Las compañías que proporcionan espacio de un servidor a sus clientes se suelen denominar con el término en inglés web host. El hospedaje web aunque no es necesariamente un servicio, se ha convertido en un lucrativo negocio para las compañías de internet alrededor del mundo. Se puede definir como "un lugar para tu página web o correos electrónicos", aunque esta definición simplifica de manera conceptual el hecho de que el alojamiento web es en realidad espacio en Internet para prácticamente cualquier tipo de información, sea archivos, sistemas, correos electrónicos, videos etc.

pág. 11


Alojamiento gratuito El alojamiento gratuito es extremadamente limitado cuando se lo compara con el alojamiento de pago. Estos servicios generalmente agregan publicidad en los sitios y tienen un espacio y tráfico limitado. Alojamiento compartido En este tipo de servicio se alojan clientes de varios sitios en un mismo servidor, gracias a la configuración del programa servidor web. Resulta una alternativa muy buena para pequeños y medianos clientes, es un servicio económico debido a la reducción de costos ya que al compartir un servidor con cientos miles o millones de personas o usuarios el costo se reduce drásticamente para cada uno, y tiene buen rendimiento. Entre las desventajas de este tipo de hospedaje web hay que mencionar sobre todo el hecho de que compartir los recursos de hardware de un servidor entre cientos o miles de usuarios disminuye notablemente el desempeño del mismo. Es muy usual también que las fallas ocasionadas por un usuario repercutan en los demás por lo que el administrador del servidor debe tener suma cautela al asignar permisos de ejecución y escritura a los usuarios. En resumen las desventajas son: disminución de los recursos del servidor, de velocidad, de desempeño, de seguridad y de estabilidad.

Alojamiento de imágenes Este tipo de hospedaje se ofrece para guardar imágenes en internet, la mayoría de estos servicios son gratuitos y las páginas se valen de la publicidad colocadas en su página al subir la imagen. Alojamiento revendedor (reseller) Este servicio de alojamiento está diseñado para grandes usuarios o personas que venden el servicio de hospedaje a otras personas. Estos paquetes cuentan con gran cantidad de espacio y de dominios disponibles para cada cuenta. Asi mismo estos espacios tienen un límite de capacidad de clientes y dominios alojados y por ende exige buscar un servidor dedicado.

pág. 12


Servidor web para Base de datos En la actualidad, muchas instituciones se han dado cuenta de la importancia que el Web tiene en el desarrollo de sus potencialidades, ya que con ello pueden lograr una mejor comunicación con personas o instituciones situadas en cualquier lugar del mundo. Gracias a la conexión con la red mundial Internet, poco a poco, cada individuo o institución va teniendo acceso a mayor cantidad de información de las diversas ramas de la ciencia con distintos formatos de almacenamiento. La mayor parte de información es presentada de forma estática a través de documentos HTML, lo cual limita el acceso a los distintos tipos de almacenamiento en que ésta pueda encontrarse.

pág. 13


Pero, en la actualidad surge la posibilidad de utilizar aplicaciones que permitan acceder a información de forma dinámica, tal como a bases de datos, con contenidos y formatos muy diversos. Una de las ventajas de utilizar el Web para este fin, es que no hay restricciones en el sistema operativo que se debe usar, permitiendo la conexión entre si, de las páginas Web desplegadas en un browser del Web que funciona en una plataforma, con servidores de bases de datos alojados en otra plataforma. Además, no hay necesidad de cambiar el formato o estructura de la información dentro de las bases de datos. ¿Cómo Funciona la Integración de Bases de Datos en el Web? Para realizar una requisición de acceso desde el Web hasta una base de datos no sólo se necesita de un browser del Web y de un Servidor Web, sino también de un software de procesamiento (aplicación CGI), el cual es el programa que es llamado directamente desde un documento HTML en el cliente. Dicho programa lee la entrada de datos desde que provienen del cliente y toma cierta información de variables de ambiente. El método usado para el paso de datos está determinado por la llamada CGI. Una vez se reciben los datos de entrada (sentencias SQL o piezas de ellas), el software de procesamiento los prepara para enviarlos a la interfaz en forma de SQL, y luego ésta procesa los resultados que se extraen de la base de datos. La interfaz contiene las especificaciones de la base de datos necesarias para traducir las solicitudes enviadas desde el cliente, a un formato que sea reconocido por dicha base. Además, contiene toda la información, estructuras, variables y llamadas a funciones, necesarias para comunicarse con la base de datos. El software de acceso usualmente es el software distribuido con la base de datos, el cual permite el acceso a la misma, a través de solicitudes con formato. Luego, el software de acceso recibe los resultados de la base de datos, aún los mensajes de error, y la pasa hacia la interfaz, y ésta a su vez, los pasa hasta el software de procesamiento. Cualquier otro software (servidor HTTP, software de redes, etc.) agrega enlaces adicionales a este proceso de extracción de la información, ya que el software de procesamiento pasa los resultados hacia el servidor Web, y éste hasta el browser del Web (ya sea directamente o a través de una red). Categorización de Interfaces Web/DBMS Tradicionalmente en el Web se han utilizado documentos HTML estáticos para los cuales se creaban las posibles respuestas ante requisiciones del cliente. Este método requiere de un gran desarrollo de aplicaciones y de mantenimiento de las mismas. Al interactuar con las bases de datos, este proceso se complica aún más.

pág. 14


Como la necesidad de acceder a bases de datos desde el Web se ha incrementado, han sido creadas también interfaces que manipulan sus escritos para procesar la información, teniendo como punto común la ejecución de sentencias SQL para requerir datos a la base. Aplicaciones de interfaz para la interacción de bases de datos con el Web han surgido ya. Los productos iniciales son simplemente modelos del ambiente cliente/servidor, con una capa adicional para crear resultados HTML que pueden ser vistos a través del Web, por medio de un procesamiento de los datos de la forma introducidos por el cliente. Además, al usar estas interfaces se puede crear el programa principal de la aplicación. Como puede observarse, estas herramientas permiten construir poderosas aplicaciones en el Web, pero se requiere que programadores experimentados logren un desarrollo a gran escala. También, el mantenimiento de las mismas es significativamente más complejo y extenso. Una de las estrategias más famosas para la creación de aplicaciones de interacción con el Web, es la de descargar del Web, aplicaciones o componentes funcionales que se ejecutarán dentro del browser. Con ellas se realizará un procesamiento complejo del lado del cliente, lo cual requiere un gran esfuerzo para crear las piezas de la aplicación. Estas estrategias poseen dos características principales: garantizan la seguridad tanto en los sistemas de distribución como en la comunicación que se establece con tales aplicaciones, a través de Internet. También han aparecido bibliotecas que incluyen motores propios de servidor que corren de forma conjunta con el Servidor Web, lo cual facilita el desarrollo de nuevas aplicaciones. Una aplicación que posibilita interconectar al Web con una base de datos tiene muchas ventajas, además de que las funciones que cumplen actualmente los Servidores Web y las herramientas de desarrollo de aplicaciones Web, hacen más fácil que nunca la construcción de aplicaciones más robustas. Tal vez el mayor beneficio del desarrollo de estas aplicaciones en el Web sea la habilidad de que sean para múltiples plataformas, sin el costo de distribuir múltiples versiones del software. Cada una de las interfaces para comunicar al Web con bases de datos, ha sido creada basándose en una tecnología de integración especial, a través de procesos de interconexión especiales, que serán descritos en el siguiente apartado.

Tecnologías para la integración de base datos en la red -El Common Gateway Interface (CGI) -Interfaz de Programación de Aplicaciones (API) -Interfaz de Programación de Aplicaciones del Servidor Internet (ISAPI)

pág. 15


-Java,

JDBC

y

JavaScript

El Common Gateway Interface (CGI) Actualmente, ésta es la solución que más se está utilizando para la creación de interfaces Web/DBMS. Fue probada por primera vez en el servidor NCSA. Se ha comprobado que si el Servidor Web recibe un URL con una llave, para devolver un documento HTML como respuesta, tendrá que cargar el servicio (programa) que le indique las variables de ambiente y de la forma HTML. La mayoría de las veces dicha llave es el "cgi-bin". Entre las ventajas de la programación CGI, se tiene su sencillez, ya que es muy fácil de entender, además de ser un lenguaje de programación independiente, ya que los escritos CGI pueden elaborarse en varios lenguajes. También es un estándar para usarse en todos los servidores Web, y funcionar bajo una arquitectura independiente, ya que ha sido creado para trabajar con cualquier arquitectura de servidor Web. Como la aplicación CGI se encuentra funcionando de forma independiente, no pone en peligro al servidor, en cuanto al cumplimiento de todas las tareas que éste se encuentre realizando, o al acceso del estado interno del mismo. Pero el CGI presenta cierta desventaja en su eficiencia, debido a que el Servidor Web tiene que cargar el programa CGI y conectar y desconectar con la base de datos cada vez que se recibe una requisición. Además, no existe un registro de el estado del servidor, sino que todo hay que hacerlo manualmente. Interfaz de Programación de Aplicaciones (API) Es un conjunto de rutinas, protocolos y herramientas para construir aplicaciones de interfaz. Una buena API hace más fácil el trabajo de desarrollo de un programa, ya que debe proveer todos los bloques para construirlo. El programador lo único que hace es poner todos los bloques juntos. API está diseñado especialmente para los programadores, ya que garantiza que todos los programas que utilizan API, tendrán interfaces similares. Asimismo, esto le facilita al usuario aprender la lógica de nuevos programas. Cuando se realiza una requisición, el servidor llamará al API, brindando la ventaja de disponer de una mayor cantidad de servicios. Interfaz de Programación de Aplicaciones del Servidor Internet (ISAPI)

pág. 16


Es la interfaz propuesta por Microsoft como una alternativa más rápida que el CGI, y ya está incluida en el Servidor Microsoft Internet Information (IIS). Así como los escritos CGI, los programas escritos usando ISAPI habilitan un usuario remoto para ejecutar un programa, busca información dentro de una base de datos, o intercambia información con otro software localizado en el servidor. Los programas escritos usando la interfaz ISAPI son compilados como bibliotecas de enlace dinámico (DLL - Dynamic Link Library), ya que son cargados por el servidor Web cuando éste se inicia. Dichos programas se vuelven residentes en memoria, por lo que se ejecutan mucho más rápido que las aplicaciones CGI, debido a que requieren menos tiempo de uso de CPU al no iniciar procesos separados. Uno de los programas ISAPI más usados es el HTTPODBC.DLL que se usa para enviar y/o devolver información hacia y desde las bases de datos, a través de ODBC. Además, ISAPI permite realizar un procesamiento previo de la solicitud y uno posterior de la respuesta, con lo cual manipula la solicitud/respuesta HTTP. Los filtros ISAPI pueden utilizarse para aplicaciones tales como autenticación, acceso o apertura de sesión. Java, JDBC y JavaScript Java ofrece un ambiente de programación muy sencillo, robusto, dinámico, de propósito general, orientado a objetos y múltiples plataformas, creado por Sun MicroSystems. Es tanto un compilador como un lenguaje intérprete. El código fuente de Java es convertido en instrucciones binarias simples, y compilado con un formato universal. El Compilador realiza todas las actividades de un procesador real en un ambiente virtual más seguro. Es decir, ejecuta instrucciones, crea y manipula información, carga y hace referencia a bloques de código nuevos. El Intérprete, que es pequeño y muy útil, es capaz de ser implantado en cualquier forma que se desee para un sistema operativo particular. Este puede correr como una aplicación independiente, o como una parte de otro software, tal como el Web Browser. El concepto de Java es diferente al de CGI, ya que el CGI se ejecuta en el servidor, mientras que Java se ejecuta en el cliente. Aplicaciones Java

pág. 17


Los programadores pueden desarrollar pequeñas aplicaciones, las cuales permiten tener sitios Web con una gran funcionalidad en cuanto a: animación, actualización en vivo, interacción bidireccional y más. Al integrarse en una página Web, las aplicaciones de Java tienen acceso a:    

Recreación de gráficos expertos. Interacción en tiempo real con los usuarios. Actualización en vivo de la información. Interacción instantánea con los servidores a través de la red.

Las aplicaciones de Java pueden obtenerse en cualquier servidor con esta tecnología y funcionan de forma segura bajo cualquier plataforma o arquitectura de CPU, permitiendo introducirlas en páginas HTML. Las aplicaciones son programas independientes, tales como el browser HotJava. 

Procesamiento Cliente/Servidor

Por lo general, las aplicaciones Web son procesadas completamente en el lado del servidor, lo cual no es precisamente lo más apropiado, ya que significa un uso excesivo de memoria, manteniendo al usuario en la espera mientras termina de ejecutarse. Pero los browser Java (del lado del usuario) pueden ejecutar aplicaciones, y no sólo desplegar documentos HTML, poniendo a correr el proceso en el lugar apropiado. Las aplicaciones clásicas proveen de información acerca de los tipos de formato (tipos MIME). Los browser del Web rápidos serán capaces de aprender cómo tratar con nuevos protocolos y dar formato dinámicamente a los datos. 

Seguridad

Java está diseñado para proveer la máxima seguridad posible en redes públicas, con múltiples formas de seguridad ante virus, posibles invasiones o accesos incorrectos, archivos basura, etc. Java es como una versión de C++, en la cual se puede causar cualquier daño. Es funcional como C y modular como C++. Conectividad de Bases de Datos de Java (JDBC) Se considera el primer producto estándar de Java con DBMS, creado y ofrecido por primera vez en marzo de 1996. Crea una interfaz con un nivel de programación que le permite comunicarse con las bases de datos mediante un concepto similar al de componentes ODBC, el cual se ha convertido en el estándar que se utiliza en computadoras personales o en redes locales.

pág. 18


El estándar de JDBC está basado en un nivel de interfaz con instrucciones SQL X/Open, que es básicamente lo mismo que en ODBC. Las clases de objetos para iniciar la transacción con la base de datos, están escritas completamente en Java, lo cual permite mantener la seguridad, robustez y portabilidad de este ambiente. El puente JDBC-ODBC manipula la traducción de llamadas JDBC a aquellas que puedan ser entendidas por el cliente ODBC a un nivel de lenguaje C. JavaScript 

   

Es un lenguaje muy poderoso y especialmente diseñado para la creación de escritos, que se alojan dentro de un documento HTML. Dicho lenguaje es propiedad de Netscape. Es un API programable que permite crear escritos de eventos, objetos y acciones, bajo cualquier plataforma. Gracias a que JavaScript es parte de la conexión en vivo, se puede usar para crear interacciones entre documentos HTML, Plug-ins (aplicaciones que corren dentro del browser del Web) y Java. Las conexiones en vivo habilitan: Navegación con Plug-ins, que se carga en una página para interactuar con JavaScript, que se encuentra activo dentro de la misma página. Aplicaciones de Java cargados en la misma página para comunicarse con los escritos JavaScript activos dentro de la misma página, y viceversa. Mediante el uso de JavaScript se pueden enviar respuestas ante una variedad de eventos, objetos y acciones, permitiendo cambiar imágenes o activar sonidos ante determinados eventos, tales como entrar o salir de una página, presionar el ratón, etc. Es un lenguaje de escritos compacto, basado en objetos, para el desarrollo de aplicaciones Internet Cliente/Servidor. Las sentencias JavaScript que reconocen y responden ante eventos, pueden ser introducidas directamente en una página Web. Por ejemplo, se puede escribir una función JavaScript que verifique la correcta entrada de datos a una forma, sin necesidad de transmisión de datos a través de la red. Así, una página HTML con código JavaScript puede interpretar el texto introducido y alertar al usuario si el dato es inválido.

Tendencia de servidores IBM ha producido una nueva línea de servidores con sistema operativo y todo que se lanzan a la confrontación con el gigante del software Microsoft. IBM se ha basado en una nueva tendencia que se ha producido en el área de las

pág. 19


Tecnologías de Información que contradice un poco las visiones de años recientes pero que se ajusta a una visión tecnológica más profunda y antigua: La tecnología fortalece la capacidad del individuo. Basados en esto se decidió centralizar en un server todo lo que en un Small Business o pequeña empresa podrían significar comunicaciones, aplicaciones y seguridad. Hasta no hace mucho la visión era que una empresa debería tener un especialista en base de datos (Database Administrator), un especialista de software y aplicaciones (Software and Applications Administrator), un especialista en comunicaciones y un especialista en seguridad de información (Security Information Specialist). Con los nuevos hardwares y sistemas que se están desarrollando y que están llegando al mercado se ha producido un balance hacía el poder tecnológico el cual da como resultado que se requiera solo de un especialista de server applications. Para IBM este nuevo ramo se llama I BM System z10 Enterprises Class. A esto se le añade el hecho de que empresas como Intel han ido fortaleciendo en el diseño de sus microchips la posibilidad de virtualizar o crear servers virtuales dentro de un servidor a esto se le ha llamado virtualización. De manera que nos paramos nuevamente en un paso gigante en la revolución informática. Y eso explica como gigantes como Microsoft han ido fortaleciendo sus nichos técnicos en miras de dar respuesta a estas nuevas tendencias. Por último, un comentario aparte para mis queridos lectores, Microsoft ya sacó al público el nuevo XBOX a un precio super competitivo de 260 USD frente al Play Station de Sony. Funcionalidad de servidores Los servidores en una red cliente-servidor son los procesos que proporcionan información recursos y servicios a los clientes de la red. Cuando un cliente pide un recurso como, por ejemplo, un archivo, datos de una base de datos, acceso a aplicaciones remotas o impresión centralizada, el servidor proporciona estos recursos al cliente. Como se mencionó antes, los procesos del servidor pueden residir en una máquina que también actúa como cliente de otro servidor. Además de proporcionar este tipo de recursos, un servidor puede dar acceso a otras redes, actuando como un servidor de comunicaciones que conecta a otros servidores o mainframes o minicomputadoras que actuan como hosts de la red. También puede permitir enviar faxes o correo electrónico desde un cliente en una red a un cliente en otra red. Puede actuar como servidor de seguridad, como servidor de gestión de la red, como servidor multimedia, como servidor de directorios o de acceso Características del servidor

pág. 20


• Al iniciarse esperan a que lleguen las solicitudes de los clientes, desempeñan entonces un papel pasivo en la comunicación. • Tras la recepción de una solicitud, la procesan y luego envían la respuesta al cliente. • Por lo general, aceptan conexiones desde un gran número de clientes (en ciertos casos el número máximo de peticiones puede estar limitado). • No es frecuente que interactúen directamente con los usuarios finales. Las características que estos tengan, variaran dependiendo del servicio que proveerá el servidor, del entorno en donde se usara y cuanta información manejara. Las principales características de un servidor son: Procesador: Se elegirá si se usara un Intel o AMD. Un solo núcleo, doble núcleo, 4 núcleos, etc. Normalmente para servidores se llegan a utilizar los Intel Xeon, o los AMD Opteron. Memoria RAM: Esta llega a ser muy importante, ya que al manejar gran cantidad de datos, es conveniente no quedarnos con poca RAM. Una vez agotada la RAM se empieza a utilizar memoria virtual (o swap), la cual ralentiza los procesos. Lo recomendable son 2GB o más. Disco Duro: Con una buena capacidad de almacenamiento, unos 100GB mínimo. La velocidad (RPM) y la marca del disco duro también es muy importante. Preferentemente SATA. Velocidad del Internet: En caso de usarse como servidor web, se necesita una velocidad de subida y bajada buena. Sistema operativo: Hablando en términos de software, también se tiene que decidir que sistema operativo llevara. Ya sea Linux o Windows Server, que son los más usados, dependiendo el ambiente de trabajo en donde se usara, la seguridad que sea necesaria, y el presupuesto con el que se cuenta. Servidor vs nube Un servidor es una herramienta especializada en prestar servicios de alojamiento web, es decir de hosting y esté a su vez aloja los dominios de las páginas web para que las personas puedan acceder a la misma sólo con colocar una dirección IP en un buscador. Web

Hosting

en

México

-

DigitalServer

pág. 21


Leer Más... http://www.digitalserver.com.mx/blog/sabes-que-es-un-servidor-ennube/Por otra parte un servidor en nube o conocido también como servicios en la nube o Cloud computing, su objetivo es ofrecer servicios a través de la internet. Es decir, un nuevo mecanismo que busca prestar servicio no solo tecnológicos, sino de negocios, ya que permite que los clientes accedan a un catálogo de servicios estandarizado, con el objetivo de satisfacer las necesidades de los clientes y responder a sus necesidades de negocios. ¿Cómo se accede a un servidor en nube? La mayoría de empresas dedicadas a brindar hospedajes y dominios están brindando en la actualidad este tipo de servidores con precios económicos que dependen de tu presupuesto y las características que necesites. Es decir, que los precios están definidos a partir de qué tipo de procesador necesitas, cuál sistema operativo, cuántas gigas de almacenamiento, que velocidad y cuánto espacio en el disco duro. Ventajas y servicios: El servidor en nube le ofrece a sus usuarios muchísimos beneficios logrando que esté se sienta a gusto con lo que adquirió, aparte de estar a la vanguardia de las nuevas tecnologías, es decir que el mundo cada día va evolucionando y por ende cada vez nos damos cuenta de nuevas herramientas tecnológicas, de nuevas formas de hacer negocios y por eso es importante que te actualices y adquieras este tipo de servidor. Es decir esta en tus manos decidir si quieres evolucionar o quedarte con los sistemas de cómputo e internet a los que estás acostumbrado. El servidor en nube es el servidor que todos los expertos en la web y en diseño de páginas quisieran tener, a continuación te daré algunas de las ventajas más representativas de este servidor:  

Te brindan CPU, RAM almacenamiento en cualquier combinación. Los servidores pueden ser escalables y adaptables, es decir que a través de consolas como Web o Api te permiten tener una mayor infraestructura, por ejemplo por eso quieres a través de tu servidor vender hosting ofreciéndole a los mimos la mejor tecnología y estabilidad. Es importante que adquieras un servidor en nube ya que permite mejor eficiencia y visibilidad en las páginas web lo que genera un mayor acceso e interacción de los usuarios a las mismas. Permite tener acceso de root, Api y FTP

pág. 22


El servidor en nube es la forma de usar los servicios informรกticos como programas o aplicaciones fรกcilmente por el internet lo que te permite optimizar y administrar de la mejor manera tus herramientas web, por tal razรณn es importante que te unas a la nube de internet.

pรกg. 23


Que es Apache El servidor HTTP Apache es un servidor web HTTP de código abierto, para plataformas Unix (BSD, GNU/Linux, etc.), Microsoft Windows, Macintosh y otras, que implementa el protocolo HTTP/1.1 y la noción de sitio virtual. Cuando comenzó su desarrollo en 1995 se basó inicialmente en código del popular NCSA HTTPd 1.3, pero más tarde fue reescrito por completo. Su nombre se debe a que Behelendorf quería que tuviese la connotación de algo que es firme y enérgico pero no agresivo, y la tribu Apache fue la última en rendirse al que pronto se convertiría en gobierno de EEUU, y en esos momentos la preocupación de su grupo era que llegasen las empresas y "civilizasen" el paisaje que habían creado los primeros ingenieros de internet. Además Apache consistía solamente en un conjunto de parches a aplicar al servidor de NCSA. En inglés, a patchy server (un servidor "parcheado") suena igual que Apache Server. El servidor Apache se desarrolla dentro del proyecto HTTP Server (httpd) de la Apache Software Foundation. Apache presenta entre otras características altamente configurables, bases de datos de autenticación y negociado de contenido, pero fue criticado por la falta de una interfaz gráfica que ayude en su configuración. Apache tiene amplia aceptación en la red: desde 1996, Apache, es el servidor HTTP más usado. Alcanzó su máxima 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 años. (Estadísticas históricas y de uso diario proporcionadas por Netcraft). La mayoría de las vulnerabilidades de la seguridad descubiertas y resueltas tan sólo 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 malévolos en las disposiciones de recibimiento compartidas que utilizan PHP como módulo de Apache. Historia de Apache En marzo de 1989 Tim Berners Lee, un científico inglés que trabaja en el CERN (Suiza) propone un nueva forma de gestionar la ingente cantidad de información de los proyectos del CERN. Se trata de una red de documentos hiperenlazados (hipertexto tal y como Ted Nelson lo denominó ya en 1965); estaba naciendo el WWW. Hubo que esperar hasta noviembre de 1990 hasta que el primer software WWW vio la luz: en un paquete llamado WorldWideWeb se incluía un navegador web de interfaz gráfica y un editor WYSIWYG (What You See Is What You Get - lo que ve en la pantalla es lo que obtiene como resultado). Dos años después, la lista de servidores WWW contaba con una treintena de entradas, entre los cuales ya se encontraba el NCSA HTTPd.

pág. 24


La verdadera historia de Apache comienza cuando en marzo de 1995, Rob McCool abandona el NCSA. Apache 0.2 vería la luz el 18 de marzo de 1995 basado en el servidor NCSA httpd 1.3 realizado por el propio Rob McCool durante su estancia en NCSA. Durante esos primeros meses, Apache era una colección de parches aplicados al servidor NCSA, hasta que Robert Thau lanzara Shambhala 0.1, una reimplementación casi completa que ya incluía la API para los módulos que ha resultado ser tan exitosa. Nota: El nombre del proyecto Apache se debe a la filosofía de desarrollo y de organización. Al igual que la tribu de los apaches, los desarrolladores de Apache decidieron que su forma organizativa debía fundamentarse en los méritos personales de los desarrolladores para con el resto de la comunidad Apache. Se ha extendido, sin embargo, la leyenda de que el nombre Apache en realidad se debe a que en los primeros tiempos no dejaba de ser un servidor NCSA parcheado, en inglés a patchy server. Habría que esperar a enero de 1996 para poder disfrutar de la primera versión estable de Apache, la Apache 1.0, que incluía la carga de módulos en tiempo de ejecución a modo de pruebas además de otras funcionalidades interesantes. Los primeros meses de ese año fueron especialmente fructíferos para el proyecto, ya que la versión 1.1 se publicó apenas dos meses después contando con módulos de autentificación contra bases de datos (como MySQL). Desde entonces hasta la actualidad, los hitos más grandes del proyecto han sido la total conformidad con el estándar HTTP 1.1 (incluido en abril de 1997 en Apache 1.2), la inclusión de la plataforma Windows NT (que comenzó ya en julio de 1997 con las versiones en pruebas de Apache 1.3), la unificación de los archivos de configuración en uno solo (habría que esperar a octubre de 1998 ya Apache 1.3.3 para ello) y el lanzamiento, todavía en pruebas, de la siguiente generación de Apache, Apache 2. Entremedias, en junio de 1998, IBM decidió que el motor tras su producto WebSphere fuera Apache en lugar de desarrollar un servidor HTTP propio. Esto se vio como un gran espaldarazo por parte del gigante azul al proyecto Apache y al software libre en general, aunque para facilitar este hecho hubiera que cambiar ligeramente la licencia Apache original. Características Apache es un servidor web flexible, rápido y eficiente, continuamente actualizado y adaptado a los nuevos protocolos (HTTP 1.1). Entre sus características destacan:   

Multiplataforma Es un servidor de web conforme al protocolo HTTP/1.1 Modular: Puede ser adaptado a diferentes entornos y necesidades, con los diferentes módulos de apoyo que proporciona, y con la API de programación de módulos, para el desarrollo de módulos específicos. Basado en hebras en la versión 2.0

pág. 25


  

Incentiva la realimentación de los usuarios, obteniendo nuevas ideas, informes de fallos y parches para la solución de los mismos. Se desarrolla de forma abierta Extensible: gracias a ser modular se han desarrollado diversas extensiones entre las que destaca PHP, un lenguaje de programación del lado del servidor.

Versiones de apache Actualmente Apache se distribuye en dos "ramas" separadas de código, que corresponden a la versión 2.0.xx y la versión 1.3.xx. La versión 1.3 corresponde a la edición clásica de Apache, especialmente optimizada para las plataformas Unix. En la versión 2.0 se introducen cambios en el funcionamiento interno que permiten su utilización en otros sistemas operativos no derivados de Unix. Si el servidor web es una plataforma basada en Unix, el rendimiento de ambas versiones de Apache es prácticamente equivalente. En cambio, en otras plataformas como Windows y OS/2, la versión 2.0 ofrece un rendimiento notablemente superior.

Apache 2.0.49 Esta nueva versión soluciona tres problemas de seguridad detectados en las versiones anteriores de Apache 2.0.*. La primera de las vulnerabilidades corresponde una condición de carrera en el proceso de conexiones con un corto periodo de vida y que puede ser utilizada para provocar un ataque de denegación de servicio. Esta vulnerabilidad afecta los servidores Apache ejecutándose en determinadas versiones de Solaris, AIX y Tru64. La segunda vulnerabilidad radica en la posibilidad de que un usuario remoto pueda añadir caracteres arbitrarios en los mensajes de error escritos en el archivo de registro de errores del servidor. Esta vulnerabilidad puede ser utilizada para atacar algunos emuladores de Terminal en el momento que se visualiza el contenido de este archivo de registro de errores. La tercera y última vulnerabilidad es una pérdida de memoria, explotable de forma remota, en el módulo mod_ssl. Esto puede ser utilizado para consumir toda la memoria del servidor, provocando un ataque de denegación de servicio.

pág. 26


Apache 1.3.31 En lo que se refiere a la versión "clásica" de Apache, las vulnerabilidades de seguridad solucionadas son cuatro. La primera se encuentra en el módulo mod_digest y consiste en que no se verifica correctamente las respuestas enviadas por el cliente remoto cuando se utiliza AuthNonce. La segunda vulnerabilidad radica en la posibilidad de que un usuario remoto pueda añadir caracteres arbitrarios en los mensajes de error escritos en el archivo de registro de errores del servidor. Esta vulnerabilidad puede ser utilizada para atacar algunos emuladores de Terminal en el momento que se visualiza el contenido de este archivo de registro de errores. La tercera vulnerabilidad radica en la posibilidad de que el servidor web deje de procesar nuevas conexiones hasta que se liberen los sockets bloqueados por un atacante remoto bajo circunstancias muy especiales. La cuarta y última vulnerabilidad se encuentra en las reglas de filtro de direcciones IP cuando se indican sin especificar su máscara de red. Mod_ssl Simultáneamente a la publicación de Apache 1.3.31, también se ha publicado una nueva versión de mod_ssl. Este es un modulo para la versión 1.3.xx de Apache que incorpora la capacidad criptográfica necesaria para que el servidor web pueda utilizar los protocolos SSL (SSL v2/v3) y TLS (TLS v1) para el cifrado del tráfico. Mod_ssl se utiliza para la configuración de servidores HTTPS. Instalar Apache en Windows 7 El Propósito de este tutorial es instalar el servidor http de Apache en el sistema operativo windows 7 con una configuración básica para desarollo de aplicaciones y pruebas locales.

pág. 27


La versi贸n del servidor http de Apache para el sistema operativo Windows 7 se encuentra disponible en el sitio oficial de la Fundaci贸n Apache http://httpd.apache.org. Cuando abrimos en nuestro navegador el sitio web del servidor http Apache, se encuentra a la izquierda la secci贸n de Download!, damos un click en from a mirror.

p谩g. 28


Luego aca escogemos la versiรณn del servidor http de Apache que buscamos. Nosotros descargaremos para este tutorial la versiรณn 2.2.17 (released 2010-1019) la cual al momento de hacer este tutorial es la mรกs reciente.

Luego veremos diferentes versiones para el sistema operativo Windows 7, escogemos la versiรณn Win32 Binary without crypto (no mod_ssl) (MSI Installer): httpd-2.2.17-win32-x86-no_ssl.msi.

Click en el link y click en Guardar.

pรกg. 29


Guardaremos el instalador como aparece en la imagen en el escritorio de Windows 7 para encontrarlo facilmente. Click en Guardar.

Esperamos una par de minutos a que termine la descarga de nuestro instalador de Apache.

pรกg. 30


Una vez completada la descarga damos un doble click en el instalador y click en Ejecutar.

La primera ventana que nos aparece es la de "Welcome to the Installation Wizard for Apache HTTP Server 2.2.17", click Next.

pรกg. 31


Una vez en los Términos y Condiciones de uso, leemos la licencia, y damos un click en I accept the terms in the license agreement para poder continuar y luego click en Next.

En este paso recomiendo leer bien la información proporcionada por el instalador de Apache, ya que ésta es de importancia para el buen uso del servidor HTTP de Apache, la cual incluye la ubicación de la documentación como en http://httpd.apache.org/docs/2.2. Luego de leer, click en Next.

pág. 32


Ahora en este paso de la instalación ingresamos la informacion de el servidor Apache. Como usaremos el servidor Apache en un entorno local para nuestras pruebas escribimos lo siguiente:  Network Domain: localhost  Server Name: localhost  Administrator's Email: cualquier@email.com Estos datos los podemos cambiar luego aunque no lo mostraremos en este tutorial. Luego recomiendo escoger la opción for All Users, on port 80, as a Service -- Recommended. Esta opción dejará nuestro servidor Apache corriendo como un servicio mas de windows 7 cada vez que iniciemos nuestro pc. Click en Next.

pág. 33


En este paso de la instalación Typical es suficiente para desarollar con PHP y MySQL localmente en un entorno de pruebas en nuestro pc. Click en Next para continuar.

En este paso el instalador de Apache nos suguiere la ubicación en donde se instalará el servidor HTTP de Apache. Recomiendo cambiar la ubicación a C:\apache ya que ésto nos permitirá trabajar con Apache facilmente y tendremos los archivos fuera de nuestra carpeta de sistema. Click en Change...

pág. 34


En Folder name escribimos C:\apache y damos click en OK.

Una vez tenemos la nueva ubicaciรณn c:\apache en donde se instalarรก el servidor http de Apache continuamos dando un click Next.

pรกg. 35


En este paso ya tenemos toda la configuraci贸n lista. Un click en Install y todo sera instalado en nuestro pc.

En la ventana de "Control de cuentas de usuario" permitimos la ejecuci贸n del instalador de Apache dando un click en S铆 para continuar.

p谩g. 36


Esperamos un par de minutos a que termine la instalaci贸n de el servidor http de Apache.

En este paso una vez terminada la instalaci贸n de el servidor http de Apache sin ningun error cerramos la ventana dando un click en Finish.

p谩g. 37


Ahora lo más importante. Una vez finalizado el proceso de instalación abrimos nuestro navegador web y verificamos si está en funcionamiento nuestro recien instalado servidor web de Apache escribiendo en la barra de direcciones http://localhost y si todo salió durante la instalación veremos este sencillo mensaje It works! .Con esto queda instalado el servidor http de Apache.

pág. 38


Como última nota quiero mostrar la ubicación en donde tu podras colocar tus páginas web. El folder se llama htdocs. Puedes crear un acceso directo y copiarlo al escritorio para tener acceso de manera rápida al directorio raiz. Instalar y configuracion simple de Apache en Linux Mint Si queremos crear una página HTML, la podemos ver sin problemas en el navegador, pero en caso que queramos ver una página del lado de servidor, que conecte a ase de datos y ejecute operaciones y al final muestre el resultado, necesitamos un servidor web, y apache sigue siendo el más popular de ellos.

La instalación es muy sencilla en distribuciones de Linux amigables, como en el mas popular de todos que es Linux Mint. El procedimiento es un poco más complejo en distribuciones mas especializadas como Slackware o Arch.

La instalación y configuración constará de 3 pasos.

1.- Instalar Apache. 2.- Configurar la ruta de apache para que esté en un directorio particular. 3.- Instalar el soporte para PHP

1.- Instalar Apache. Abrimos nuestra mejor amiga en Linux, que es la terminal y escribimos el comando: # apt-get install apache2

pág. 39


Es válido para distribuciones derivadas de Debian, como Mint Recordemos que cuando vemos un comando con signo de gato (sharp) significa que debemos estar como superusuarios o root.

Nos indicará que debe instalar algunos paquetes y nos pregunta si deseamos continuar. Al aceptar comenzará con la descarga e instalación de los paquetes necesarios y aquellos con los que aún no contemos (muérete de envidia Windows).

pág. 40


Una vez terminada la descarga e instalaci贸n, nos indica un "ok".

p谩g. 41


Con esto ya debería estar corriendo el demonio, para estar seguros basta con escribir el siguiente comando (debian y derivados): # /etc/init.d/apache2 status La opción status es para verificar el estado del servicio (status no está soportado en Slackware ni Arch)

pág. 42


Las opciones Debian # /etc/init.d/apache2 # /etc/init.d/apache2 # /etc/init.d/apache2 Slackware # # # Arch # # #

que

podemos

utilizar

y start stop restart

/etc/rc.d/rc.httpd /etc/rc.d/rc.httpd /etc/rc.d/rc.httpd

/etc/rc.d/httpd /etc/rc.d/httpd /etc/rc.d/httpd

(para (para (para

iniciar detener reiniciar

start stop restart

start stop restart

el el el

son: derivados servicio) servicio) servicio)

(iniciar) (detener) (reiniciar)

(iniciar) (detener) (reiniciar)

Como vemos en distribuciones avanzadas el directorio de servicio es rc.d, mientras que en distribuciones orientadas a la facilidad de uso es init.d. En distribuciones avanzadas el servicio es httpd, mientras que en distribuciones

pรกg. 43


orientadas a facilidad de uso es apache2 (que él a su vez ejecuta a httpd) En Salckware los servicios van precedidos por rc. en este caso rc.httpd, mientras que en arch no tienen precedencia, en este caso solo httpd. Una vez instalado y ejecutado el servicio podemos ver si ha funcionado accesando a la dirección del servidor. Puede ser http://127.0.0.1, http:localhost, o tu ip de red, por ejemplo 192.168.1.101. Para # Y

conocer normalmente

tu

ip estará

de

red

a

la

escribe derecha

el

comando: ifconfig de inet addr.

Si todo sale bien, veremos una pantalla parecida a la siguiente:

Ahora ya podemos crear páginas HTML y poder visualizarlas como en un servidor (aún no tenemos soporte de PHP). La ruta para colocar los archivos se encuentra en /var/www, si vamos hasta ahí veremos un archivo que contiene el mensaje de éxito de "It works!".

pág. 44


Si intentaste crear un archivo y no te dejó es porque no has terminado de leer éste tutorial. /var/www es una carpeta de sistema y el usuario común no puede escribir en ella, por lo que tendremos que apropiarnos de la carpeta en cuestión. Para ello solo basta el siguiente comando: chown En

mi

-R /var/www caso

mi usuario

es angelos,

por

lo

que

para

mi

quedaría:

chown -R angelos /var/www

pág. 45


Ahora si, podemos crear un archivo y colocar una pรกgina de prueba. Puedes utilizar el siguiente cรณdigo o generar el tuyo.

pรกg. 46


Lo guardas con algún nombre, en mi caso lo llamé prueba.html y entonces ya puedes visualizarlo desde http://127.0.0.1/ En mi caso http://127.0.0.1/prueba.html

2.- Configurar la ruta de apache para que esté en un directorio particular. NOTA: si no quieres tener tus códigos en una carpeta alterna, dirígete al paso 3. Pero ¿qué pasa cuando ya estamos trabajando y tenemos nuestros códigos en /var/www y tenemos que reinstalar Linux? Se debe respaldar antes de instalar Linux de nuevo, y es un problema si no puedes arrancar tu sistema operativo o se te olvida. Sería una lástima perder nuestro trabajo. La mejor opción es tener una partición independiente donde tengamos nuestra información siempre a salvo durante las instalaciones, por lo que debemos hacer que apache apunte a nuestra carpeta y no a /var/www. Aquí difiere mucho en los tipos de distribuciones. En Arch y me parece recordar que en Slackware basta buscar DocumentRoot en el archivo de configuración /etc/http/apache.conf o http.conf

pág. 47


En Mint la ruta es diferente. Se encuentra en /etc/apache2/sites-available/default, por lo que lo abrimos con algún editor y veremos algo parecido a lo siguiente:

En mi caso nano /etc/apache2/sites-available/default

el

comando

fue:

Puedes usar pico, vi, no recomiendo usar aplicación gráfica como gnome, o kwrite pues no podrán escribir en un archivo de sistema. Si no encuentras el archivo de configuración en tu distribución de Linux, lo puedes encontrar con el siguiente comando (si se instaló apache en la carpeta apache2): # grep -R "/var/www" /etc/apache2 Si #

se

instaló grep

en -R

la carpeta "/var/www"

http: /etc/http

Cuando encuentres el archivo de configuración que contiene la entrada DocumentRoot, cambia todas las direcciones de "/var/www" a la carpeta donde quieres que se encuentren tus códigos. En mi caso la carpeta se llama "/Angelos/www" y se encuentra en otra partición,

pág. 48


por lo que cada vez que reinstalo Linux o pruebo otras distribuciones, los archivos se quedan intactos. Una vez que has hecho los cambios y has guardado el archivo, debes reiniciar el servicio (recuerda que un poco mas arriba estรกn los comandos para iniciar, reiniciar y detener los servicios:

Si no ocurriรณ un error entonces al entrar a http://127.0.0.1, debes ver el contenido de tu directorio.

pรกg. 49


Como mencioné antes, aún no tenemos el soporte de código PHP, por lo que si ya tienes un archivo de ese lenguaje y tratas de visualizarlo, el servidor le indicará a tu navegador que se descargue.

pág. 50


3.-

Instalar

el

soporte

para

PHP

Para que apache pueda procesar c贸digo PHP se debe instalar su soporte, se puede realizar con el siguiente comando: # apt-get install php5

Una vez terminado de instalar, se debe reiniciar el servidor apache

p谩g. 51


Ahora vamos a verificar que todo estรก bien, por lo que en el directorio donde tienes tus cรณdigos o en el que los vas a tener, crea un archivo y colรณcale el siguiente cรณdigo PHP: NOTA: Si no cambiaste la ruta de tus archivos en el punto 2, entonces el directorio en el que debes crear el archivo sigue siendo "/var/www".

pรกg. 52


Guárdalo con algún nombre (en mi caso lo llame info.php) y ya lo debes poder visualizar en el navegador indicando la ruta y el nombre del archivo. NOTA: para poder ejecutar código php, el archivo debe tener la extención php, si lo colocas como html no obtendrás resultado.

pág. 53


En mi caso lo guardé en una carpeta llamada tmp, así que para poder verlo tuve que colocar la dirección http:127.0.0.1/tpm/info.php

VENTAJAS Y DESVENTAJAS DE APACHE Altamente configurable - Para los que saben, casi cualquier cosa que se necesite hacer con un servidor web se puede hacer con apache. Estabilidad - Ha probado su estabilidad y funcionamiento en una inmensa cantidad de proyectos. Independencia de la plataforma - Está disponible en variedad de plataformas. Código abierto - Esto permite por ejemplo, producir binarios para plataformas en las que no hay un binario oficial o compilarlo para un mejor rendimiento en una plataforma específica. Complejidad - Puede resultar dificil de configurar incluso para tareas sencillas y por ello muchos novatos le escapan a su uso Formatos de configuración no estándar – esto dificulta un poco la automatización y el procesamiento de la configuración al no estar basada esta en formatos más soportados como el XML. Falta de integración - Al ser un producto multiplataforma, el servidor no aprovecha al máximo las posibilidades que ofrece el sistema operativo. Administración - Como la mayoría de los programas open-source, uno depende de configurar los archivos a mano o tener que instalarse herramientas adicionales para las tareas de administración. Apache viene en una suerte de Kit para armar SEGURIDAD Cuando un servidor apache recibe una petición de una página web, antes de devolver el resultado, lleva a cabo varias acciones para verificar que la petición esta autorizada. Las distintas acciones que lleva a cabo para verificar la validez de la aplicación, se pueden agrupar en tres tipos: Autentificación, Autorización y Control de Acceso. La autentificación es el proceso por el cual se verifica la identidad de una persona. De una forma simple, este proceso se puede llevar a cabo mediante un nombre de

pág. 54


usuario y una contraseña, pero se pueden llegar a utilizar otros métodos para validar la identidad de una persona, como mediante el uso de certificados, tarjetas etc… En apache la autentificación puede estar gestionada por distintos módulos, dependiendo de la forma de implementación. Si decide llevarla a cabo gestionando ficheros con listas de usuarios y contraseñas (encriptadas), deberá utilizar el módulo mod_auth. Sin embargo, si decide llevarla a cabo mediante base de datos, deberá utilizar los módulos mod_auth_dbm. La autorización es el proceso por el cual se verifica que un usuario con una identidad conocida, tiene acceso al recurso solicitado. Para llevar a cabo esta acción, se suelen utilizar listas de permisos en las cuales se enumeran cada una de las acciones que puede realizar un usuario, o las que no puede hacer. Normalmente, para simplificar la gestión de estos ficheros, los usuarios se suelen unir en grupos proporcionando los permisos al grupo. En apache la autorización a recursos es gestionada o bien mediante la directiva <directory> en el fichero principal de configuración, o bien mediante la configuración de la carpeta a través de ficheros .htaccess. El control de acceso es el proceso por el cual se verifica que la máquina desde la que se ha hecho la petición, tiene acceso al recurso. Los controles de acceso se utilizan para limitar y controlar las máquinas que tienen acceso a un recurso independientemente del usuario que accede, ya que estos controles se llevan a cabo antes de que se realice el proceso de autentificación. En apache, el control de acceso se puede llevar a cabo mediante las directivas <directory><files>y <location>, o a través del fichero de configuración .htaccess para controlar una carpeta especifica. En todo caso y para poder llevar a cabo la configuración de las tres características aquí enumeradas, autentificación, autorización y control de acceso, es necesario tener la directiva AllowOverride con el valor AuthConfig, para así permitir el uso de las distintas directivas de autentificación.

pág. 55


CUADRO COMPARATIVO ENTRE APACHE E IIS Apache

IIS

Corre sobre Windows y Linux.

Corre sobre Windows.

Permite utilizar PHP.

Permite utilizar PHP.

Permite correr aplicaciones web de .NET (.aspx o .asp) instalando el módulo Mono (no de Microsoft)

Permite correr aplicaciones web de .NET de forma nativa.

Utilizado por la gran mayoría de hostings comerciales bajo un sistema operativo Linux.

No tantos proveedores de hosting lo soportan por necesitar un sistema operativo Windows.

Es software libre.

Necesitas una licencia de Windows.

Difícil configurar.

Fácil configuración.

Permite configuraciones avanzadas.

Limitación avanzadas.

en

configuraciones

pág. 56


IIS Internet Information Services o IIS es un servidor web y un conjunto de servicios para el sistema operativo Microsoft Windows. Originalmente era parte del Option Packpara Windows NT. Luego fue integrado en otros sistemas operativos de Microsoftdestinados a ofrecer servicios, como Windows 2000 o Windows Server 2003. Windows XP Profesional incluye una versión limitada de IIS. Los servicios que ofrece son: FTP,SMTP, NNTP y HTTP/HTTPS. Antiguamente se denominaba PWS (Personal Web Server), y actualmente forma parte de la distribución estandar de Windows, de modo que no se necesita una licencia extra para instalarlo.2 Este servicio convierte a una PC en un servidor web para Internet o unaintranet, es decir que en las computadoras que tienen este servicio instalado se pueden publicar páginas web tanto local como remotamente. Los servicios de Internet Information Services proporcionan las herramientas y funciones necesarias para administrar de forma sencilla un servidor web seguro. El servidor web se basa en varios módulos que le dan capacidad para procesar distintos tipos de páginas. Por ejemplo, Microsoft incluye los de Active Server Pages (ASP) y ASP.NET. También pueden ser incluidos los de otros fabricantes, como PHP o Perl.

HISTORIA Evolución IIS fue inicialmente lanzado como un conjunto de servicios basados en Internet para Windows NT 3.51. IIS 2.0 siguió agregando soporte para el sistema operativo Windows NT 4.0 y IIS 3.0 introdujo las Active Server Pages, una tecnología de scripting dinámico. IIS 4.0 eliminó el soporte para el protocolo Gopher y fue puesto con Windows NT como un CD-ROM de "Paquete Opcional" separado. La versión de IIS 7.5 corresponde a Windows Server 2008, e IIS 5.1 a Windows XP Professional. La versión IIS 5.1, para Windows XP, es una versión compacta del IIS que soporta sólo 10 conexiones simultáneas y sólo un sitio web. IIS 6.0 ha agregado soporte paraIPv6. Windows Vista viene con IIS 7.0 preinstalado. No limitará el número de conexiones permitidas pero limitará el flujo de tareas basándose en las solicitudes activas concurrentes, mejorando el uso y el rendimiento en escenarios punto-a-punto (peer-to-peer).

pág. 57


Definición de Servidor IIS Los servicios de Internet Information Server (o IIS), son los servicios de software que admiten la creación, configuración y administración de sitios Web, además de otras funciones de Internet. Los servicios de Microsoft Internet Information Server incluyen el Protocolo de transferencia de noticias a través de la red (NNTP), el Protocolo de transferencia de archivos (FTP) y el Protocolo simple de transferencia de correo (SMTP). Los servicios de Internet Information Server 5.0 (IIS) es el servicio Web de Windows 2000 que facilita la publicación de información en una intranet o en Internet; IIS permite autenticación robusta y segura de los usuarios, así como comunicaciones seguras vía SSL; además podemos crear contenido dinámico utilizando los componentes y secuencias de comandos del servidor para crear contenido dinámico independiente del explorador mediante páginas Active Server (ASP). Además en nuestro servidor IIS, instalaremos también un servidor PHP y la base de datos MSQL, de modo que podamos ejecutar páginas dinámicas PHP, así como enlazar tanto desde ASP como desde PHP con dicho gestor de base de datos; además también veremos como construir espacios seguros con SSL, así como espacios privados, etc. Sin duda el servidor IIS será una pieza clave para gestionar la red de nuestro centro, pudiendo construir una Intranet con muchos de los servicios que habitualmente encontraremos en múltiples portales existentes en Internet. Debemos indicar que es MUY IMPORTANTE no instalar el servidor IIS en un equipo "Windows 2000 Server" que sea controlador de dominio (tal y como es nuestro caso), pues ello provocará un grave problema de seguridad, ya que los usuarios del dominio que no son administradores, podrían llegar a abrir una sesión local sobre el servidor Windows 2000, es decir, si tienen acceso físico al servidor Windows 2000 podrían iniciar sesión en dicha máquina, con el consiguiente problema de seguridad que ello supone. Obviamente en nuestro caso aprovecharemos el mismo equipo "Windows 2000 Server" para hacer la función de controlador de dominio y servidor IIS, pero debemos ser conscientes que no es lo recomendable.

pág. 58


CARACTERISTICAS Microsoft ha mejorado sustancialmente su software estrella en el campo delos servicios Web. Los avances vienen motivados sobre todo por la seguridad y el rendimiento, aunque todavía adolece de algunos agujeros de seguridad. Las características agregadas en seguridad se aprovechan de las últimas tecnologías de cifrado y métodos de autenticación mediante certificados de cliente y servidor. IIS tiene la forma de asegurar los datos es mediante SSL ( SecureSockets Layer ). Esto proporciona un método para transferir datos entre el cliente y el servidor de forma segura, permitiendo también que el servidor pueda comprobar al cliente antes de que inicie una sesión de usuario. La autenticación implícita que permite a los administradores autenticara los usuarios de forma segura a través de servidores de seguridad y proxy.

IIS también es capaz de impedir que aquellos usuarios con direcciones IP conocidas obtengan acceso no autorizado al servidor, permitiendo especificar la información apropiada en una lista de restricciones. En cuanto a la seguridad, IIS tiene integrado el protocolo Kerberos v5(como le ocurre al sistema operativo). El almacenamiento de certificados se integra ahora con el almacenamiento Crypto API de Windows. Se puede utilizar el administrador de certificados de Windows para hacer una copia de seguridad, guardar y configurar los certificados. Además, la administración de la seguridad del servidor IIS es una tarea fácilmente ejecutable a base de asistentes para la seguridad. Se pueden definir permisos de acceso en directorios virtuales e incluso en archivos, de forma que el asistente actualizará los permisos NTFS para reflejar los cambios. Si se trabaja con entidades emisoras de certificados, es posible gestionar la lista de certificados de confianza ( CTL, Certificate Trust List ) con el asistente para CTL.

pág. 59


VERSIONES          

IIS 1.0, Windows NT 3.51 Service Pack 3 IIS 2.0, Windows NT 4.0 IIS 3.0, Windows NT 4.0 Service Pack 3 IIS 4.0, Windows NT 4.0 Option Pack IIS 5.0, Windows 2000 IIS 5.1, Windows XP Professional IIS 6.0, Windows Server 2003 y Windows XP Profesional x64 Edition IIS 7.0, Windows Vista (Solo Business y Ultimate) y Windows Server 2008 IIS 7.5, Windows 7 y Windows Server 2008 R2 IIS 8, Windows 8 y Windows Server 2012

INSTALACION EN WINDOWS XP Internet Information Server (IIS) es el servidor de páginas web avanzado de la plataforma Windows. Se distribuye gratuitamente junto con las versiones de Windows basadas en NT, como pueden ser Windows 2000 Profesional o Windows 2000 Server, así como Windows XP, también en sus versiones Profesional y Server. Estas normas de instalación son aplicables, a nivel general, a las que podemos encontrarnos en las distintas versiones de los sistemas operativos comentados antes, si bien hemos tomado Windows XP profesional para relatar los pasos y tomar las imágenes de las pantallas. Nota: Windows 95, 98, las versiones Home, de Windows XP, y ME, de Windows 2000, no se admite la instalación de IIS. En su lugar podemos probar a instalar el Personal Web Server, que se explica en el artículo Instalación de Personal Web Server.

Agregar

componentes

adicionales

de

Windows

IIS se puede encontrar en el propio CD de instalación de Windows XP Profesional. Hay que acceder a la opción de "Instalar componentes opcionales de Windows" para poder cargarlo en nuestro sistema. Para ello tenemos dos opciones: 1) Insertar el CD de instalación de Windows y en la ventana de autoarranque que se muestra, seleccionar la opción que pone "Instalar componentes opcionales de

pág. 60


Windows"

2) En el Panel de control, seleccionar la opci贸n de "Agregar o quitar programas" y en la ventana que sale, pulsar sobre el icono de la izquierda marcado como "Seleccionar o quitar componentes de Windows".

p谩g. 61


Ahora nos muestra la ventana para seleccionar los componentes adicionales de Windows que hay disponibles. En la lista, marcamos la opción "Servicios de Internet Information Server (IIS)". Por defecto se seleccionan unos cuantos componentes, dentro de los que ofrece la instalación de IIS. Nosotros podemos elegir qué componentes deseamos instalar apretando el botón marcado como "Detalles". Entre los componentes posibles se encuentran las extensiones de Frontpage, documentación, servicios adicionales de IIS, un servidor de FTP (para la transferencia de ficheros con el servidor por FTP), incluso uno de SMTP (para el envío de correos electrónicos). Si no sabemos qué componentes instalar podemos dejar las opciones como aparecen en un principio, pues para la mayoría de los casos serán válidas. Sólo un detalle: puede ser adecuado no instalar las extensiones de Frontpage en caso de que no pensemos que se vayan a utilizar.

Una vez hemos instalado los componentes deseados, podemos y apretar el botón de "Siguiente" para comenzar la instalación, que se alargará unos minutos. Acceder

al

servidor

web

pág. 62


Podemos acceder al servidor web para comprobar si se ha instalado correctamente IIS. Para ello simplemente debemos escribir http://localhost en Internet Explorer y debería aparecer una página web informando que IIS está correctamente instalado. Además, aparecerá la documentación de IIS en una ventana emergente, si es que fue instalada.

ADMINISTRACION Para administrar el servidor Internet Information Server en Windows XP, disponemos de un panel de control llamado "Servicios de Internet Information Server" al que podemos acceder de varias maneras. 1) Pulsando con el botón derecho en MI PC y seleccionando la opción que pone "Administrar". Esto nos abre "Microsoft Management Console" o, dicho en castellano, la "Administración de equipos". En la lista de la izquierda, en la parte de abajo aparece "Servicios y aplicaciones", entre los que encontraremos una opción buscada: "Servicios de Internet Information Server" 2) Podemos acceder desde el panel de control. Si tenemos configurada la vista clásica encontraremos un icono que pone "Herramientas administrativas" y haciendo doble clic, encontraremos el icono para administrar IIS. Si teníamos configurada la vista por categorías del panel de control (la que aparece por defecto en Windows XP) la búsqueda de la opción es un poco más compleja: Seleccionamos "Rendimiento y mantenimiento" y dentro ya encontraremos el icono de "Herramientas administrativas", al que teníamos que hacer doble clic

pág. 63


para encontrar, entre otros, el icono para acceder a "Servicios de Internet Information Server". 3) Otra manera de acceder aparece en la ayuda de Internet Information Server. Se trata de hacer una búsqueda del archivo llamado "inetmgr.exe". Una vez localizado se puede ejecutar y aparece la consola de administración de IIS. Si se desea, se puede hacer un acceso directo a dicho archivo para no tener que buscarlo cada vez que se desee ejecutar. Una vez hemos accedido al panel "Servicios de Internet Information Server" tenemos ante nosotros la posibilidad de configurar nuestro servidor web en muchos aspectos, por ejemplo podemos, definir el documento por defecto, crear directorios virtuales, modificar las opciones de seguridad, etc.

CONFIGURACION Antes de poder transmitir las aplicaciones virtuales a Application Virtualization Desktop Client y Client for Remote Desktop Services (previamente Terminal Services), es necesario configurar los servidores IIS. Al configurar los servidores, configura el directorio de contenido en donde se cargan y almacenan los archivos SFT. Los archivos SFT contienen la aplicación (o las aplicaciones) virtual. Para configurar el directorio de contenido en el servidor IIS 1. En el servidor que ejecuta IIS, busque el directorio que desea utilizar como directorio de contenido o cree el directorio si no existe. Configure este directorio como un recurso compartido de archivos estándar.

pág. 64


2. En el servidor que ejecuta IIS, abra Administrador de IIS y, en el sitio web predeterminado, cree un directorio virtual que se corresponda con el directorio de contenido que creó en el servidor. Asegúrese de que la opción Lectura está activada. 3. Asigne el alias Content al directorio virtual recién creado. 4. Acepte todas las demás opciones de configuración predeterminadas para este directorio virtual. 5. Configure los permisos del sistema de archivos NTFS en el directorio de contenido y las carpetas de paquetes del directorio de contenido mediante los grupos de seguridad de los Servicios de dominio de Active Directory que definió previamente. Configurar el IIS(Internet Information Server) en Windows 2003 Server, yo tomaré en cuenta de que ya tienen el IIS instalada así que me saltaré esos pasos. Antes que nada lo primero que tenemos que hacer es actualizar el Windows 2003 Server con la herramienta de Windows Update. Ya que el Windows 2003 Server actualizado esta listo para configurar el IIS. Como primer paso tenemos que entrar al panel de control y damos doble Click en Herramientas Administrativas para abrir la siguienteventana. Ya una vez que estamos en la ventana de HerramientasAdminis trativas seleccionamos y damos doble click en el Icono de Administrador de Internet Information Server (IIS)

pág. 65


VENTAJAS Y DESVENTAJAS Ventajas y desventajas de los servidores Apache y IIS Ventajas: Ventajas: Servidor apache Servidor IIS Servidor apache Servidor IIS Es altamente configurable Se desarrolla dentro del proyecto HTT Tiene amplia aceptación en la red Posee licencia freeware gracias a su amplio nivel de capacitación, su costo y su compatibilidad con los sistemas operativos Posee código abierto y es fácil de conseguir ayuda/soporte (es popular)Es confiable, seguro y administrable en internet .proporcionan capacidades de servidor Web integrado Al momento de la instalación permite elegir sobre que servidor web va a correr (Apache o IIS)Desarrolla y es Compatible con las aplicaciones beneficiándose con un único entorno de alojamiento de aplicaciones integrado con compatibilidad total. Ventajas y desventajas de los servidores Apache y IIS Desventajas Servidor apache Servidor IIS Esta incluye Formatos de configuración no estándar No cuenta con una buena administración Falta de integración Tiende a limitarse en

pág. 66


las versiones que no son de la familia “Server” Posee vulnerabilidades Este servidor no es multiplataforma, sólo funciona bajo Windows. Servidor apache Servidor IIS proporcionan capacidades de servidor Web integrado Es confiable, seguro y administrable en internet. Desarrolla y es Compatible con las aplicaciones beneficiándose con un único entorno de alojamiento de aplicaciones integrado con compatibilidad total. Al momento de la instalación permite elegir sobre que servidor web va a correr (Apache o IIS)desarrollada por Microsoft Se desarrolla dentro del proyecto HTTP Es altamente configurable Tiene amplia aceptación en la red Es modular Posee código abierto Multi-plataforma Es extensible Es fácil de conseguir ayuda/soporte (es popular)Al momento de la instalación permite elegir sobre que servidor web va a correr (Apache o IIS)Posee licencia freeware gracias a su amplio nivel de capacitación, su costo y su compatibilidad con los sistemas operativos Servidor apache Servidor IIS Falta de integración Posee Formatos de configuración no estánda rNo posee buena administración Este servidor no es multiplataforma, sólo funciona bajo Windows Posee limitaciones en las versiones que no son de la familia “Server ”Posee vulnerabilidades TABLA COMPARATIVA ENTRE APACHE E IIS Apache

IIS

Corre sobre Windows y Linux.

Corre sobre Windows.

Permite utilizar PHP.

Permite utilizar PHP.

Permite correr aplicaciones web de .NET (.aspx o .asp) instalando el módulo Mono (no de Microsoft)

Permite correr aplicaciones web de .NET de forma nativa.

Utilizado por la gran mayoría de hostings comerciales bajo un sistema operativo Linux.

No tantos proveedores de hosting lo soportan por necesitar un sistema operativo Windows.

Es software libre.

Necesitas una licencia de Windows.

Difícil configurar.

Fácil configuración.

pág. 67


Apache

IIS

Permite configuraciones avanzadas.

Limitación avanzadas.

en

configuraciones

Instrucciones más usadas para la administración, gestión y actualización de portales web atreves de apache con su sintaxis. Función y aplicación Obtener los archivos a actualizar El primer paso sería disponer de los archivos de nuestro ordenador de trabajo. Generalmente tendremos que editar un texto o una fotografía, así que este primer paso será obtener los ficheros con el código de la página, con extensión .html o la página web que queremos actualizar en las fotografías, que serán archivos en formato GIF (.gif) o JPG (.jpg). Referencia: Hablamos más sobre los archivos HTML y los JPG o GIF en los artículos: Puede ocurrir que la página la hayamos programado nosotros u otra persona. En el primer caso posiblemente ya tengamos esos archivos en nuestro ordenador, en caso contrario, o si era otra persona la que había desarrollado el sitio a actualizar, deberemos conectarnos por FTP al servidor web para obtener los archivos. Para conectarse por FTP al servidor de la página necesitaremos la dirección de dicho servidor, algo como ftp.tudominio.com. Además necesitaremos los datos de usuario y contraseña con permiso para acceder al FTP. Estos datos los debemos obtener, si es que no los tenemos ya, pidiéndoselos al proveedor del espacio o a la persona que lo ha contratado. Para conectarse al servidor deberemos configurar un programa FTP con esos datos. Algunas posibilidades de programas FTP son Cute FTP, ACE FTP o FTP Voyager. Referencia: Se habla más sobre el acceso al FTP en el artículo Subir los archivos al servidor. Una vez dentro del FTP debemos descargar los archivos a nuestro ordenador local y para ello nuestro programa de FTP presentará dos áreas, una con los archivos de nuestro ordenador local y otra con los del servidor remoto. Arrastrando los archvos del servidor remoto a el área del servidor local podremos realizar la

pág. 68


transferencia de los archivos. Lo más adecuado es que descarguemos los archivos en un directorio en nuestro ordenador creado a propósito para contener las páginas a actualizar. Editar las páginas Una vez disponemos de los archivos que deseamos editar en nuestro ordenador podemos empezar el trabajo de actualización propiamente dicho. Para trabajar será importante disponer de algunos conocimientos en la edición de páginas web o en el diseño gráfico. Si deseamos actualizar un texto de la página deberemos editar los ficheros HTML y para ello nos bastará con utilizar un programa de edición de textos simple como el Bloc de Notas. De todos modos, existen numerosos programas de edición HTML que nos simplificarían mucho el trabajo, con posibilidad de editar el código y el texto de las páginas directamente o con la ayuda del diseño WYSIWYG. Referencia: Hablamos más de editores HTML y los distintos tipos en el artículo Editores HTML. Si deseamos actualizar un gráfico, deberemos disponer de una herramienta de edición gráfica, entre las que podemos destacar Photoshop o Paint Shop Pro. El proceso, ya sea tanto para editar un gráfico como un texto, será el mismo. Básicamente abriremos el archivo donde se encuentra la información a editar, lo actualizaremos y guardaremos los cambios. Subir los archivos otra vez al servidor Para que las actualizaciones tengan validez y sean visibles por todos los visitantes de nuestras páginas, hay que colocar los archivos que hemos editado en el servidor. Para eso basta con conectarse de nuevo al servidor por FTP y subir los archivos, realizando un proceso similar al realizado al descargar los ficheros, pero en dirección contraria, es decir, arrastrando esta vez los ficheros desde nuestro ordenador local hasta el servidor remoto. Será suficiente con subir los archivos que hemos actualizado. Los que no hayamos tocado son, en teoría, iguales que los del servidor, por lo que será indiferente que los volvamos a colocar, porque no estaríamos alterando nada. Comprobar las actualizaciones

pág. 69


Ya está el trabajo realizado, así que sólo faltaría acceder a nuestra página web con nuestro navegador en su dirección de la web y comprobar que los cambios se han realizado satisfactoriamente. Nota: Si no vemos los cambios realizados en la página posiblemente sea porque estaremos recibiendo los datos desde la caché de nuestro navegador. Para saltarnos esta caché y solicitar los archivos directamente al servidor podemos utilizar la tecla Control (CTRL). Con la tecla apretada, pulsamos sobre el enlace de la página que deseamos que se obtenga desde el servidor sin pasar por la caché. También podemos actualizar la página, evitando la caché, con la tecla CTRL apretada y pulsando el botón de la barra de herramientas de nuestro navegador o con la tecla rápida correspondiente (F5 en Internet Explorer). En último caso, si sigue sin actualizarse el contenido de la página, podemos cerrar todas las ventanas del navegador y volverlo a abrir y acceder a esa página, en esos casos muchas veces el navegador solicita todos los archivos nuevos que se han actualizado, en vez de mostrarlos desde la caché. INSTRUCTIVO PARA LA ACTUALIZACION DE PAGINAS WEB 1.- INSTALACION DEL PROGRAMA FTP

Este programa tiene un “puente” entre su computador y la el servidor, a través del cual pasaran los archivos que Usted haya actualizado. Para instalar el programa vaya a Inicio, luego ejecutar y en examinar elija el diskette. Desde allí seleccione ws_ftple.exe Instalación Seleccione la opción para instalar WS_FTP y presione el botón Continúe

pág. 70


Seleccione el tipo de usuario y el lugar de uso para esta versión de WS_FTP

Después de leer y aceptar los términos de la licencia seleccione la ubicación en el disco de los archivos de WS_FTP (C:\kit\WS_FTP por ejemplo)

pág. 71


Seleccione el directorio donde quedarรกn los archivos que usted desee bajar de la red cuando realice una conexiรณn FTP.

pรกg. 72


Los servidores FTP que aceptan conexiones para cualquier usuario (Conexiones anónimas) requieren de su dirección electrónica para ser aceptados. Coloque su dirección como lo indica la figura.

Coloque el nombre para el grupo de programas dentro del menú de inicio.

Con esto queda instalado en su computador el programa WS FTP.

2.- USANDO EL PROGRAMA

Una vez hayan sido terminadas las modificaciones a las paginas web, el primer paso es conectarse a su proveedor de acceso a internet de la forma tradicional. A continuación ejecute el programa WS-FTP, el cual tiene la siguiente apariencia:

pág. 73


Oprima NEW para personalizar su conexión. En PROFILE NAME asígnele un nombre a su personalización, y llene las casillas "Host Name", "User ID" y "Password" suministrados por el administrador de Red.

Oprima el botón APLICAR para guardar esta personalización. A continuación oprima aceptar, con lo que quedara “tendido el puente” entre el servidor y su computador. La apariencia del programa es la siguiente:

pág. 74


En la parte izquierda usted encontrará la estructura de su disco duro y en la derecha la del servidor. En la parte superior, encontrara una flecha verde y dos puntos. Picando sobre ellos podrá ubicar en su computador los archivos que va a actualizar.

En la parte derecha de la ventana haga doble click sobre la carpeta de publicación, donde encontrara los archivos que arman su pagina web.

Para actualizar una pagina en el servidor, márquela en su disco duro (parte izquierda de la pantalla) y a continuación oprima la flecha que indica de izquierda a derecha. Si por el contrario desea traer una pagina del servidor a su computador, oprima la flecha que va de derecha a izquierda.

ES IMPORTANTE ACLARAR QUE A PARTIR DEL MOMENTO EN QUE USTEDES ASUMEN LA ACTUALIZACION DEL SITIO, SON TOTALMENTE RESPONSABLES DE LOS CONTENIDOS, DISEÑO, ESTRUCTURA Y NAVEGABILIDAD DEL MISMO. LA RESPONSABILIDAD DEL SERVIDOR SE

pág. 75


LIMITA A MANTENER HABILITADO ESTE "PUENTE" PARA QUE USTEDES HAGAN LAS ACTUALIZACIONES.

Después de leer y aceptar los términos de la licencia seleccione la ubicación en el disco de los archivos de WS_FTP (C:\kit\WS_FTP por ejemplo)

Seleccione el directorio donde quedarán los archivos que usted desee bajar de la red cuando realice una conexión FTP.

pág. 76


Los servidores FTP que aceptan conexiones para cualquier usuario (Conexiones anónimas) requieren de su dirección electrónica para ser aceptados. Coloque su dirección como lo indica la figura. Coloque el nombre para el grupo de programas dentro del menú de inicio.

pág. 77


Con esto queda instalado en su computador el programa WS FTP.

2.- USANDO EL PROGRAMA Una vez hayan sido terminadas las modificaciones a las páginas web, el primer paso es conectarse a su proveedor de acceso a internet de la forma tradicional. A continuación ejecute el programa WS-FTP, el cual tiene la siguiente apariencia:

Oprima NEW para personalizar su conexión. En PROFILE NAME asígnele un nombre a su personalización, y llene las casillas "Host Name", "User ID" y "Password" suministrados por el administrador de Red.

Oprima el botón APLICAR para guardar esta personalización. A continuación oprima aceptar, con lo que quedara “tendido el puente” entre el servidor y su computador. Ventajas y Desventajas Cada una de las posibilidades tiene ventajas y desventajas desde el punto de vista del cliente. En el caso del mantenimiento manual realizado por Serviweb el

pág. 78


cliente se despreocupa de las labores de actualización de la web. Así mismo generalmente es menos costoso en términos económicos a corto plazo que la posibilidad del mantenimiento automático. Si la posibilidad elegida es el mantenimiento automático, el cliente no dependerá de Servidor web Networks para realizar sus actualizaciones, ya que podrá acceder a la aplicación y añadir, modificar ó eliminar lo que necesite sin tener conocimientos técnicos más que a nivel de usuario. La desventaja de este método con respecto al mantenimiento manual es que aumenta (en términos generales) el coste a corto plazo, ya que la web habrá de sustentarse estructurando una base de datos que almacene los contenidos del sitio web. 1.3.27: Un problema en la gestión de la memoria compartida permite que cualquier usuario *LOCAL* en la máquina, que pueda ejecutar código con el UID de Apache (típicamente "nobody"), pueda enviar cualquier señal UNIX a cualquier proceso del sistema, como "root". También puede provocar un DoS (Ataque de Denegación de Servicio) sobre la máquina local, en particular el propio proceso Apache. Esta vulnerabilidad solo es explotable para usuarios locales. Apache permite explotar vulnerabilidades CSS (Cross Site Scripting) en la página web por defecto cuando se muestra un error 404 (página inexistente), en dominios que admitan comodines en el DNS. Varios desbordamientos de búfer en el código de "ab.c", herramienta incluida en el sistema para realizar pruebas de carga de un servidor web. Las vulnerabilidades son explotables cuando se utiliza "ab" contra un servidor web malicioso. 2.0.43: 

Apache permite explotar vulnerabilidades CSS (Cross Site Scripting) en la página web por defecto cuando se muestra un error 404 (página inexistente), en dominios que admitan máscaras en el DNS.

Apache puede devolver el código fuente de un script cuando un cliente hace un "POST" y tenemos activado DAV para el recurso en cuestión.

La recomendación es actualizar Apache a la versión 1.3.27 o 2.0.43.

SOFTWARE PARA SERVIDORES WEB

pág. 79


Cherokee es un servidor web multiplataforma. Su objetivo es ser rápido y completamente funcional, sin dejar de ser liviano comparado con otros servidores web.3Está escrito completamente en C. Puede usarse como un sistema embebido y soporta complementos para aumentar sus funcionalidades. Es software libre, disponible bajo la Licencia Pública General de GNU. Cherokee se inició en 2001 de la mano de Álvaro López Ortega. La motivación fue construir un servidor web nuevo, algo más nuevo que el servidor NCSA HTTPd y no tan grande y pesado como el servidor HTTP Apache, ambos con más de 15 años de edad. Actualmente es desarrollado y mantenido por una comunidad abierta de desarrolladores. Características       

Soporta tecnologías como: FastCGI, SCGI, PHP, CGI, SSI, SSL/TLS. Soporta la configuración de servidores virtuales. Permite la realización de redirecciones. Permite su utilización como balanceador de carga. Dispone de un panel de administración desde la web. Dispone del primer market de instalación de aplicaciones web. Soporta los métodos de registro: 

NCSA

W3C

Combinado Soporta los métodos de autenticación: 

plain

htpasswd

htdigest

 PAM Apache Tomcat (también llamado Jakarta Tomcat o simplemente Tomcat) funciona como un contenedor de servlets desarrollado bajo el proyecto Jakarta en la Apache Software Foundation. Tomcat implementa las especificaciones de los servlets y deJavaServer Pages (JSP) de Sun Microsystems.

pág. 80


Estado de su desarrollo Tomcat es mantenido y desarrollado por miembros de la Apache Software Foundation y voluntarios independientes. Los usuarios disponen de libre acceso a su código fuente y a su forma binaria en los términos establecidos en la Apache Software License. Las primeras distribuciones de Tomcat fueron las versiones 3.0.x. Las versiones más recientes son las 7.x, que implementan las especificaciones de Servlet 3.0 y de JSP 2.2. A partir de la versión 4.0, Jakarta Tomcat utiliza el contenedor de servlets Catalina. Tomcat es un servidor web con soporte de servlets y JSPs. Tomcat no es un servidor de aplicaciones, como JBoss o JOnAS. Incluye el compilador Jasper, que compila JSPs convirtiéndolas en servlets. El motor de servlets de Tomcat a menudo se presenta en combinación con el servidor web Apache. Tomcat puede funcionar como servidor web por sí mismo. En sus inicios existió la percepción de que el uso de Tomcat de forma autónoma era sólo recomendable para entornos de desarrollo y entornos con requisitos mínimos de velocidad y gestión de transacciones. Hoy en día ya no existe esa percepción y Tomcat es usado como servidor web autónomo en entornos con alto nivel de tráfico y alta disponibilidad. Dado que Tomcat fue escrito en Java, funciona en cualquier sistema operativo que disponga de la máquina virtual Java. La jerarquía de directorios de instalación de Tomcat incluye: 

bin - arranque, cierre, y otros scripts y ejecutables  common - clases comunes que pueden utilizar Catalina y las aplicaciones web  conf - ficheros XML y los correspondientes DTD para la configuración de Tomcat  logs - logs de Catalina y de las aplicaciones  server - clases utilizadas solamente por Catalina  shared - clases compartidas por todas las aplicaciones web  webapps - directorio que contiene las aplicaciones web  work - almacenamiento temporal de ficheros y directorios Características del producto [editar] Tomcat 3.x (distribución inicial) 

Implementado a partir de las especificaciones Servlet 2.2 y JSP 1.1

Recarga de servlets

pág. 81


Funciones básicas HTTP

Tomcat 4.x 

Implementado a partir de las especificaciones Servlet 2.3 y JSP 1.2

Contenedor de servlets rediseñado como Catalina

Motor JSP rediseñado con Jasper

Conector Coyote

Java Management Extensions (JMX), JSP Y administración basada en Struts

Tomcat 5.x 

Implementado a partir de las especificaciones Servlet 2.4 y JSP 2.0

Recolección de basura reducida

Capa envolvente nativa para Windows y Unix para la integración de las plataformas

Análisis rápido JSP

Tomcat 6.x 

Implementado de Servlet 2.5 y JSP 2.1

Soporte para Unified Expression Language 2.1

Diseñado para funcionar en Java SE 5.0 y posteriores

Soporte para Comet a través de la interfaz CometProcessor

Tomcat 7.x 

Implementado de Servlet 3.0 JSP 2.2 y EL 2.2

Mejoras para detectar y prevenir "fugas de memoria" en las aplicaciones web

Limpieza interna de código

Soporte para la inclusión de contenidos externos directamente en una aplicación web

pág. 82


Tomcat empezó siendo una implementación de la especificación de los servlets comenzada por James Duncan Davidson, que trabajaba como arquitecto de software en Sun Microsystems y que posteriormente ayudó a hacer al proyecto de código abierto y en su donación a la Apache Software Foundation. Duncan Davidson inicialmente esperaba que el proyecto se convirtiese en software de código abierto y dado que la mayoría de los proyectos de este tipo tienen libros de O'Reilly asociados con un animal en la portada, quiso ponerle al proyecto nombre de animal. Eligió Tomcat (gato), pretendiendo representar la capacidad de cuidarse por sí mismo, de ser independiente. lighttpd (pronunciado lighty) es un servidor web diseñado para ser rápido, seguro, flexible, y fiel a los estándares. Está optimizado para entornos donde la velocidad es muy importante, y por eso consume menos CPU y memoria RAM que otros servidores. Por todo lo que ofrece,lighttpd es apropiado para cualquier servidor que tenga problemas de carga. lighttpd es software libre y se distribuye bajo la licencia BSD. Funciona en GNU/Linux yUNIX de forma oficial. Para Microsoft Windows actualmente hay una distribución conocida como Lighttpd For Windows mantenida por Kevin Worthington. Características [editar] 

Virtual hosting (alojar varios dominios en la misma IP)

CGI, SCGI y FastCGI

Soporte para PHP, Ruby, Python y otros

Entorno chroot

Cifrado SSL

Compresión (gzip, bzip2, ...)

Autenticación (LDAP, htpasswd, otros)

Server Side Includes

Consumo de memoria constante

Redirecciones HTTP, y reescrituras de URL

Puede enviar partes de un fichero (rangos)

pág. 83


Puede usar select() o poll()

También permite otros eventos como kqueue y epoll

Hace estadísticas mediante RRDtool

Muestra un listado de ficheros cuando se entra a un directorio sin index.html

Redirección condicional

Permite módulos externos

Cache Meta Language

Acepta parte de WebDAV

sistema

de notificación

de

Lenguajes de servidor lighttpd permite comunicarse con programas externos mediante FastCGI o SCGI, que son mejoras al CGI original (también soportado). De esta forma, se pueden usar programas en prácticamente cualquier lenguaje de programación. Tiene una importancia especial PHP, para el que se han hecho mejoras específicas. También es habitual combinarlo con Ruby on Rails.

thttpd (tiny/turbo/throttling HTTP server) es un servidor web de código libre disponible para la mayoría de las variantes de Unix. Se caracteriza por ser simple, pequeño, portátil, rápido, y seguro, ya que utiliza los requerimientos mínimos de un servidor HTTP. Esto lo hace ideal para servir grandes volúmenes de información estática. Historia [editar] HTTP, el protocolo de transferencia de hipertexto (Hyper Text Transfer Protocol) es el protocolo usado en cada transacción del Web (WWW). El hipertexto es el contenido de las páginas Web, y el protocolo de transferencia es el sistema mediante el cual se envían las peticiones de acceder a una página Web, y la respuesta de esa Web, remitiendo la información que se verá en pantalla. También sirve el protocolo para enviar información adicional en ambos sentidos, como formularios con mensajes y otros similares. Este es generado por la necesidad de obtener un software para servidores con un tráfico bajo y medio, ya que no son requeridas las aplicaciones utilizadas en altos niveles, lo que generan una baja tasa de transferencia Características

pág. 84


Simple, por que esto maneja sólo el mínimo necesario para poner en práctica el protocolo HTTP, algunas veces un poco más que el mínimo. Pequeño, por que esto también tiene un pequeño tamaño de período de explotación, ya que esto no se divide en dos partes y es muy cuidadoso sobre la asignación de memoria. Portátil, por que esto se compila limpiamente sobre la mayoría de sistemas operativos, expresamente incluyendo FreeBSD, SunOS 4, Solaris 2, BSD/OS, GNU/Linux, OSF. Rápido, por que en el empleo típico es sobre todo más rápido que los mejores servidores "destacados" (Apache), y bajo la carga extrema es mucho más rápido. Seguro, por que este se extiende a grandes longitudes para proteger el servidor Web contra ataques de otros sitios. Usos El uso apropiado para las personas que adoptan esta herramienta es de obtener velocidad en la transferencia de archivos y reducción de gastos innecesarios para funciones que no son requeridas en el servidor, debido a tener solo la posibilidad de utilizar servidores estándar (Apache). Este rasgo importante permite al administrador de servidor limitar la tarifa de bit máxima en la cual los ciertos tipos de archivos pueden ser transferidos, generando, una aplicación mucho más ligera y rápida. Ventajas El administrador puede decidir restringir la transferencia de archivos de imagen JPEG a en la mayor parte de 20 kilobytes por segundo. Esto impide a la conexión hacerse saturado de modo que el servidor todavía sea sensible bajo la carga pesada, con la compensación que reducen la velocidad de transferencia de archivo. Los promedios de carga se caen debido a la reducción de la transferencia gráfica gracias a thttpd. Desventajas No posee las mismas aplicaciones que se pueden obtener de un software estándar como lo es el Apache.

pág. 85


CONCLUSIONES

Un servidor es un ordenador de gran capacidad que atiende las peticiones de cientos o miles de ordenadores a los que envía información u ofrece un servicio. El mundo de los servidores es muy complejo. No te preocupes si algunos términos no te resultan del todo claros pues hay profesionales que llevan muchos años trabajando con servidores y realmente es difícil conocer la gran variedad de tipos y nomenclatura que se utiliza para referirse a todos ellos. Bibliografía http://www.misrespuestas.com/que-es http://www.rzw.com.ar/seguridad-informatica-4747.html#ixzz2EDXcrlaT

-un-servidor-web.html http://www.aprenderaprogramar.com/index.php?option=com_content&view=article &id=542:que-es-un-servidor-y-cuales-son-los-principales-tipos-de-servidoresproxydns-webftpsmtp&catid=57:herramientas-informaticas&Itemid=179 http://www.uca.edu.sv/investigacion/bdweb/cuadro.html

pág. 86

Unidad 5 apache  

que es apache

Read more
Read more
Similar to
Popular now
Just for you