1 / 33

Servidores Web Apache vs. IIS Una comparación técnica.

Servidores Web Apache vs. IIS Una comparación técnica. Yolifé Arvelo Carlos Castillo William González Miguel Lurgi Osiris Pérez Eduardo Ruiz. Agenda. Overview – Apache Funcionamiento – Apache Overview – IIS Funcionamiento - IIS Comparación – Rendimiento Comparación - Popularidad

mili
Download Presentation

Servidores Web Apache vs. IIS Una comparación técnica.

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Servidores WebApache vs. IISUna comparación técnica. Yolifé Arvelo Carlos Castillo William González Miguel Lurgi Osiris Pérez Eduardo Ruiz

  2. Agenda • Overview – Apache • Funcionamiento – Apache • Overview – IIS • Funcionamiento - IIS • Comparación – Rendimiento • Comparación - Popularidad • Comparación – Seguridad • Conclusiones

  3. Overview – Apache/1.3.26 • Apache 2.0 lanzado al mercado a mediados de abril 2002. • Actualmente menos de 50.000 sites utilizan la nueva versión. En contraste, mas de 10 millones de sites corren Apache/1.3.26. • Plataformas: NetBSD, Digital UNIX, AIX, OS/2, Windows 3.x, SCO, HPUX, Novell NetWare, Macintosh, Be OS, Windows NT, Linux, VMS, AS/400, Windows 95/98, FreeBSD, IRIX, Solaris. • Precio: Gratis. (puede bajarse de apache.org) Incluido en algunas distribuciones de linux. • Ventajas Principales: Cantidad de plataformas soportadas y disponibilidad de código fuente. Modularidad. Costo.

  4. Funcionamiento - Apache • Instalación de Apache en Linux: Binarios Código Fuente • Desventajas • Es necesario poseer compilador correcto • Proceso mas largo y complejo • Desventajas • Particular para cada plataforma • Pocas posibilidades de configuración • Usualmente se consiguen en versiones anteriores a la más reciente. • Ventajas • Fácil Instalación • Incluye Código Fuente • Fácil Configuración • Ventajas • Máxima Flexibilidad • Opción de Configurar libremente • Se puede ajustar libremente según las necesidades

  5. Funcionamiento - Apache • Instalación de binarios en linux • Bajar de www.apache.org/dist/binaries el archivo tar.gz correspondiente a la plataforma • Descomprimir y desempaquetar el archivo gunzip < apache_1.3.26-i386-linux.tar.gz | tar xvf – • Ir al Directorio recién creado (Apache 1.3.26) y ejecutar el script de instalación (Como Root) ./ install.bindist.sh <directorio> • La instalación se llevará a cabo en el directorio mencionado o en /usr/local/apache por defecto

  6. Funcionamiento - Apache • Instalación de Apache – Código Fuente • Descomprimir y desempaquetar el archivo gunzip < apache_1.3.26-i386-linux.tar.gz|tar xvf – • En el directorio de apache, ejecutar el script de configuración ./configure • Ejecutar make • Ejecutar make install

  7. Funcionamiento - Apache • Ejecución Daemon Apache /usr/local/apache/bin/apachectl start Apachectl es un script que facilita el uso de httpd con comandos sencillos como start y stop. Se crea el proceso padre httpd que creara hijos para atender las peticiones de web. Para terminar con el proceso httpd, se le envia una señal TERM al proceso padre, esto lo obliga a matar a los hijos y luego a si mismo.

  8. Funcionamiento - Apache • Configuración La configuración de Apache se realiza mediante directivas en archivos planos, el archivo principal de configuración es el httpd.conf Este archivo consiste de una directiva por linea. Ej. DocumentRoot /usr/web Define cual será el directorio que alberga los archivos del site Adicionalmente, existen dos otros archivos de configuración, el srm.conf que maneja configuraciones para el manejo de recursos en el filesystem como aliases, índices, etc. También esta el access.conf que maneja control de acceso

  9. Funcionamiento - Apache • La Herramienta Configure Permite configuración de apache por línea de comando. Ejecutar configure sin argumentos, utiliza todos los valores por defecto. Configure --help para ayuda con los comandos. Ej:./configure --prefix=/home/httpd --enable-module=speling --disable-module=userdir

  10. Funcionamiento - Apache • Modularidad La distribución de Apache 1.3 trae 44 módulos para su funcionamiento estándar, todos los módulos tienen por nombre mod_XXX. Se pueden Agrupar en 12 Categorías. Módulos adicionales pueden agregarse con la directiva add-module en la herramienta configure. Ej: ./configure --prefix=/usr/local/apache --add-module=/home/redes/mods/mod_sense.c

  11. Funcionamiento - Apache • Categorías de módulos originales de Apache • Core • Creación de Ambientes • Decisiones de acuerdo al tipo de contenido • Mapeo de URL • Manejo de Directorios • Control de Acceso • Respuestas HTTP • Contenido Dinámico • Manejo de Contenido Interno • Logging • Misceláneos

  12. Funcionamiento - Apache • Páginas Dinámicas bajo Apache Surge CGI (Common Gateway Interface) como primera solución para la elaboración de contenido dinámico, mod_perl es una adición para acelerar los scripts CGI CGI permite programar scripts en C/C++, Java, PCL y muchos más, pero el mas común es Perl Mod_cgi es el módulo que maneja CGI y se encuentra habilitado por defecto. ScriptAlias /cgi-bin/ "/usr/local/apache/cgi-bin/" Define el directorio contentivo de los scripts

  13. Funcionamiento - Apache • Directiva para manejar los scripts: AddHandler cgi-script .cgi .pl o igualmente, <Directory "/usr/local/apache/cgi-bin/"> Options ExecCGI AddHandler cgi-script   .cgi   .pl</Directory> Otras opciones para Server Side Scripting son PHP, JSP o incluso ASP

  14. Funcionamiento - Apache • Virtual Hosts en Apache Es posible, configurar varios servidores en una misma maquina para atender peticiones de varios sites. Port 80 ServerName server.dominio.com NameVirtualHost 111.22.33.44 <VirtualHost 111.22.33.44> DocumentRoot /www/domain ServerName www.dominio.com ... </VirtualHost> <VirtualHost 111.22.33.44> DocumentRoot /www/subdominio ServerName www.sub.dominio.com ... </VirtualHost>

  15. Funcionamiento - Apache • Tips de Rendimiento para Apache: • La RAM es importantísima para el buen funcionamiento del servidor, es preciso utilizarla correctamente. • Evitar el swapping evitando que el numero de usuarios se exceda, definir un máximo de conexiones. • Evitar la negociación de contenido • Si no se usa contenido dinámico, deshabilitar la opción.

  16. Overview - IIS • Internet Information Services es el servidor web de la familia Microsoft, la versión mas reciente es la 5, que viene incluida en Windows 2000 Server. Curiosamente, Windows XP no incluye IIS. • Plataformas: Windows NT, Windows 2000 • Precio: Incluido en el NT Option Pack 4.0 (v.4.0), Incluido en el Windows 2000 Server(v.5.0) • Ventajas Principales: ASP, soporte para los APIs de Microsoft, ODBC.

  17. Funcionamiento IIS v5.0 Ventana Original – Internet Information Services

  18. Funcionamiento IIS v5.0 Ventana “Web Site” Aquí se describen datos generales del site como el puerto a utilizar y la dirección IP.

  19. Funcionamiento IIS v5.0 Ventana “Performance” Detalles sobre la configuración para el rendimiento del servidor.

  20. Funcionamiento IIS v5.0 Ventana “Home Directory” Aquí se define el directorio que se utilizará como root y otros detalles de la aplicación.

  21. Funcionamiento IIS v5.0 Ventana “Documents” Aquí se define la pagina a ser entregada inicialmente

  22. Funcionamiento IIS v5.0 Ventana “Security” – Acceso y Autenticación

  23. Funcionamiento IIS v5.0 Ventana “Security” – Acceso Anónimo y Restricciones de IP

  24. Funcionamiento IIS v5.0 Ventana “HTTP Headers” Aquí se definen distintos headers que el cliente procesa para diferentes utilidades

  25. Funcionamiento IIS v5.0 Ventana “Custom Errors” Aquí se definen las páginas que se muestran en caso de error

  26. Funcionamiento IIS v5.0 • Contenido dinámico en IIS El Soporte para ASP viene incluido en IIS, es necesario definir los DSN (Data Source Name) para que se efectúe el contacto con la base de datos. Los archivos .asp son preprocesados y enviados al cliente en forma html

  27. Funcionamiento IIS v5.0 • Módulos en IIS Pueden instalarse módulos independientes en IIS mediante la herramienta regsrv32, esta toma archivos .dll y los registra, luego estos pueden incluirse en el código ASP. Existen módulos para integración con algunas herramientas de desarrollo como ColdFusion y Front Page por un costo adicional. También se pueden adquirir módulos para anti-virus, load-balancing y paralelismo.

  28. Comparación - Rendimiento WebBench de Apache vs. IIS

  29. Comparación - Rendimiento Benchmark realizado por un instituto francés, a diferencia de WebBench, este mide el rendimiento con 10.000 archivos de 4Kb. Por la cantidad de archivos, este benchmark tambien evalua la capacidad del servidor de manejar condiciones extremas.

  30. Comparación - Popularidad

  31. Comparación - Seguridad • El 90% de las vulnerabilidades de seguridad explotadas por virus, gusanos y ataques DoS, están relacionados con IIS. • Microsoft no había dado prioridad a corregir los agujeros de seguridad de IIS hasta mediados del año pasado. El rendimiento ha sido su fuerte, para competir contra Apache. • Apache desde sus inicios ha dado principal importancia a la correctitud y seguridad de su servidor. El rendimiento es una segunda prioridad. • Apache no incluye opción para SSL en su distribución original por evitar problemas legales.

  32. Apache Pros Proyecto Open Source bajo constante desarrollo Mucha información disponible Soporte disponible por parte de gran numero de usuarios y comunidades a nivel mundial Perl Engine integrado ofrece enlaces directos al API ODBC disponible sin costo Gran cantidad de opciones Extensible IIS Pros Fácil de utilizar Poco o nada de configuración necesaria ASP sencillo de utilizar Soporte ODBC integrado Soporte FrontPage integrado Interfaz grafica Disponibilidad de herramientas de desarrollo Mucha información disponible Conclusiones

  33. Apache Contras Configuración inicial necesaria. Perl Engine incrementa considerablemente el uso de memoria. La curva de aprendizaje para uso efectivo del servidor es muy empinada. IIS Contras Cualquier problema serio (crash) puede requerir una reinstalación del servidor. Los módulos y utilidades adicionales deben ser compradas. Un objeto COM mal escrito o un lazo infinito puede matar al servidor. Conclusiones

More Related