Agenda
Overview Apache
Funcionamiento Apache
Overview IIS
Funcionamiento – IIS
Comparación Rendimiento
Comparación – Popularidad
Comparación 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 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.
Funcionamiento – Apache
Instalación de Apache en Linux:
Binarios
Código Fuente
Ventajas
Fácil Instalación
Incluye Código Fuente
Fácil Configuración
Desventajas
Particular para cada plataforma
Pocas posibilidades de configuración
Usualmente se consiguen en versiones anteriores a la más reciente.
Ventajas
Máxima Flexibilidad
Opción de Configurar libremente
Se puede ajustar libremente según las necesidades
Desventajas
Es necesario poseer compilador correcto
Proceso mas largo y complejo
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
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
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.
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
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
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
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
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
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
Página siguiente |