SERVIDOR APACHE-IIS
SISTEMAS WEB
UNIDAD 5
APACHE
INDICE OBJETIVO GENERAL ..................................................................................................................... 4 OBJETIVO ESPECIFICO ................................................................................................................ 4 INTRODUCION................................................................................................................................. 5 1.- Servidor. ....................................................................................................................................... 7 Definición: ...................................................................................................................................... 7 Características: ............................................................................................................................. 7 Especificaciones: .......................................................................................................................... 8 Tendencias: ................................................................................................................................... 8 Compatibilidad con S.O:........................................................................................................... 10 Clasificación: ............................................................................................................................... 11 2.- Apache. ...................................................................................................................................... 13 Historia: ........................................................................................................................................ 13 Definición: .................................................................................................................................... 14 Características: ........................................................................................................................... 14 Versiones: .................................................................................................................................... 15 Compatibilidad: ........................................................................................................................... 16 Instalación y Configuración del Servidor Apache en Windows: .......................................... 17 Instalación y Configuración del Servidor Apache en Ubuntu: ............................................. 18 Ventajas: ...................................................................................................................................... 20 Desventajas:................................................................................................................................ 21 Seguridad: ................................................................................................................................... 21 3.- INTERNET INFORMATION SERVER (I.I.S)........................................................................ 22 Historia: ........................................................................................................................................ 22 Definición: .................................................................................................................................... 22 Características: ........................................................................................................................... 23 Versiones: .................................................................................................................................... 23 Compatibilidad con S.O: ............................................................................................................ 23 Instalación, Configuración y Administración: ......................................................................... 24 Ventajas: ...................................................................................................................................... 27 Desventajas:................................................................................................................................ 28
MONTAUT OROPEZA DIEGO
1
SISTEMAS WEB
UNIDAD 5
APACHE
Cuadro Comparativo de I.I.S y Apache: ................................................................................. 28 4.- Instrucciones más usadas para la administración, gestión y actualización de portales web a través de Apache. ............................................................................................................... 30 Ficheros de configuración.# ...................................................................................................... 34 Descripción de parámetros. .................................................................................................. 35 Configuración de VirtualHost ................................................................................................ 36 Usuario Encargado del Deposito. ........................................................................................ 38 Logs del Sitio. .......................................................................................................................... 39 Fichero hosts. .......................................................................................................................... 39 Habilitando VirtualHost. ......................................................................................................... 40 Desactivando VirtualHost. ..................................................................................................... 40 Habilitar htaccess.# .................................................................................................................... 41 Ejemplo de htaccess. ............................................................................................................. 41 Módulos Activados. ................................................................................................................ 42 Herramienta apache2ctl.# ......................................................................................................... 43 5.- Software para Servidores Web............................................................................................... 49 CHEROKEE ..................................................................................................................................... 49 TOMCAT ........................................................................................................................................ 57 LIGHTTPD....................................................................................................................................... 64 CONCLUSION. .................................................................................................................................... 66 FUENTES DE INFORMACION.............................................................................................................. 67
MONTAUT OROPEZA DIEGO
2
SISTEMAS WEB
UNIDAD 5
APACHE
INDICE DE FIGURAS Fig. 3.1 IIS .......................................................................................................................................... 24 Fig. 3.2 IIS .......................................................................................................................................... 25 Fig. 3.3 IIS .......................................................................................................................................... 25 Fig. 3.4 IIS .......................................................................................................................................... 26 Fig. 3.5 IIS .......................................................................................................................................... 27 Fig. 3.1 CUADRO COMPARACION APACHE-IIS................................................................................... 29 Fig. 4.1 PRUEBA ................................................................................................................................. 45 Fig. 4.2 CONFIGURACION APACHE .................................................................................................... 46 Fig. 4.3 CONFIGURACION 2 APACHE ................................................................................................. 47 Fig. 4.4 COFIGURACION 3 APACHE .................................................................................................... 48 Fig. 5.1 CONFIGURACION CHEROKEE ................................................................................................ 50 Fig. 5.2 CONFIGURACION CHEROKEE ................................................................................................ 50 Fig. 5.3 CONFIGURACION CHEROKEE ................................................................................................ 51 Fig. 5.4 CONFIGURACION CHEROKEE ................................................................................................ 51 Fig. 5.5 CONFIGURACION CHEROKEE ................................................................................................ 52 Fig. 5.6 CONFIGURACION CHEROKEE ................................................................................................ 52 Fig. 5.7 CONFIGURACION CHEROKEE ................................................................................................ 53 Fig. 5.8 CONFIGURACION CHEROKEE ................................................................................................ 53 Fig. 5.9 CONFIGURACION CHEROKEE ................................................................................................ 54 Fig. 5.10 ADMINISTRACION CHEROKEE............................................................................................. 55 Fig. 5.11 ADMINISTRACION CHEROKEE............................................................................................. 55 Fig. 5.12 ADMINISTRACION CHEROKEE............................................................................................. 56 Fig. 5.13 INSTALACION TOMCAT ....................................................................................................... 59 Fig. 5.14 INSTALACION TOMCAT ....................................................................................................... 60 Fig. 5.15 INSTALACION TOMCAT ....................................................................................................... 60 Fig. 5.16 INSTALACION TOMCAT ....................................................................................................... 61 Fig. 5.17 INSTALACION TOMCAT ....................................................................................................... 61 Fig. 5.18 INSTALACION TOMCAT ....................................................................................................... 61 Fig. 5.19 INSTALACION TOMCAT ....................................................................................................... 62 Fig. 5.20 ADMINISTRACION TOMCAT................................................................................................ 62 Fig. 5.21 ADMINISTRACION TOMCAT................................................................................................ 63
MONTAUT OROPEZA DIEGO
3
SISTEMAS WEB
UNIDAD 5
APACHE
OBJETIVO GENERAL
Conocer y entender los conceptos básicos de los temas para orientar sobre el mejor curso de acción para la puesta en marcha de un servidor Web que garantice la seguridad de la información y su gestión. OBJETIVO ESPECIFICO
Presentar conceptos, técnicas, mecanismos y recomendaciones con el enfoque de un mayor entendimiento para el uso de servidores y software adecuado para su manejo.
MONTAUT OROPEZA DIEGO
4
SISTEMAS WEB
UNIDAD 5
APACHE
INTRODUCCION
En informática, un servidor es un tipo de software que realiza ciertas tareas en nombre de los usuarios. El término servidor ahora también se utiliza para referirse al ordenador físico en el cual funciona ese software, una máquina cuyo propósito es proveer datos de modo que otras máquinas puedan utilizar esos datos. Este uso dual puede llevar a confusión. Por ejemplo, en el caso de un servidor web, este término podría referirse a la máquina que almacena y maneja los sitios web, y en este sentido es utilizada por las compañías que ofrecen hosting o hospedaje. Alternativamente, el servidor web podría referirse al software, como el servidor de http de Apache, que funciona en la máquina y maneja la entrega de los componentes de los páginas web como respuesta a peticiones de los navegadores de los clientes. Apache es el servidor web hecho por excelencia, su configurabilidad, robustez y estabilidad hacen que cada vez millones de servidores reiteren su confianza en este programa. La historia de Apache se remonta a febrero de 1995, donde empieza el proyecto del grupo Apache, el cual está basado en el servidor Apache httpd de la aplicación original de NCSA. El desarrollo de esta aplicación original se estancó por algún tiempo tras la marcha de Rob McCool por lo que varios webmaster siguieron creando sus parches para sus servidores web hasta que se contactaron vía email para seguir en conjunto el mantenimiento del servidor web, fue ahí cuando formaron el grupo Apache. Fueron Brian Behlendorf y Cliff Skolnick quienes a través de una lista de correo coordinaron el trabajo y lograron establecer un espacio compartido de libre acceso para los desarrolladores. Fue así como fue creciendo el grupo Apache, hasta lo que es hoy :) Aquella primera versión y sus sucesivas evoluciones y mejoras alcanzaron una gran implantación como software de servidor inicialmente solo para sistemas operativos UNIX y fruto de esa evolución es la versión para Windows. Apache es una muestra, al igual que el sistema operativo Linux (un Unix desarrollado inicialmente para PC), de que el trabajo voluntario y cooperativo dentro de Internet es capaz de producir aplicaciones de calidad profesional difíciles de igualar. MONTAUT OROPEZA DIEGO
5
SISTEMAS WEB
UNIDAD 5
APACHE
La licencia Apache es una descendiente de la licencias BSD, no es GPL. Esta licencia te permiten hacer lo que quieras con el código fuente (incluso forks y productos propietarios) siempre que les reconozcas su trabajo. Un servidor web es un programa que se está ejecutando en un equipo, normalmente un servidor y que proporciona páginas web a los "clientes" que le piden. Los clientes son los navegadores web como Internet Explorer o NetScape Cuando llamamos a un equipo "servidor" nos referimos a un equipo que va a proporcionar determinados servicios a los usuarios de una red local o de Internet. Lleva un equipamiento de prestaciones más avanzadas que un equipo de sobremesa y sobre todo incorpora un sistema operativo de servidor. Por tanto si en un navegador o explorador web escribimos una dirección o una página intentará localizar el servidor escrito y buscar la página solicitada. Para que ocurra esto debemos tener instalado en nuestro servidor el programa Internet Information Server. Internet Information Server, que llamaremos IIS, es el servidor de páginas web de Microsoft. Éste viene de forma gratuita con el sistema operativo Windows NT, 2000 y XP y descargable para los demás.
MONTAUT OROPEZA DIEGO
6
SISTEMAS WEB
UNIDAD 5
APACHE
1.- Servidor. Definición: Termino con el que se designa al ordenador o la aplicación que se encarga de suministrar información u otros recursos aplicaciones cliente que se conectan a él. En las redes convencionales, por lo general, el servidor es un ordenador y en las aplicaciones cliente/servidor de internet el servidor es un programa. Características:
Algunas de sus características son: • 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. MONTAUT OROPEZA DIEGO
7
SISTEMAS WEB
UNIDAD 5
APACHE
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.
Especificaciones:
Las especificaciones básicas para un rendimiento óptimo en un servidor web son: HARDWARE: MEMORIA SWAP: 4GB DISCO DURO: MINIMO 60GB RECOMENDADO 120 GB MEMORIA RAM: 1.5 GB POR CADA 500 USUARIOS CONCURRENTES MEMORIA CACHE: 500 MB 2 PROCESADORES: INTEL x86 2.4 GHZ SOFTWARE: SISTEMA OPERATIVO: LINUX REDHAT ADVANCED SERVER 3.0 HERRAMIENTAS: JAVA JDK VERSION 1.4 Tendencias: Según Gartner apunta a tres dinamizadores que generarán oportunidades de crecimiento en el mercado de servidores hasta 2015. La consultora considera que los servidores representan el punto de control de la infraestructura de hardware en los centros de datos, pues es donde residen las cargas de trabajo y las aplicaciones; y estima que el tiempo que los usuarios finales pasan operando con servidores es cerca del 60% de todo el hardware del CPD.
Por eso ha identificado como oportunidades de negocio a estos tres factores: • La demanda creciente de centros de datos a hiperescala crea una oportunidad para los proveedores para impulsar las ventas de servidores.
MONTAUT OROPEZA DIEGO
8
SISTEMAS WEB
UNIDAD 5
APACHE
• La flexibilidad del puesto de trabajo virtual hospedado (por sus siglas en inglés, HVD), significará que más empresas muevan sus cargas de trabajo, aumentando la demanda de servidores virtualizados. • Los factores de eficiencia y ahorro energético aumentará la demanda de servidores ELE, ofreciendo una nueva oportunidad para que los proveedores puedan diversificar su negocio.
"El mercado mundial de servidores estaba valorado en 52.800 millones de dólares en 2011, y aunque es un negocio maduro, ofrecerá importantes oportunidades de crecimiento en los próximos años",comenta Kiyomi Yamada, analista principal de investigación de Gartner. "Estas oportunidades surgirán cuando la demanda de ciertos tipos de cargas de trabajo aumente y use el cambio de servidores por centros de datos de gran tamaño, y productos de virtualización y energéticamente eficientes". "En la actualidad, el mercado de servidores es muy competitivo, y a pesar de su tamaño, ofrece un margen de beneficios pequeño", añade Jeffrey Hewitt, vicepresidente de investigación de Gartner. "La prevalencia de las plataformas estandarizadas x86 también hace que sea difícil para las empresas diferenciar sus productos. En respuesta, los proveedores de servidores, con el objetivo de conseguir mayores márgenes de beneficio, han estado haciendo un mayor esfuerzo por crear una infraestructura fabric-based y una convergencia en torno a los sistemas integrados. Para tener éxito en el mercado de servidores en los próximos años, las compañíaS deben innovar y responder rápidamente a los cambios en la demanda”.
MONTAUT OROPEZA DIEGO
9
SISTEMAS WEB
UNIDAD 5
APACHE
Compatibilidad con S.O:
Servidores Linux CentOS o Community Enterprise Operating System es un sistema operativo de código libre basado enteramente en Red Hat Enterprise Linux con el objetivo de ser 100% compatible con el mismo. CentOS es básicamente Red Hat pero sin el logotipo, marcas y soporte oficial de la compañía. Es el sistema operativo por excelencia para empresas y servidores. Versiones disponibles: CentOS 5, 6, 6.2 (64-bit). CentOS 4.5, 4.6, 4.7, 4.8, 5, 6 (32-bit). Debian es un sistema operativo de código abierto basado directamente en Linux con el objetivo de adherirse estrictamente a Unix. Es ampliamente utilizado en todo tipo de dispositivos dada su estabilidad y seguridad. Es la base para muchas otras variantes de Linux y cuenta con una abundante cantidad de paquetes adicionales. Versiones disponibles: Debian Squeeze 6 (64-bit y 32-bit). Debian Lenny 5.0 (32-bit). Ubuntu es una distribución de Linux basada en Debian pero que cuenta con el respaldo comercial de una compañía privada. Es una de las distribuciones de Linux para escritorios más populares y también es de código libre. Versiones disponibles: Ubuntu Lucid Lynx 10.04 (64-bit y 32-bit). Ubuntu Maverick Meerkat 10.10 (64-bit y 32-bit).
Red Hat Enterprise Linux es la plataforma corporativa preferida para servidores y centros de datos utilizado ampliamente en plataformas científicas, comerciales y financieras. Con actualizaciones y soporte comercial de Red Hat Inc. Versiones disponibles: Red Hat Enterprise Linux 6, 5 (64-bit). Red Hat Enterprise Linux 4.5, 4.6, 4.7, 4.8, 5, 6 (32-bit). MONTAUT OROPEZA DIEGO
10
SISTEMAS WEB
UNIDAD 5
APACHE
Servidores Windows Windows es el sistema operativo comercial de Microsoft. En su variante para servidores es un sistema operativo con gestión grafica de fácil uso y muy seguro para entornos basados en Windows. Es la primera elección si se requiere compatibilidad para aplicaciones Windows o tecnologías propias de Microsoft. Es muy flexible y fácil de administrar pero tiene costo de licenciamiento. Versiones disponibles: Windows Server 2008 R2 (64-bit). Windows Server 2008 (64-bit y 32-bit).
Clasificación:
En la siguiente lista hay algunos tipos comunes de servidores: es el que almacena varios tipos de archivos y los distribuye a otros clientes en la red. •
Servidor de impresiones: controla una o más impresoras y acepta trabajos de impresión de otros clientes de la red, poniendo en cola los trabajos de impresión (aunque también puede cambiar la prioridad de las diferentes impresiones), y realizando la mayoría o todas las otras funciones que en un sitio de trabajo se realizaría para lograr una tarea de impresión si la impresora fuera conectada directamente con el puerto de impresora del sitio de trabajo.
•
Servidor de correo: almacena, envía, recibe, enruta y realiza otras operaciones relacionadas con el correo electrónico para los clientes de la red.
•
Servidor de fax: almacena, envía, recibe, enruta y realiza otras funciones necesarias para la transmisión, la recepción y la distribución apropiadas de los fax. MONTAUT OROPEZA DIEGO
11
SISTEMAS WEB
UNIDAD 5
APACHE
•
Servidor de la telefonía: realiza funciones relacionadas con la telefonía, como es la de contestador automático, realizando las funciones de un sistema interactivo para la respuesta de la voz, almacenando los mensajes de voz, encaminando las llamadas y controlando también la red o el Internet, p. ej., la entrada excesiva de la voz sobre IP (VoIP), etc.
•
Servidor proxy: realiza un cierto tipo de funciones a nombre de otros clientes en la red para aumentar el funcionamiento de ciertas operaciones (p. ej., prefetching y depositar documentos u otros datos que se soliciten muy frecuentemente), también proporciona servicios de seguridad, o sea, incluye un cortafuegos. Permite administrar el acceso a internet en una red de computadoras permitiendo o negando el acceso a diferentes sitios Web.
•
Servidor del acceso remoto (RAS): controla las líneas de módem de los monitores u otros canales de comunicación de la red para que las peticiones conecten con la red de una posición remota, responde llamadas telefónicas entrantes o reconoce la petición de la red y realiza la autentificación necesaria y otros procedimientos necesarios para registrar a un usuario en la red.
•
Servidor de uso: realiza la parte lógica de la informática o del negocio de un uso del cliente, aceptando las instrucciones para que se realicen las operaciones de un sitio de trabajo y sirviendo los resultados a su vez al sitio de trabajo, mientras que el sitio de trabajo realiza la interfaz operadora o la porción del GUI del proceso (es decir, la lógica de la presentación) que se requiere para trabajar correctamente.
•
Servidor web: almacena documentos HTML, imágenes, archivos de texto, escrituras, y demás material Web compuesto por datos (conocidos colectivamente como contenido), y distribuye este contenido a clientes que la piden en la red.
•
Servidor de base de datos: provee servicios de base de datos a otros programas u otras computadoras, como es definido por el modelo clienteservidor. También puede hacer referencia a aquellas computadoras (servidores) dedicadas a ejecutar esos programas, prestando el servicio.
•
Servidor de reserva: tiene el software de reserva de la red instalado y tiene cantidades grandes de almacenamiento de la red en discos duros u otras formas del almacenamiento (cinta, etc.) disponibles para que se utilice con el fin de asegurarse de que la pérdida de un servidor principal no afecte a la red. Esta técnica también es denominada clustering.
•
Servidor de Seguridad: Tiene software especializado para detener intrusiones maliciosas, normalmente tienen antivirus, antispyware, antimalware, además de contar con cortafuegos redundantes de diversos niveles y/o capas para MONTAUT OROPEZA DIEGO
12
SISTEMAS WEB
UNIDAD 5
APACHE
evitar ataques, los servidores de seguridad varían dependiendo de su utilización e importancia. Sin embargo, de acuerdo al rol que asumen dentro de una red se dividen en: •
•
Servidor dedicado: son aquellos que le dedican toda su potencia a administrar los recursos de la red, es decir, a atender las solicitudes de procesamiento de los clientes. Servidor no dedicado: son aquellos que no dedican toda su potencia a los clientes, sino también pueden jugar el rol de estaciones de trabajo al procesar solicitudes de un usuario local.
2.- Apache. Historia: En febrero del año 1995, el servidor web más popular era un servidor desarrollado por el NCSA (National Center for Supercomputing Applications de la Universidad de Illinois). Sin embargo, al dejar el principal desarrollador del servidor, Rob McCool, la NCSA en el año 1994, la evolución del programa había quedado seriamente comprometida. La responsabilidad del desarrollo recayó en los responsables de sitios web, que introdujeron mejoras progresivas en sus servidores. Un grupo de ellos, utilizando el correo electrónico como herramienta principal de coordinación, se pusieron de acuerdo para poner en común estas mejoras en forma de "patches" o parches. 2 de ellos, Cliff Skolnick y Brian Behlendorf, iniciaron una lista de correo, un espacio para compartir información y un servidor en California donde los desarrolladores más importantes pudiesen trabajar. A principios del año siguiente, 8 programadores fundaron lo que había de ser el Grupo Apache. Éstos, utilizando como base de trabajo el servidor NCSA 1.3, incorporaron las correcciones de errores publicadas y las mejoras más importantes que encontraron y probaron el resultado final en sus servidores. Después publicaron lo que había de ser la 1a versión oficial del servidor Apache (la 0.6.2, en abril del año 1995). Casualmente, por esas fechas, la NCSA reemprendió el desarrollo de su servidor NCSA. En aquel momento el desarrollo de Apache continuó por 2 líneas paralelas. Por un lado, algunos desarrolladores siguieron trabajando en el Apache 0.6.2 para llegar a la serie 0.7, incorporando diversas mejoras. Otro grupo reescribió por completo el código de la primera versión, creando una nueva arquitectura de tipo modular. En julio del año 1995 migraron a esta nueva arquitectura las mejoras desarrolladas para Apache 0.7, haciéndose público como Apache 0.8.
MONTAUT OROPEZA DIEGO
13
SISTEMAS WEB
UNIDAD 5
APACHE
El día 1 de diciembre del año 1995, apareció Apache 1.0, que incluía abundante documentación y muchas mejoras en forma de módulos que se podían incrustar. Después, Apache sobrepasó al servidor NCSA como el más popular en Internet, posición que ha mantenido hasta hoy. En el año 1999 los miembros del Grupo Apache fundaron la Apache Software Foundation, que da soporte de tipo legal y financiero al desarrollo del servidor Apache y los proyectos relacionados que ha ido surgiendo.
Definición:
Apache es un servidor web HTTP de código abierto para plataformas Unix (BSD, GNU/Linux, etc.), Windows, Macintosh y otras, que implementa el protocolo HTTP/1.1 y la noción de sitio virtual. El servidor Apache se desarrolla dentro del proyecto HTTP Server (httpd) de la Apache Software Foundation. Apache es altamente configurable, admite bases de datos de autenticación y negociado de contenido, aunque carece de una interfaz gráfica que ayude en su configuración. Apache es una aplicación que permite montar un servidor web en cualquier equipo y casi cualquier sistema operativo. Al contrario que IIS (Internet Information Server) que sólo funciona en sistemas operativos de Microsoft. Apache soporta PHP como lenguaje de programación. Con los módulos adecuados, Apache puede soportar también ASP.
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 Incentiva la realimentación de los usuarios, obteniendo nuevas ideas, informes de fallos y parches para la solución de los mismos. MONTAUT OROPEZA DIEGO
14
SISTEMAS WEB
UNIDAD 5
APACHE
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. * Soporte para los lenguajes perl, python, tcl y PHP. * Módulos de autenticación: mod_access, mod_auth y mod_digest. * Soporte para SSL y TLS. * Permite la configuración de mensajes de errores personalizados y negociación de contenido. * Permite autenticación de base de datos basada en SGBD.
Versiones:
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.
MONTAUT OROPEZA DIEGO
15
SISTEMAS WEB
UNIDAD 5
APACHE
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. 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 módulo 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.
Compatibilidad: La versión 2.0 de Apache es más rápida y más estable en sistemas que no son tipo Unix, tales como BeOS, OS/2, Windows y Macintosh, que la versión antigua. Con la introducción de módulos de multiprocesamiento (MPMs) específicos para cada plataforma y del Apache Portable Runtime (APR), estas plataformas tienen ahora implementada su propia API nativa, evitando las capas de emulación POSIX que provocan problemas y un bajo rendimiento.
MONTAUT OROPEZA DIEGO
16
SISTEMAS WEB
UNIDAD 5
APACHE
Instalación y Configuración del Servidor Apache en Windows: En la práctica Apache se instala de varias formas: -El programa exclusivo, al que después se le agregan manualmente distintos módulos. Es lo que se explica en este artículo. -El paquete XAMPP que incluye Apache, la base de datos MySQL, PHP y Perl. -Otras distribuciones como LAMP o MAMP. La instalación de la aplicación es sencilla. Descarga de Apache.org. la última versión para Windows. Crea dos carpetas en la unidad C, la primera de nombre Apache y la segunda servidor_web. Descomprime el archivo descargado y ejecútalo, sigue los pasos de la instalación y de los datos que te piden solo escoge el destino de la instalación, que será la carpeta que creaste en C:\Apache, los otros datos déjalos de la forma predeterminada para configurarlos más tarde. El programa al instalarse crea un icono en el área de notificación que te permitirá: iniciar, detener y reiniciar Apache; tienes que tener en cuenta que cualquier cambio que hagas en el archivo de configuración no tendrá efecto hasta que reinicies el servidor. Configuración de Apache. Toda la configuración para el funcionamiento de Apache se guarda en un archivo de texto nombrado: httpd.conf que se encuentra en la ruta C:\Apache\conf, lo podemos editar en cualquier editor de texto como el Bloc de notas pero un programa recomendado es Notepad++, software libre que es inmejorable. Tienes dos opciones a continuación: 1- Primera opción, la más sencilla, descarga en el siguiente link una copia del archivo httpd.conf, descomprímelo, cópialo o muévalo a la carpeta C:\Apache\conf y sustituye el archivo original, ya tendrás listo para funcionar el servidor. 2- La otra opción, más avanzada pero no difícil, abre el archivo httpd.conf y edita manualmente las líneas que se indican: Todas las líneas que comienzan con el símbolo # son comentarios, explican en cada sección las distintas opciones pero se encuentran en ingles. La línea 52 Listen indica el puerto y dirección IP por el que el servidor va a recibir las peticiones, puedes usarla de las siguientes maneras: 1- El servidor va recibir peticiones solo de la misma PC: Listen localhost:80 2- Recibirá peticiones de otras máquinas en una red local: Listen 80 MONTAUT OROPEZA DIEGO
17
SISTEMAS WEB
UNIDAD 5
APACHE
En la línea 149 DocumentRoot es necesario especificar la ruta de la carpeta local que contendrá las páginas y archivos a servir, en tu caso será la carpeta que creaste enC:/servidor_web, quedaría de la siguiente forma: DocumentRoot "C:/servidor_web" La línea 177 <Directory> establece los permisos necesarios al directorio anterior, quedaría: <Directory "C:/servidor_web"> Esta es la configuración con los parámetros esenciales para comenzar a utilizar Apache. Guarda los cambios realizados y reinicia el servidor dando clic en el icono del área de notificación. También es posible configurar Apache usando un archivo de texto llamado .htaccess, en el que se agregan todos los parámetros necesarios. Es usado cuando hospedamos nuestros archivos en un servidor web en la red, en el que no tenemos acceso al archivo principal de configuración httpd.conf.
Instalación y Configuración del Servidor Apache en Ubuntu:
Apache es el servidor web mas utilizado en sistemas GNU/Linux y Unix. Los servidores web se usan para el alojamiento de páginas web solicitadas por el cliente a través de internet desde los navegadores de web, actualmente el servidor apache se encuentra en la versión 2. Viene con las siguientes ventajas y beneficios proporcionados por el software de servidor apache: • • • • •
Estabilidad. Trabaja sobre una amplia gama de plataformas. Extremadamente flexible. Varios sitios alojados en un solo servidor apache. El servidor web más utilizado en www.
Protocolo HTTP. El protocolo utilizado para ver páginas web es el HyperText TranferProtocol(Protocolo de Transferencia de hipertexto), protocolo es de los pilares de la www. Puertos HTTP. El puerto predeterminado para las solicitudes http es el puerto 80, aunque también puede configurarse un servidor web para que utilice un puerto diferente que no se MONTAUT OROPEZA DIEGO
18
SISTEMAS WEB
UNIDAD 5
APACHE
esté ocupando en ese momento. También existe otro puerto para el servidor apache el cual es 443, este puerto solamente es ocupado para conexiones seguras del apache (https). Instalación de Apache. Para poder instalar apache solamente tenemos que ejecutar el siguiente comando. root@server1:~# apt-get install apache2 elinks Lo que se hizo fue instalar el servidor apache2 y el paquete elinks es un navegador web vía consola de comandos. Cuando termina de instalar el servidor apache será iniciado automáticamente, ante solamente tendremos acceso a la página de bienvenida o de prueba de apache. Configuración Básica de Apache. Como sabemos al terminar de instalar apache ya es iniciado en automático ya que no requiere de modificaciones para funcionar. Lo que haremos en este momento es añadir un alias a un directorio localizado en /var/ww/pub y cual queremos visualizar como el directorio /pub/ en apache, para esto tenemos que crear un fichero de configuración el cual nos permite hacer esta opción. Como vimos anteriormente todos estos archivos de configuración van dentro del directorio sites-available. root@server1:~# cd /etc/apache/sites-available Estando dentro de este directorio tenemos que crear el archivo de configuracion. root@server1:sites-available# vim alias.conf El cual tendrá la siguiente información. Alias /pub /var/www/pub <Directory "/var/www/pub"> Options AllowOverride all </Directory> }}}
Indexes
Includes
FollowSymLinks
Guardamos el archivo y nos vamos a la siguiente ruta: root@server1:sites-available# cd /var/www Dentro de esta ruta en donde se depositaran las páginas web de cada sitio que tengamos registrados. Lo que haremos es crear una carpeta pub y le daremos permisos.
MONTAUT OROPEZA DIEGO
19
SISTEMAS WEB
UNIDAD 5
APACHE
root@server1:www# mkdir pub Lo que haremos es dar permisos de grupo para que sea ocupada por apache. root@server1:www# chown root.www-data pub -R Ahora tendremos que recargar los ultimos cambios de nuestro servidor web. root@server1:www# /etc/init.d/apache2 reload • Reloading web server config apache2 [ OK ] root@server1:/var/www#}}} Utilizaremos nuestro navegador web elinks el cual se ejecuta desde consola
root@server1:www# elinks http://192.168.1.243/pub
Ventajas:
Corre en una multitud de Sistemas Operativos, lo que lo hace prácticamente universal. Apache es una tecnología gratuita de código fuente abierto. El hecho de ser gratuita es importante pero no tanto como que se trate de código fuente abierto. Esto le da una transparencia a este software de manera que si queremos ver que es lo que estamos instalando como servidor, lo podemos saber, sin ningún secreto, sin ninguna puerta trasera ;). Apache es un servidor altamente configurable de diseño modular. Es muy sencillo ampliar las capacidades del servidor Web Apache. Actualmente existen muchos módulos para Apache que son adaptables a este, y están ahí para que los instalemos cuando los necesitemos. Otra cosa importante es que cualquiera que posea una experiencia decente en la programación de C o Perl puede escribir un módulo para realizar una función determinada. Apache trabaja con gran cantidad de Perl, PHP y otros lenguajes de script. Perl destaca en el mundo del script y Apache utiliza su parte del pastel de Perl tanto con soporte CGI como con soporte mod perl. También trabaja con Java y páginas jsp. Teniendo todo el soporte que se necesita para tener páginas dinámicas. Apache te permite personalizar la respuesta ante los posibles errores que se puedan dar en el servidor. Es posible configurar Apache para que ejecute un determinado script cuando ocurra un error en concreto. MONTAUT OROPEZA DIEGO
20
SISTEMAS WEB
UNIDAD 5
APACHE
Tiene una alta configurabilidad en la creación y gestión de logs. Apache permite la creación de ficheros de log a medida del administrador, de este modo puedes tener un mayor control sobre lo que sucede en tu servidor.
Desventajas:
El mecanismo DSO no puede ser usado en todas las plataformas porque no todos los sistemas operativos soportan carga dinámica del código en el espacio de direcciones de un programa. El servidor es aproximadamente un 20% más lento en su arranque debido a la sobrecarga que la resolución representa para el cargador (loader). El servidor es aproximadamente un 5% más lento en su ejecución bajo algunas plataformas porque el PIC (Position Independent Code, posición de código independiente) necesita maniobras complicadas para direccionamiento dinámico, que no es necesariamente tan rápido como el direccionamiento absoluto. No se puede usar DSO para todo tipo de módulos, debido a que los módulos DSO no pueden ser enlazados con otras bibliotecas basadas en DSO (ld -lfoo) en todas las plataformasB.4. En otras palabras, los módulos compilados como ficheros DSO están restringidos a utilizar sólo símbolos del núcleo de Apache, de las biblioteca C (libc ) y todas las demás bibliotecas dinámicas o simbólicas usadas por el núcleo de Apache o desde archivos de bibliotecas estáticas (libfoo.a ) que contengan PIC. La única ocasión de usar otro código es, o bien asegurarse de que el núcleo de Apache ya contenga una referencia a él, cargando uno mismo el código por medio de dlopen() , o bien habilitando la regla SHARED_CHAIN cuando se compila Apache y la plataforma soporta el enlace de ficheros DSO contra bibliotecas DSO. Bajo algunas plataformas (varios sistemas SVR4) no hay forma de forzar al enlazador para que exporte todos los símbolos globales cuando se enlaza el programa ejecutable httpd. Pero sin la visibilidad de los símbolos del núcleo de Apache, ningún módulo estándar de Apache podría ser usado como DSO. La única posible solución es compilar el sistema con la opción SHARED_CORE porque de este modo los símbolos globales se fuerzan a ser exportados.
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 está autorizada.
MONTAUT OROPEZA DIEGO
21
SISTEMAS WEB
UNIDAD 5
APACHE
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.
3.- INTERNET INFORMATION SERVER (I.I.S).
Historia:
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 para IPv6. 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).
Definición:
Es un servidor web y un conjunto de servicios para el sistema operativo Microsoft Windows. Originalmente era parte del Option Pack para Windows NT. Luego fue integrado en otros sistemas operativos de Microsoft destinados 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.
MONTAUT OROPEZA DIEGO
22
SISTEMAS WEB
UNIDAD 5
APACHE
Características:
Actualmente forma parte de la distribución estándar 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 una intranet, 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.
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
Compatibilidad con S.O: Solo funciona para Windows.
MONTAUT OROPEZA DIEGO
23
SISTEMAS WEB
UNIDAD 5
APACHE
Instalación, Configuración y Administración:
Instalación. En la pantalla de Inicio nos desplazamos hacia la derecha para que aparezca la barra de herramientas, seleccionaremos la opción de Buscar y buscaremos el término Características (dentro de la sección Configuración). Fig. 3.1 IIS
Seleccionamos Activar o desactivar las características de Windows. Activaremos la característica Internet Information Services y pulsaremos Aceptar.
MONTAUT OROPEZA DIEGO
24
SISTEMAS WEB
UNIDAD 5
APACHE
Fig. 3.2 IIS
Esperaremos a que se instale la característica y ¡listo! ya tenemos en nuestro Windows 8 IIS instalado. Fig. 3.3 IIS
MONTAUT OROPEZA DIEGO
25
SISTEMAS WEB
UNIDAD 5
APACHE
Para confirmar que todo está correctamente instalado, nos vamos a nuestro navegador y ponemos http://localhost, nos deberá cargar una página de la misma forma que en la imagen. Fig. 3.4 IIS
Administración. El servidor posee un panel de administración en el cual es posible configurar varios parámetros del funcionamiento de la aplicación. Dicho panel es posible abrirlo de varias formas. 1- Crea un acceso directo en el Escritorio, en el cuadro "Ubicación del elemento" introduce la ruta: C:\Windows\System32\inetsrv\InetMgr.exe 2- En el Panel de control selecciona Herramientas administrativas, en ella "Administrador de Internet Information Services (IIS)".
MONTAUT OROPEZA DIEGO
26
SISTEMAS WEB
UNIDAD 5
APACHE
3- Escribe en el cuadro de Inicio o en la pantalla de inicio en Windows 8: inetmgr y presiona la tecla Enter. El panel de administración de IIS es similar a la siguiente imagen: Fig. 3.5 IIS
Ventajas: • • • •
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.
MONTAUT OROPEZA DIEGO
27
SISTEMAS WEB
UNIDAD 5
APACHE
Desventajas: • • •
Tiende a limitarse en las versiones que no son de la familia “Server”. Posee vulnerabilidades. Este servidor no es multiplataforma, sólo funciona bajo Windows.
Cuadro Comparativo de I.I.S y Apache:
MONTAUT OROPEZA DIEGO
28
SISTEMAS WEB
UNIDAD 5
APACHE
Fig. 3.1 CUADRO COMPARACION APACHE-IIS
MONTAUT OROPEZA DIEGO
29
SISTEMAS WEB
UNIDAD 5
APACHE
4.- Instrucciones más usadas para la administración, gestión y actualización de portales web a través de Apache.
Para Windows: Comenzar a utilizar Apache. Copia en la carpeta C:/servidor_web alguna página web o cualquier archivo y accede a él escribiendo en la barra de direcciones de tu navegador 127.0.0.1 o localhost. En el caso de que sea una página web que estas diseñando la verás cómo realmente se mostrará en Internet. Cualquier problema del servidor estará reflejado en los logs que guarda enC:\Apache\logs, los puedes abrir con el bloc de notas, en el archivo access.log se registran todos los accesos hechos al servidor, tanto de tu PC como de internet, en error.log se registran todos los errores de su funcionamiento, te ayudará mucho analizarlos periódicamente.
Acceder al servidor Apache desde la red local. Para acceder al servidor desde otra computadora conectada en una red local solo es necesario escribir en la barra de direcciones la dirección IP de la computadora que sirve de host, es decir la que tiene el servidor Apache instalado. Para conocer la dirección IP necesaria solo abre una ventana de CMD, escribiendo en Inicio >CMD, escribe en la ventana que se abre IPCONFIG /ALL y oprime Enter, busca la línea Puerta de enlace, el número a continuación es la dirección IP del proxy. En caso de que el servidor escuche en otro puerto diferente al 80 (predeterminado) escribe: "dirección ip:puerto", por ejemplo: 192.168.1.3:8080. En caso de conflictos al tratar de conectarse a un equipo usando una red local, verifica lo siguiente: • La dirección IP del equipo al que deseas conectarte. • Si Apache está escuchando en el puerto al que se efectúa la petición. • Si el firewall de Windows está bloqueando la conexión. • Si se recibe un mensaje de error con el código 403 significa que no se cuenta con los permisos necesarios para acceder al directorio, en ese caso establécelo de la siguiente forma: <Directory " ruta al directorio"> Options Indexes FollowSymLinks AllowOverride None Order allow,deny Allow from all MONTAUT OROPEZA DIEGO
30
SISTEMAS WEB
UNIDAD 5
APACHE
</Directory> Como conectarse a internet a través de Apache desde tu PC. Para que tu conexión a internet pase a través del servidor será necesario configurarlo como un proxy fordward para eso en el archivo de configuración httpd.conf descomenta, (quitar el signo #) las siguientes líneas: LoadModule proxy_module modules/mod_proxy.so LoadModule proxy_http_module modules/mod_proxy_http.so Después agrega en el final del archivo la siguiente línea: ProxyRequests On Cierra y guarda los cambios. • Accede a las Opciones de internet mediante el Panel de Control. • En la pestaña Conexiones pulsa el botón Configuración de LAN y marca la casilla Usar un servidor Proxy • Escribe en Dirección: 127.0.0.1 y en Puerto: 80 o el que vayas a usar. • Presiona Aceptar en todas las ventanas. • Reinicia el servidor. Lo anterior se aplica si usas el navegador Internet Explorer y Google Chrome, si usas Firefox las opciones anteriores tienes que ingresarlas en: Opciones >Configuración >Configurar como Firefox se conecta a Internet. A partir de ahora toda tu conexión pasa a través de Apache, sea direcciones locales o externas. Como guardar en la cache del servidor web las páginas. Para guardar en la cache del servidor web las páginas web haz lo siguiente: Crea una carpeta en la unidad C de nombre cacheroot, será la que almacene los archivos de la cache, también puedes crearla en otra unidad, en ese caso tendrías que indicar su ruta en el archivo de configuración. En el archivo httpd.conf descomenta, (quita el signo #) la siguiente línea: LoadModule expires_module modules/mod_expires.so Y agrega las siguientes líneas: LoadModule cache_module modules/mod_cache.so LoadModule disk_cache_module modules/mod_disk_cache.so El valor ExpiresDefault A604800 especifica el tiempo en segundos que persistirá tu cache, puedes modificarlo de acuerdo a tus necesidades. Todos los demás valores puedes ajustarlo a tu conveniencia.
MONTAUT OROPEZA DIEGO
31
SISTEMAS WEB
UNIDAD 5
APACHE
Lee las siguientes páginas en la carpeta de manuales: C:/Apache/manual/mod/mod_disk_cache.html C:/Apache/manual/mod/mod_expires.html Reinicia el servidor. Servir tus páginas en internet y permitir el acceso al servidor desde el exterior Para servir tus páginas web en internet primero es necesario configurar la línea 147ServerName, Nombre del servidor, tienes las siguientes opciones: 1- Dispones de una conexión a internet fija, sustituye localhost por la dirección IP que tienes asignada seguida de dos puntos y el puerto a usar, el predeterminado en el protocolo http es el 80. Si te conectas a través de un router sería la dirección IP de este ya que la tuya es una dirección local en este caso. 2- Tienes una conexión a internet dinámica, lo más común, significa que cada vez que te conectas tu proveedor del servicio de internet te asigna una dirección IP diferente. En este caso cada vez que te instales necesitas ingresar en tu archivo httpd.conf la dirección IP asignada en ese momento, lo que es bastante incómodo. 3- La otra opción es acceder al servicio que ofrece DynDNS que va a sincronizar la dirección IP que te asignen con tu servidor. Lee más a continuación de un extracto de Wikipedia.
Usar el Servicio de DynDNS. DynDNS (Dynamic Network Services, Inc.) es una compañía de Internet de Estados Unidos dedicada a soluciones de DNS en direcciones IP dinámicas. Ofrece servicios gratuitos de redirección a IP de subdominios de una gran lista de nombres disponibles, ofreciendo a particulares la oportunidad de crear un servidor en Internet gratuitamente con una dirección como 'wikipedia.dyndns.com', Debe ser actualizado mediante algún cliente en la máquina del cliente, tales como el que la misma compañía ofrece. Puedes acceder a DynDNS desde el siguiente vínculo: DynDNS, tienes que registrarte y a continuación escoges un nombre de dominio por el que podrás acceder a tu servidor desde internet, tienes que descargar un cliente de actualización https://www.dyndns.com/support/clients.html que ellos te ofrecen (es sencillo solo pesa alrededor de 700 KB) e instalarlo en tu PC. En este caso en tu archivo httpd.conf no tienes que modificar nada deja intactoServerName con el valor localhost:80 , a partir de ahora DynDNS se encargará de sincronizar tu dirección IP. MONTAUT OROPEZA DIEGO
32
SISTEMAS WEB
UNIDAD 5
APACHE
Si ya configuraste el Nombre del servidor agrega al final de tu archivo httpd.conf la siguiente línea: Listen 80 para acceder mediante el puerto 80 que es el predeterminado en la navegación web. Hay proveedores de internet que cierran este puerto, puedes probar si ese es el caso tuyo accediendo a esta página: Probar puertos introduciendo tu dirección IP y el puerto, si es así cambia probando otro puerto, por ejemplo el 8080 y especifícalo en el archivo httpd.conf de esta forma: Listen 8080 Es todo, en caso de que así funcione para acceder desde el exterior a tu página, tendrían que escribir en el navegador: tudireccionIP:8080/ Si has instalado el cliente de actualización de DynDNS no tendría que ser la necesariamente la dirección IP si no la dirección asignada por ese servicio.
Para Ubuntu: Opciones de ejecución apache. Apache tiene varias opciones de ejecución dentro apache. root@server1:~# /etc/init.d/apache2 {start|stop|restart|reload|force-reload Como podimos ver nuestro servidor apache tiene varias opciones: OPCION
DESCRIPCION
start
Inicia el servicio de apache.
stop
Detiene el servicio de apache.
restart
Reinicia el servicio de apache.
reload
Recarga los últimos cambios registrados dentro del servicio de apache.
Forcereload
Forza a realizar una recarga de los últimos cambios realizados dentro del servicio de apache.
Ejemplo: Como reiniciar el servidor apache. root@server1:~# /etc/init.d/apache2 restart
MONTAUT OROPEZA DIEGO
33
SISTEMAS WEB
UNIDAD 5
APACHE
• Restarting web server apache2 [ OK ] root@server1:# }}}
Ficheros de configuración.# La ruta de configuración de los archivos del servicio de apache se localiza en: /etc/apache2/ Para poder entrar a la ruta solamente tenemos que hacer lo siguiente: root@server1:~# cd /etc/apache/ Dentro de este directorio encontraremos varios archivos y carpetas como las siguientes: OPCION
DESCRIPCION
apache2.conf
Dentro de este archivo se encuentra la configuración del servidor web apache.
conf.d
Directorio en donde se encuentran los archivos de configuración de apache.
envvars
Este archivo de configuración contiene la información del usuario, grupo Y PID del servicio de apache.
httpd.conf
Este era el archivo de configuración, pero todavía esta siendo ocupado en la distribución Red Hat y derivados.
modsavailable
Directorio en se depositan los módulos que se vayan agregar a nuestro servidor apache.
modsenabled
Directorio donde se encontrara el modulo cuando ya este activado y esta disponible para apache. Este carpeta solamente contiene ligas suaves a los módulos.
port.conf
Archivo de configuración en donde se especifica el puerto de escucha, por default es 80 y 443.
sitesavailable
Directorio en donde se encuentran los archivos de configuración de sitios o paginas web que configuremos. Dentro de esta carpeta se encuentra un archivo de default el cual trae la configuración de la pagina de bienvenida de nuestro apache.
MONTAUT OROPEZA DIEGO
34
SISTEMAS WEB
sites-enabled
UNIDAD 5
APACHE
Directorio en donde se habilita los sitios web, también son ligas suaves a los sitios.
Descripción de parámetros. Como vimos que creamos un archivo de configuración de una carpeta pub, comentaremos ahora para que es cada opción. Parámetro Alias Este parámetro permite definir directorios virtuales e instalar tu sitio web "fuera" del DocumentRoot e incluso en otro servidor. Alias /pub /var/www/pub Parámetro Directory Este parámetro se usa para englobar un grupo de directivas que se aplicaran solamente al directorio especificado y a sus subdirectorios. <Directory "/var/www/pub"> </Directory> }}} Parámetro Options. Configura las funcionalidades disponibles en un directorio en particular Options Indexes Includes FollowSymLinks AllowOverride all }}} Parámetro Indexes. Permite el uso de directivas que controlan el indexado de directorio. Options Indexes Includes FollowSymLinks AllowOverride all }}}
MONTAUT OROPEZA DIEGO
35
SISTEMAS WEB
UNIDAD 5
APACHE
Parámetro Includes. Permite incluir Server-side, puede ejecutar programas dentro del servidor (php,perl, etc). Options Indexes Includes FollowSymLinks AllowOverride all }}} Parámetro FollowSymLinks El servidor seguira los enlaces simbolicos en este directorio. Options Indexes Includes FollowSymLinks AllowOverride all}}} Parámetro AllowOverride AllowOverride controla qué directivas de los ficheros .htaccess. Los valores de AllowOverride pueden ser "All", "None", Options Indexes Includes FollowSymLinks AllowOverride all }}} Dominios Virtuales en Apache Los dominios virtuales consisten en utilizar el mismo servidor web para atender varios dominios. En estos casos solo se dispone de una sola dirección IP pública y esta misma esta enlazada a varios dominios. Configuración de VirtualHost Tendremos que entrar a la siguiente ruta. root@server1:~# cd /etc/apache2/ root@server1:apache2# }}} Todas las configuraciones de los virtualhost se guardan dentro del directorio sitesavailable. root@server1:apache2# cd sites-available/ MONTAUT OROPEZA DIEGO
36
SISTEMAS WEB
UNIDAD 5
APACHE
root@server1:sites-available# }}} Ya estando adentro tendremos que crear el archivo de configuraciรณn de cada dominio. root@server1:sites-available# vim rodmen.conf Y tendremos que agregar lo siguiente. <VirtualHost *> DocumentRoot /var/www/rodmen.com ServerName www.rodmen.com ServerAdmin admin@rodmen.com ErrorLog /var/www/rodmen.com/log/error_log CustomLog /var/www/rodmen.com/log/access_log combined </VirtualHost> <Directory "/var/www/rodmen.com"> AllowOverride All </Directory> }}} Tendremos que crear el depรณsito de la pรกgina web del dominio rodmen.com. root@server1:sites-available# mkdir /var/www/rodmen.com Parรกmetros Dominios Virtuales Ahora vamos a explicar para que sirva cada parรกmetro del VirtualHost. Parรกmetro VirtualHost En apache existen dos tipos de Host Virtuales: โ ข
Host Virtual basado en IP. โ ข Host Virtual basado en nombres. En este parรกmetro que estamos viendo indicamos que todas las direcciones IP asignadas apache serรกn utilizadas para soportar los Host Virtuales. <VirtualHost *> </VirtualHost> }}} Por cada virtualhost que vayamos agregar lo tendremos que agregar entre las directivas <VirtualHost> </VirtualHost> Parรกmetro DocumentRoot. Indica el directorio desde donde se servirรกn los documentos web.
MONTAUT OROPEZA DIEGO
37
SISTEMAS WEB
UNIDAD 5
APACHE
DocumentRoot /var/www/rodmen.com Parámetro ServerName El cual indica el nombre del Host por el cual responderá su sitio web, tambien se puede especificar algún puerto de escucha. ServerName www.rodmen.com Parámetro ServerAdmin.
Especifica la dirección de correo electrónico del administrador del servidor. ServerAdmin admin@rodmen.com Parámetro ErrorLog. Esta opción indica en donde se encuentra el archivo en el cual se registran los errores para este sitio. ErrorLog /var/www/rodmen.com/log/error_log Parámetro CustomLog. Esta opción especifica primero el archivo donde se anotan las peticiones hechas al servidor y en segundo lugar el tipo de anotación según se haya definido. CustomLog /var/www/rodmen.com/log/access_log combined Usuario Encargado del Deposito. Tendremos que agregar el usuario encargado del mismo. root@server1:sites-available# useradd -g ftp -d /var/www/pub/ -s /bin/ftp \ rodmen root@server1:/var/www/pub# passwd rodmen Enter new UNIX password: Retype new UNIX password: passwd: password updated successfully root@server1:sitesavailable# }}}
MONTAUT OROPEZA DIEGO
38
SISTEMAS WEB
UNIDAD 5
APACHE
Tendremos que cambiar el usuario y grupo encargado del deposito. root@server1:sites-available# chown rodmen.www-data R
/var/www/rodmen.com/ -
Logs del Sitio. Ahora tendremos que crear el directorio de los log los archivo que contiene. root@server1:sites-available# cd /var/www/rodmen.com/ root@server1:rodmen.com# }}} Tendremos que crear el directorio log. root@server1:rodmen.com# mkdir log Dentro de este tendremos que crear dos archivo de texto plano, los cuales registraran los accesos al sitio como tambiĂŠn los errores. root@server1:rodmen.com# touch log/access_log root@server1:rodmen.com# touch log/error_log }}} Fichero hosts. Tendremos que editar el fichero hosts ya que sean enlace el nombre con la ip de nuestro servidor. root@server1:sites-available# vim /etc/hosts Agregar la siguiente linea. 127.0.0.1
localhost
127.0.1.1 server1.factor.dynalias.net server1 192.168.1.243 www.rodmen.com rodmen }}} Una forma de checar que ya esta funcionando el hacer un ping al dominio. root@server1:sites-available# ping -c 2 www.rodmen.com
MONTAUT OROPEZA DIEGO
39
SISTEMAS WEB
UNIDAD 5
APACHE
Habilitando VirtualHost. Ya que tenemos el archivo de configuración del virtualhost, usuario, logs y hosts, ya podemos activar el dominio virtual dentro de apache. Primero entraremos en la ruta en donde se encuentra el archivo de configuración del virtualhost a activar. root@server1:rodmen.com# cd /etc/apache2/sites-available/ root@server1:sites-available#}}} Ya estando ahí tendremos que usar el comando a2ensite y el archivo de configuracion del dominio virtual. root@server1:sites-available# a2ensite rodmen.conf Site fabian.conf installed; run root@server1:sites-available# }}}
/etc/init.d/apache2
reload
to
enable.
Nos muestra una salida en la cual indica que tenemos que hacer una recarga de apache. root@server1:sites-available# /etc/init.d/apache2 reload •
Reloading web server config apache2 [OK] root@server1:sites-available# }}} Entonces podemos ahora ejecutar nuestro navegador web desde consola. root@server1:sites-available# elinks http://www.rodmen.com
Desactivando VirtualHost. Para poder desactivar un dominio tendremos que ejecutar el comando a2dissite mas el archivo del virtualhost. root@server1:sites-available# a2dissite rodmen.conf Site fabian.conf disabled; run /etc/init.d/apache2 reload to fully disable. }}} Y nos pide que también recarguemos el apache.
MONTAUT OROPEZA DIEGO
40
SISTEMAS WEB
UNIDAD 5
APACHE
root@server1:sites-available# /etc/init.d/apache2 start •
Starting web server apache2 [OK] root@server1:sites-available# }}} Habilitar htaccess.# Los htaccess son archivo en texto plano ocultos que contienen una serie de directivas para el servidor apache. El servidor busca dentro del directorio y subcarpetas del sitio El uso para que se ocupan los htaccess para: • • • • •
Impedir listados del contenido de un directorio. Redireccionar el tráfico web. Crear mensajes de error personalizado. Seguridad extra un sitio. Etc.
Ejemplo de htaccess. Para poder crear el fichero htaccess, lo haremos dentro del depósito del sitio a desear. root@server1:~# cd /var/www/rodmen.com/ root@server1:rodmen.com#}}} Crearemos el archivo htaccess pero este archivo es oculto. root@server1:rodmen.com# touch .htaccess Ahora tendremos que editar este archivo, agregarle los siguientes datos y guardarlo. AuthName "ZONA VIP" AuthType Basic require valid-user AuthUserFile /var/www/rodmen.com/claves}}}
Hay que crear otro archivo plano en donde se almacenaran contraseñas. root@server1:rodmen.com# touch /var/www/rodmen.com/claves Tendremos que darle seguridad al fichero que hemos creado. MONTAUT OROPEZA DIEGO
41
SISTEMAS WEB
UNIDAD 5
APACHE
root@server1:rodmen.com# chmod 600 claves root@server1:rodmen.com# root@server1:rodmen.com# }}}
chown
www-data.www-data
claves
Ahora crearemos el usuario y contraseña. root@server1:rodmen.com# htpasswd claves rodrigo New password: Re-type new password: Adding password for user rodrigo }}} Reiniciamos apache. root@server1:rodmen.com# /etc/init.d/apache2 restart • Restarting web server apache2 [ OK ] root@server1:rodmen.com# }}}
Ahora que usemos nuestro navegador web hacia el sitio rodmen.com, nos solicitara el usuario y contraseña para poder acceder. Lo que se hizo es darle más seguridad al sitio ya solamente usuario autenticados podrán conectarse al sitio. Módulos Activados. Un módulo en Apache, es la forma de poder agrupar y modularizar ciertos funcionamientos para el servidor, se encuentra una lista de los módulos en: htp://modules.apache.org Una de las principales razones de emplear módulos en Apache, es que no toda instalación requiere de las mismas funcionalidades, si fueran incluidas todas las funcionalidades posibles en una versión única de Apache, esto lo haría sumamente pesado en cuanto a requerimientos de Memoria RAM y espacio en Disco Duro. Existen dos tipos de módulos: •
En el código fuente de Apache: Estos están incluidos en el Tar principal de Apache.(Ejemplo: "Virtual Hosting","Rewrite") • Por 3eros: Se distribuyen en productos utilizados en conjunción con Apache. (Ejemplo: Mod_JK (Java)) Para poder ver los módulos que tenemos activados en apache tenemos que ejecutar: root@server1:~# apache2ctl -l Compiled in modules: core.c mod_log_config.c mod_logio.c http_core.c mod_so.c }}}
MONTAUT OROPEZA DIEGO
42
SISTEMAS WEB
UNIDAD 5
APACHE
Activar módulos. En algunos casos apache no carga los módulos automáticamente y tendremos que agregarlos manualmente. root@server1:~#a2enmod modulo Desactivar módulos.# Para desactivar módulos tenemos que ejecutar el siguiente comando. root@server1:~#a2dismod modulo Herramienta apache2ctl.# Es una interfaz de usuario al servidor que ayudar al administrador controlar el funcionamiento del demonio de apache. La herramienta apache2ctl tiene varias opciones: OPCION DESCRIPCION start
Inicia el servicio de apache.
stop
Detiene el servicio de apache.
reload
Reinicia el servicio de apache.
fullstatus Muestra un reporte del estado completo de apache. status
Muestra un reporte del estado breve de apache.
graceful
Reinicia delicadamente el servicio apache enviando una señal SIGUSR1.
Corre una prueba hacia los archivos de configuración de apache, en configtestcaso de que devuelva Syntax OK indica que toda la configuración de apache está bien o marca el error.
MONTAUT OROPEZA DIEGO
43
SISTEMAS WEB
UNIDAD 5
APACHE
Logs Apache. Apache contiene dos archivos en los cuales se almacenan los log de acceso y error. • •
access.log error.log
Es tán importante esta información para el administrador del servidor ya que ellos pueden obtener estadísticas o un posible problema que tenga el mismo. Se recomienda siempre ver los logs. root@server1:~# tail -f /var/log/apache2/error.log
Prueba Para saber si nuestro servidor funciona correctamente tenemos que abrir el navegador web y escribir como url: http://localhost o http://127.0.0.1 En esta última opción puedes también la dirección ip de la maquina que estés usando. Finalmente veras algo como esto:
MONTAUT OROPEZA DIEGO
44
SISTEMAS WEB
UNIDAD 5
APACHE
Fig. 4.1 PRUEBA
Configuración del servidor apache. Cuando hablamos de servidores generalmente su instalación y puesta en marcha es mucho más sencilla que su configuración es por esa razón que cualquier tutorial de instalación va acompañado del tutorial de configuración y esta no es la excepción. Para configurar el servidor apache debes buscar los archivos destinados para ello, los cuales están en la carpeta /etc/apache2. Reiniciar el servidor Apache Cuando hacemos configuraciones al servidor apache es necesario reiniciar este para poder aplicar los cambios, para ellos vamos a usar un sencillo comando: sudo service apache2 start Para este comando también es posible cambiar el parámetro restart por stop y start para parar o arrancar apache respectivamente. Es preciso destacar que podemos usar el parámetro reload cuando es imposible recargar servidores con alto flujo de tráfico. Cambiar la raíz del directorio
MONTAUT OROPEZA DIEGO
45
SISTEMAS WEB
UNIDAD 5
APACHE
Al instalar apache en ubuntu la carpeta en donde podemos ubicar los archivos que componen una pรกgina web es /var/www, pero por razones de facilidad hay muchas personas que cambian esta carpeta por una que este ubicada en la carpeta personal (home). Debido a que los archivos que estรกn dentro de la carpeta /etc/apache2 solo pueden ser editados por el usuario root tendremos que usar el comando sudo o gksu para poder configurar apache, para ello oprime la combinaciรณn de teclas. ALT + F2 y escribe la orden: Fig. 4.2 CONFIGURACION APACHE
Busca el archivo default el cual se encuentra ubicado en la carpeta/etc/apache2/sites/available. Una vez que hayas abierto el abierto este archivo veras algo como esto:
MONTAUT OROPEZA DIEGO
46
SISTEMAS WEB
UNIDAD 5
APACHE
Fig. 4.3 CONFIGURACION 2 APACHE
Finalmente cambia las lineas en donde este escrito /var/www por la carpeta en donde quieras guardar tus archivos, por ejemplo /home/usuario/archivosweb.
Módulos de Apache. Apache cuenta con módulos para aumentar su funcionalidad, entre los módulos más usados de apache son: • mod_cband • mod_perl • mod_php • mod_python • mod_rexx • mod_ruby • mod_security Algunos de estos módulos (y otros más) pueden encontrarse en la carpeta modsavailable la cual contiene aquellos módulos que están disponibles para su uso y los módulos que están corriendo en el servidor pueden verse en la carpeta modsenabled.
MONTAUT OROPEZA DIEGO
47
SISTEMAS WEB
UNIDAD 5
APACHE
Crear un espacio de usuario. En apache es posible crear un espacio web para cada usuario, es decir que podemos usar la carpeta personal de cada usuario para alojar por ejemplo archivos de una aplicación web. Para ello debes activar el módulo usedir entrando a la carpeta mods-available y creando los enlaces simbólicos en la carpeta mods-enabled, esto lo haremos desde la terminal escribiendo el siguiente comando: cd /etc/apache2/modsavailable && sudo ln -s /etc/apache2/mods-available/userdir*. Para acceder vía web a la página de un usuario, debes escribir esta dirección cambiando la palabra usuario por el nombre de usuario que tengas, por ejemplo http://localhost/~usuario/. Fig. 4.4 COFIGURACION 3 APACHE
El carácter '~'comúnmente conocido como gusanillo y que se obtiene con Alt Gr + 4 sirve para indicar a apache que debe servir la página desde el home del usuario (en Linux el 'gusanillo' equivale a la carpeta home). Ejemplo, si hemos creado un usuario y éste ha creado la carpeta /home/usuario/public_html y ha copiado en ella su página web, desde cualquier PC de la red podremos acceder a dicha carpeta yendo a la dirección http://localhost/~usuario/. Para que la página aparezca automáticamente, es necesario crear un archivo llamado index.html.
MONTAUT OROPEZA DIEGO
48
SISTEMAS WEB
UNIDAD 5
APACHE
5.- Software para Servidores Web.
CHEROKEE
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.3 Está 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. CARACTERISTICAS: • • • • • • • •
Soporta tecnologías como: FastCGI, SCGI, PHP, CGI, SSI, SSL/TLS.5 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.6 Soporta los métodos de registro: NCSA W3C Combinado Soporta los métodos de autenticación: plain htpasswd htdigest PAM
MONTAUT OROPEZA DIEGO
49
SISTEMAS WEB
UNIDAD 5
APACHE
CONFIGURACION: En el administrador web poniendo en la terminal lo siguiente. cherokee-admin –b Fig. 5.1 CONFIGURACION CHEROKEE
El cual nos dará los datos de login necesarios como son el User el Password y la Url para entrar en el administrador web. Fig. 5.2 CONFIGURACION CHEROKEE
MONTAUT OROPEZA DIEGO
50
SISTEMAS WEB
UNIDAD 5
APACHE
Para terminar y cerrar el administrador web pulsar CTRL+C en la terminal Una vez entramos en el administrador web de cherokee debemos añadir la “extensión php” para hacerlos nos dirigimos al icono “vServers” y en la pestaña “comportamiento” le damos al botón de “Rule Mangement” Fig. 5.3 CONFIGURACION CHEROKEE
Ahora creamos un comportamiento nuevo, seleccionamos “lenguajes” “php” y “añadir” nos aparece una ventana de información y presionamos el botón “crear”. Fig. 5.4 CONFIGURACION CHEROKEE
En el panel lateral izquierdo veremos que la regla “extensions php” su estado es “NO FINAL” seguidamente nos dirigimos a la pestaña “gestor” que es donde podemos cambiar la configuración por defecto de PHP y una vez finalizado presionar en “NO FINAL” para que cambie a “FINAL”
MONTAUT OROPEZA DIEGO
51
SISTEMAS WEB
UNIDAD 5
APACHE
Fig. 5.5 CONFIGURACION CHEROKEE
Solo queda “guardar” que se encuentra en la parte superior derecha, nos aparecerá una ventana informativa y presionaremos en “reinicio suave” Fig. 5.6 CONFIGURACION CHEROKEE
Después regresamos a “vServers” y en la pestaña comportamiento debería aparecer “Extensions php” listado, ya podemos salir del administrador presionando en a terminal CTRL+C .
MONTAUT OROPEZA DIEGO
52
SISTEMAS WEB
UNIDAD 5
APACHE
Fig. 5.7 CONFIGURACION CHEROKEE
Para comprobar que todo funciona creamos un archivo info.php con nuestro editor preferido, vim por ejemplo “vim /var/www/info.php” y le añadimos la siguiente línea “<?php phpinfo(); ?>” guardamos y probamos que funciona en nuestro navegador web con la dirección ip de nuestro servidor, por ejemplo http://192.168.0.20/info.php Fig. 5.8 CONFIGURACION CHEROKEE
Para finalizar solo nos queda instalar el módulo MySQL para php5 con un aptitude install php5-mysql
MONTAUT OROPEZA DIEGO
53
SISTEMAS WEB
UNIDAD 5
APACHE
Fig. 5.9 CONFIGURACION CHEROKEE
INSTALACION: Para la instalación completa del servidor se utiliza MySQL, php y Cherokee, lo primero que se hace es abrir una terminal e instalar los paquetes necesarios empezando por MySQL, durante la instalación nos preguntara por el password para el root que introduciremos para poder continuar con la instalación. aptitude install mysql-server mysql-client Una vez instalado continuamos con la instalación de Cherokee. aptitude install Cherokee Lo siguiente será instalar php5. aptitude install php5-cgi Y continuamos editando el archivo /etc/php5/cgi/php.ini con vim, nano o el editor que utilices habitualmente, nos tendremos que dirigir a la linea 845 y descomentar la linea “cgi.fix_pathinfo=1″ después guardamos el archivo y reiniciamos el servidor Cherokee. /etc/init.d/cherokee restart Para comprobar que funciona abrimos nuestro navegador y en la barra de dirección ponemos la ip de nuestro servidor, si no la sabemos podemos utilizar el comando ifconfig como root desde la terminal para averiguarla.
MONTAUT OROPEZA DIEGO
54
SISTEMAS WEB
UNIDAD 5
APACHE
ADMINISTRACION: Si accedemos a la documentación de cherokee podremos leer que todo el proceso de modificación de la configuración es recomendable hacerlo mediante una herramienta llamada cherokee-admin. Esta herramienta de configuración nos permite manejar nuestro servidor sin tener que editar ficheros de configuración, ya que se hace accediendo mediante web. Para ello deberemos ejecutar en una consola y con privilegios de administrador el comando cherokee-admin, lo que dará como resultado algo similar a esto: Fig. 5.10 ADMINISTRACION CHEROKEE
Con estos datos accederemos desde una navegador a localhost:9090, con lo que nos aparecerá una ventanita de acceso: Fig. 5.11 ADMINISTRACION CHEROKEE
Una vez introducidos los datos obtenidos anteriormente con la ejecución del comando en consola ya tendremos acceso al panel de control de nuestro servidor, método recomendado para configurarlo según los desarrolladores del proyecto, aunque tenemos la opción de realizar modificaciones en el fichero /etc/cherokee/cherokee.conf.: MONTAUT OROPEZA DIEGO
55
SISTEMAS WEB
UNIDAD 5
APACHE
Fig. 5.12 ADMINISTRACION CHEROKEE
En principio y según el equipo de cherokee, por defecto ya tiene una configuración bastante funcional, por lo que modificarlo ya lo haremos más adelante.
MONTAUT OROPEZA DIEGO
56
SISTEMAS WEB
UNIDAD 5
APACHE
TOMCAT
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 de JavaServer Pages (JSP) de Sun Microsystems. 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. CARACTERISTICAS: 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
MONTAUT OROPEZA DIEGO
57
SISTEMAS WEB
UNIDAD 5
APACHE
CONFIGURACION: server.xml server.xml es el archivo principal de configuración para Tomcat, al igual que otros archivos de configuración para productos empleados en servidor puede contener una gran variedad de parámetros, sin embargo, esta guia se concentrará en los parámetros principales. Validación, <!-- --> y valores "Default" El archivo server.xml es un archivo en XML , el cual de no contener una estructura conforme a XML, se indicará al arranque de Tomcat; dicho archivo se encuentra bajo el directorio /usr/local/tomcat/conf donde /usr/local/tomcat es el directorio definido en CATALINA_HOME. Como cualquier otro documento en XML todo contenido entre <!-- --> es considerado un comentario, y por lo tanto cualquier parámetro que se encuentre entre estos caracteres no es utilizado por "Tomcat"; aquellos parámetros que no sean definidos dentro de server.xml son asignados un valor "Default" por Tomcat. <Server> - </Server> <Server> es el elemento principal del archivo server.xml y todas las demás secciones deben encontrarse entre estos nodos; el atributo port indica el puerto TCP donde se espera la señal de cierre (shutdown) de Tomcat, el cual rara vez es modificado. <Listener> A través de los elementos <Listener> se configuran las extensiones JMX ("Java Management Extensions") que serán utilizadas por Tomcat, dichos elementos toman dos atributos : className que indica la Clase diseñada para escuchar sobre eventos JMX y debug para especificar el nivel de "debug" generado al tiempo de ejecución. <GlobalNamingResources> , <Resource> y <ResourceParams> Anidado dentro de los elementos <GlobalNamingResources> es posible definir recursos JNDI para ser utilizados globalmente en Tomcat. Lo anterior evita que estos recursos tengan que ser declarados a nivel de WAR de manera individual. A través de <Resource> es como define el tipo de recurso JNDI que será utilizado y mediante <ResourceParams> se especifican los parámetros específicos que tomará el recurso en dicha instancia de Tomcat. MONTAUT OROPEZA DIEGO
58
SISTEMAS WEB
UNIDAD 5
APACHE
INSTALACION: Acceder al directorio donde se a descomprimido. Ejemplo: Fig. 5.13 INSTALACION TOMCAT
$CATALINA_HOME = Representa la raiz donde se ha instalado apache-tpmcat. Cada uno de los directorios de la imagen 4 tienen su respectivo significado: /bin – arranque, cierre, y otros scripts y ejecutables /temp – archivos temporales /conf – archivos XML y los correspondientes DTD para la configuración de apachetomcat el más importante es server.xml. /logs – archivos de registro (log) de apache-tomcat. /webapps – directorio que contiene las aplicaciones web /work – almacenamiento temporal de ficheros y directorios El siguiente paso quizás es uno de los más importantes y es la creación de la variable de entorno JAVA_HOME. Ejemplo: JAVA_HOME = directorio del JDK.
MONTAUT OROPEZA DIEGO
59
SISTEMAS WEB
UNIDAD 5
APACHE
Fig. 5.14 INSTALACION TOMCAT
Para acceder a la creación de la variable de entorno: Windows+Pausa>Opciones Avanzadas>Variables de Entorno>Nueva Existen dos archivos sumamente importantes los cuales nos permitirán iniciar y parar apache-tomcat se encuentra en el siguiente directorio. $CATALINA_HOME/bin/startup = para iniciar o arrancar $CATALINA_HOME/bin/shutdown = para parar o detener Fig. 5.15 INSTALACION TOMCAT
Seguidamente abrimos un navegador web y escribimos en el URL. http://{host}:{port}/ = donde {host}{port} representa el hostname y el puerto donde corre apache-tomcat, entonces quedaría http://localhost:8080/ y aparecerá la pagina de bienvenida de apache-tomcat.
MONTAUT OROPEZA DIEGO
60
SISTEMAS WEB
UNIDAD 5
APACHE
Fig. 5.16 INSTALACION TOMCAT
Nota: Recuerda iniciar apache-tomcat o de lo contrario se producir谩 un ERROR. Para poder acceder a las aplicaciones de gesti贸n y administraci贸n de apachetomcat es necesario crear un usuario accediendo al siguiente directorio. $CATALINA_HOME/conf/tomcat-users.xml = este archive permite crear un username, password and roles Fig. 5.17 INSTALACION TOMCAT
Entre la etiqueta tenemos que agregar la linea que permitir谩 crear un usuario. Ejemplo: Fig. 5.18 INSTALACION TOMCAT
MONTAUT OROPEZA DIEGO
61
SISTEMAS WEB
UNIDAD 5
APACHE
Procedemos a parar e iniciar apache-tomcat > http://localhost:8080/ en el navegador > clic en Tomcat Manager > debemos ingresar el username and password anteriormente creado en el archivo tomcat-users.xml. Fig. 5.19 INSTALACION TOMCAT
ADMINISTRACION: Quizás el Tomcat no es muy bien visto porque no tiene una interfaz de administración tan amigable como el de IIS. Pero esto es totalmente falso. Desde las primeras versiones, Tomcat ha tenido un administrador vía web. Pero por razones de seguridad el acceso era bloqueado. Quizás todos los hemos visto, pero no le hemos dado importancia. Cuando iniciamos el tomcat, se nos muestra una página como esta. Fig. 5.20 ADMINISTRACION TOMCAT
Vemos un bloque llamado "Administration" y dentro un enlace que dice "Tomcat Manager". Y cuando se trata de ingresar allí, pide un usuario y una clave que ignoramos. Pues bien, si vemos en esta misma página, está la explicación. MONTAUT OROPEZA DIEGO
62
SISTEMAS WEB
UNIDAD 5
APACHE
Editemos el archivo $CATALINA_HOME/conf/tomcat-users.xml y agreguemos una línea como esta: <?xml version='1.0' encoding='utf-8'?> <tomcat-users> <role rolename="manager"/> <role rolename="admin"/> <user username="admin" password="admin" roles="admin,manager"/> </tomcat-users> Reiniciamos el Tomcat, y tratamos de entrar nuevamente al Tomcat Manager utilizando el usuario admin con contraseña admin. Fig. 5.21 ADMINISTRACION TOMCAT
Desde aquí podemos detener una aplicación en ejecución, reiniciarla, replegarla (desinstarla), y crear una nueva aplicación web. Incluso podemos cargar un nuevo .war.
MONTAUT OROPEZA DIEGO
63
SISTEMAS WEB
UNIDAD 5
APACHE
LIGHTTPD
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 y UNIX de forma oficial. Para Microsoft Windows actualmente hay una distribución conocida como Lighttpd For Windows. CARACTERISTICAS: • • • • • • • • • • • • •
Soporte para PHP, Ruby, Python y otros Entorno chroot Cifrado SSL Autenticación (LDAP, htpasswd, otros) Consumo de memoria constante Redirecciones HTTP, y reescrituras de URL Puede enviar partes de un fichero (rangos) Puede usar select() o poll() También permite otros sistemas de notificación de 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
CONFIGURACION E INSTALACION: Descomprimimos la carpeta y la ubicamos donde mejor, más ordenado nos parezca. Como esto es un ejemplo la ubicare en la raíz de C mismamente: C:LightTPD Dentro de esta carpeta tenemos una subcarpeta (conf) con los distintos archivos de configuración del servidor. Abrimos lighttpd-inc.conf con un editor de texto plano cualquiera (notepad, notepad++ o el que deseemos).
MONTAUT OROPEZA DIEGO
64
SISTEMAS WEB
UNIDAD 5
APACHE
Las líneas que empiezan por el carácter # (almoadilla) están comentadas, si deseamos descomentarlas solo hay que borrar ese carácter # inicial. Al principio del archivo de configuración aparecen los distintos módulos que se van a cargar con el servidor (mod_acces, mod_alias…) pero muchos están comentados y no se van a cargar. De todos los comentados nos interesa descomentar las líneas correspondientes a: #
“mod_fastcgi”,
#
“mod_rewrite”,
El módulo mod_fastcgi nos permitirá ejecutar PHP, Perl, .Net… y mod_rewrite traduce las URL para disponer de URLs amigables. Si tenemos instalado otro Servidor Web en el mismo ordenador estara ocupando seguramente el puerto 80 o anque no este ocupado puede que debido al router u otro motivo no podamos usar el puerto que usan los servidores web por defecto (80). Para cambiarlo descomentamos la linea que indica: #server.port
= 81
Y sustituimos el puerto 81 si no nos es válido por el que deseemos (8080, 8081…). Guardamos los cambios y vamos a probar si está todo bien. Volvemos a la carpeta raíz donde se halla instalado el lightTPD (C:LightTPD) y ejecutamos el fichero TestMode.bat. Si no se ha abierto el navegador lo abrimos nosotros y escribimos como dirección URL: http://localhost/ o bien si habíamos cambiado el puerto por ejemplo por el 81: http://localhost:81/ Y ya tenemos instalado el servidor para hacer pruebas locales. TIPOS DE SISTEMAS OPERATIVOS: Los software anteriores son compatibles para diversas distribuciones de Linux y para las versiones de Windows server.
MONTAUT OROPEZA DIEGO
65
SISTEMAS WEB
UNIDAD 5
APACHE
CONCLUSION. Para un desempeño óptimo del servidor deben tomarse muy en cuenta las consideraciones de hardware y software enunciadas ya que proporcionan un incremento en el rendimiento del sistema según las características de éste. Debe darse mucha importancia a la seguridad física del sistema ya que si no se analizan los factores físicos que puedan ocurrir todos los esfuerzos por asegurar un sistema con la tecnología más eficiente no van a servir de nada; se debe pensar más allá de las maneras elementales de sobrepasar los métodos de seguridad, no se debe poner énfasis en una sola manera en que el sistema puede ser atacado.
MONTAUT OROPEZA DIEGO
66
SISTEMAS WEB
UNIDAD 5
APACHE
FUENTES DE INFORMACION. http://www.pydot.com/servidores/software http://www.computing.es/infraestructuras/tendencias/1063034001801/tresgrandes-oportunidades-mercado-servidores-2015.1.html http://es.wikipedia.org/wiki/Servidor http://www.buenastareas.com/ensayos/Caracteristicas-De-UnServidor/649587.html http://www.ecured.cu/index.php/Servidor_HTTP_Apache Apache Server Project http://httpd.apache.org Apache HTTP Server 2.0.49 Releasedhttp://www.apache.org/dist/httpd/Announcement2.html Apache HTTP Server 1.3.31 Released http://www.apache.org/dist/httpd/Announcement.html mod_ssl, The Apache Interface to OpenSSL http://www.modssl.org/ May 2004 Web Server Survey Finds 50 Million Sites http://news.netcraft.com/archives/2004/05/03/ may_2004_web_server_survey_finds_50_million_sites.html http://es.wikipedia.org/wiki/Internet_Information_Services http://mvpway.wordpress.com/2012/08/31/como-instalar-iis-8-en-windows-8/ http://norfipc.com/internet/instalar-usar-servidor-web-iis-windows.html
MONTAUT OROPEZA DIEGO
67