Está en la página 1de 33

Servidores Web

Apache vs. IIS


Una comparacin tcnica.
Yolif Arvelo
Carlos Castillo
William Gonzlez
Miguel Lurgi
Osiris Prez
Eduardo Ruiz

Agenda

Overview Apache
Funcionamiento Apache
Overview IIS
Funcionamiento - IIS
Comparacin Rendimiento
Comparacin - Popularidad
Comparacin Seguridad
Conclusiones

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
versin. 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 cdigo fuente. Modularidad. Costo.

Funcionamiento - Apache

Instalacin de Apache en Linux:


Binarios

Ventajas
Fcil
Instalacin
Incluye
Cdigo Fuente
Fcil
Configuracin

Desventajas
Particular para
cada plataforma
Pocas
posibilidades de
configuracin
Usualmente se
consiguen en
versiones
anteriores a la
ms reciente.

Cdigo Fuente
Ventajas
Mxima
Flexibilidad
Opcin de
Configurar
libremente
Se puede
ajustar
libremente
segn las
necesidades

Desventajas
Es
necesario
poseer
compilador
correcto
Proceso
mas largo y
complejo

Funcionamiento - Apache

1.

2.

Instalacin 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

3.

Ir al Directorio recin creado (Apache 1.3.26) y


ejecutar el script de instalacin (Como Root)
./ install.bindist.sh <directorio>

4.

La instalacin se llevar a cabo en el directorio


mencionado o en /usr/local/apache por defecto

Funcionamiento - Apache

Instalacin de Apache Cdigo Fuente

1.

Descomprimir y desempaquetar el archivo


gunzip < apache_1.3.26-i386-linux.tar.gz|tar xvf

2.

En el directorio de apache, ejecutar el script


de configuracin
./configure

3.
4.

Ejecutar make
Ejecutar make install

Funcionamiento - Apache

Ejecucin 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 seal
TERM al proceso padre, esto lo obliga a matar a los hijos
y luego a si mismo.

Funcionamiento - Apache

Configuracin

La configuracin de Apache se realiza mediante


directivas en archivos planos, el archivo principal
de configuracin 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 configuracin,
el srm.conf que maneja configuraciones para el manejo de
recursos en el filesystem como aliases, ndices, etc.
Tambin esta el access.conf que maneja control de acceso

Funcionamiento - Apache

La Herramienta Configure

Permite configuracin de apache por lnea de


comando.
Ejecutar configure sin argumentos, utiliza todos
los valores por defecto.
Configure --help para ayuda con los comandos.
Ej:./configure --prefix=/home/httpd --enablemodule=speling --disable-module=userdir

Funcionamiento - Apache

Modularidad

La distribucin de Apache 1.3 trae 44 mdulos


para su funcionamiento estndar, todos los
mdulos tienen por nombre mod_XXX. Se
pueden Agrupar en 12 Categoras.
Mdulos adicionales pueden agregarse con la
directiva
add-module en la herramienta configure.
Ej: ./configure --prefix=/usr/local/apache --addmodule=/home/redes/mods/mod_sense.c

Funcionamiento - Apache

1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.

Categoras de mdulos originales de


Apache
Core
Creacin de Ambientes
Decisiones de acuerdo al tipo de contenido
Mapeo de URL
Manejo de Directorios
Control de Acceso
Respuestas HTTP
Contenido Dinmico
Manejo de Contenido Interno
Logging
Miscelneos

Funcionamiento - Apache

Pginas Dinmicas bajo Apache

Surge CGI (Common Gateway Interface) como


primera solucin para la elaboracin de contenido
dinmico, mod_perl es una adicin para acelerar
los scripts CGI
CGI permite programar scripts en C/C++, Java, PCL y
muchos ms, pero el mas comn es Perl
Mod_cgi es el mdulo que maneja CGI y se encuentra
habilitado por defecto.
ScriptAlias /cgi-bin/ "/usr/local/apache/cgi-bin/"

Define el directorio contentivo de los scripts

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

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>

Funcionamiento - Apache

1.

2.

3.
4.

Tips de Rendimiento para Apache:


La RAM es importantsima para el buen
funcionamiento del servidor, es preciso
utilizarla correctamente.
Evitar el swapping evitando que el numero de
usuarios se exceda, definir un mximo de
conexiones.
Evitar la negociacin de contenido
Si no se usa contenido dinmico, deshabilitar
la opcin.

Overview - IIS

Internet Information Services es el servidor web


de la familia Microsoft, la versin 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.

Funcionamiento IIS v5.0

Ventana Original Internet Information Services

Funcionamiento IIS v5.0


Ventana Web
Site
Aqu se describen
datos generales
del site como el
puerto a utilizar y
la direccin IP.

Funcionamiento IIS v5.0


Ventana
Performance
Detalles sobre la
configuracin
para el
rendimiento del
servidor.

Funcionamiento IIS v5.0


Ventana Home
Directory
Aqu se define el
directorio que se
utilizar como
root y otros
detalles de la
aplicacin.

Funcionamiento IIS v5.0


Ventana
Documents
Aqu se define la
pagina a ser
entregada
inicialmente

Funcionamiento IIS v5.0

Ventana Security Acceso y Autenticacin

Funcionamiento IIS v5.0

Ventana Security Acceso Annimo y Restricciones de IP

Funcionamiento IIS v5.0


Ventana HTTP
Headers
Aqu se definen
distintos headers
que el cliente
procesa para
diferentes
utilidades

Funcionamiento IIS v5.0


Ventana
Custom Errors
Aqu se definen
las pginas que
se muestran en
caso de error

Funcionamiento IIS v5.0

Contenido dinmico en IIS

El Soporte para ASP viene incluido en IIS, es


necesario definir los DSN (Data Source Name)
para que se efecte el contacto con la base de
datos.
Los archivos .asp son preprocesados y enviados
al cliente en forma html

Funcionamiento IIS v5.0

Mdulos en IIS

Pueden instalarse mdulos independientes en IIS


mediante la herramienta regsrv32, esta toma
archivos .dll y los registra, luego estos pueden
incluirse en el cdigo ASP.
Existen mdulos para integracin con algunas
herramientas de desarrollo como ColdFusion y
Front Page por un costo adicional.
Tambin se pueden adquirir mdulos para antivirus, load-balancing y paralelismo.

Comparacin Rendimiento

WebBench de Apache vs. IIS

Comparacin Rendimiento
Benchmark
realizado por un
instituto francs, 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.

Comparacin - Popularidad

Comparacin - Seguridad

El 90% de las vulnerabilidades de seguridad


explotadas por virus, gusanos y ataques DoS, estn
relacionados con IIS.
Microsoft no haba dado prioridad a corregir los
agujeros de seguridad de IIS hasta mediados del ao
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 opcin para SSL en su distribucin
original por evitar problemas legales.

Conclusiones

Apache

Pros
Proyecto Open Source bajo
constante desarrollo
Mucha informacin 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
Fcil de utilizar
Poco o nada de configuracin
necesaria
ASP sencillo de utilizar
Soporte ODBC integrado
Soporte FrontPage integrado
Interfaz grafica
Disponibilidad de
herramientas de desarrollo
Mucha informacin disponible

Conclusiones

Apache

Contras
Configuracin 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 reinstalacin del
servidor.
Los mdulos y utilidades
adicionales deben ser
compradas.
Un objeto COM mal escrito o
un lazo infinito puede
matar al servidor.

También podría gustarte