cherokee presentacion

30
Servidor Web Cherokee Leonardo Bernal Bueno Antonio Madrena Lucenilla Servicios de Red e Inet. 2º ASIR IES Gonzalo Nazareno 2 de Diciembre de 2011

Upload: antonio-madrena

Post on 04-Jul-2015

913 views

Category:

Technology


2 download

TRANSCRIPT

Page 1: Cherokee presentacion

Servidor Web Cherokee

Leonardo Bernal BuenoAntonio Madrena Lucenilla

Servicios de Red e Inet. 2º ASIRIES Gonzalo Nazareno

2 de Diciembre de 2011

Page 2: Cherokee presentacion

Introducción

● Cherokee es una alternativa a la hora de montar un servidor web.

● Al ser multiplataforma lo podemos instalar en la mayoría de los Sistemas Operativos existentes y actuales.

● Compartido bajo licencia GNU/Linux.● Rápido y funcional.● Fácil instalación y posterior administración.

Page 3: Cherokee presentacion

Situación presente

● Se encuentra en la versión 1.2.98 desde el 25 de Mayo de 2011.

● A día de hoy soporta tecnologías como FastCGI, PHP, CGI, SSL...

● Soporta métodos de autenticación como PAM, htdigest, htpasswd...

● También se utiliza como balanceador de carga.

Page 4: Cherokee presentacion

Infraestructura

● Cherokee lo hemos configurado en Debian Squeeze, instalada en una máquina virtual KVM con 512 Mb de RAM y un Core.

● La instalación de paquetes la hemos realizado desde los repositorios de Debian.

Page 5: Cherokee presentacion

Instalación en Debian Squeeze

● Para la instalación, antes tenemos que poner el nombre FQDN de la máquina, modificando el ficher /etc/hosts10.0.0.200 cherokee.example.com cherokee

● Una vez corregido, instalamos el servidor y el cliente de MySQL.

#aptitude intude install mysql­server

#aptitude install mysql­client

Page 6: Cherokee presentacion

Instalación

● Una vez instalado MySQL, procedemos a la instalación de Cherokee.

#aptitude install cherokee● Ya tenemos nuestro servidor web instalado y

funcionando.● Para comprobarlo accedemos al navegador

desde cualquier equipo de la red, y ponemos en la barra de dirección la IP del servidor.

Page 7: Cherokee presentacion

Administración de Cherokee

● La configuración de Cherokee se puede hacer mediante la consola de texto o por la interfaz gráfica.

● La forma más intuitiva es hacerlo mediante el navegador web, ya que no es necesario modificar ficheros de configuración.

● Los ficheros de configuración no son nada intuitivos, y para administrarlo se debe tener bastante idea de lo que significa cada directiva.

Page 8: Cherokee presentacion

Administración de Cherokee (II)

● Para la administración gráfica tenemos que acceder mediante el navegador, y para ello y desde nuestro servidor, tenemos que ejecutar el comando siguiente y dejarlo ejecutándose.

#cherokee­admin ­b● Una vez ejecutado lo dejamos ejecutándose

y accedemos desde un navegador de la siguiente manera:

http://10.0.0.200:9090

Page 9: Cherokee presentacion

Usuario y password lo

proporciona el comando

anteriormente ejecutado

Page 10: Cherokee presentacion

Administración de Cherokee (III)

Page 11: Cherokee presentacion

Virtual Hosting (consola)

● Desde consola tenemos que crear un directorio dentro de /var/www (por ejemplo sitio1) con un mensaje de bienvenida.

● Asignamos los permisos necesarios:

#chown ­R www­data:www­data sitio1

● Creamos los directorios sites-available y sites-enable y en el primero el fichero con la configuración deseada.

● Una vez terminado creamos un enlace a sites-enable y reiniciamos el servicio.

Page 12: Cherokee presentacion

Virtual Hosting (gráfica)

● Accedemos a la pestaña vServers y le damos a añadir un nuevo servidor.

– Nombre: www.vserver.com

– Raiz de documentos: /var/www

– Índices de directorios: vserver/index.html

● Guardamos los cambios y reiniciamos el servicio.

Page 13: Cherokee presentacion

Se puede observar el correcto funcionamiento del Virtual Hosting

Page 14: Cherokee presentacion

Autenticación con Basic

● Para éste tipo de autenticación, accedemos en la interfaz gráfica a la pestaña vServers, y seleccionando uno de los sitios creados anteriormente, pulsamos en Administración de Reglas.

● En la siguiente ventana seleccionamos la pestaña Seguridad.

● En el menú desplegable de Mecanismos de autenticación seleccionamos la opción “por fichero htpasswd”.

Page 15: Cherokee presentacion

Autenticación con Basic (II)

● Se nos abre una lista, la cual tenemos que completar de la siguiente manera.

Page 16: Cherokee presentacion

Autenticación con Basic (III)

● Para crear el fichero con los usuarios y contraseñas se usa el siguiente comando:

#htpasswd ­c fichero.txt usuario1● Una vez creado el fichero se ejecuta el

comando sin la opción “-c” para añadir otro usuario.

#htpasswd fichero.txt usuario2

Page 17: Cherokee presentacion

Autenticación con Digest

● Con digest hay que seleccionar la opción htdigest.

● Tenemos que rellenar, al igual que con el método basic, una lista de opciones.

● Para crear el archivo de los usuarios tenemos que usar el comando htdigest.

#htdigest -c fichero.txt dominio usuario1

#htdigest fichero.txt dominio usuario2

Page 18: Cherokee presentacion

Autenticación con Digest (II)

Page 19: Cherokee presentacion

Autenticación PAM

● En el mismo lugar donde se elige la autenticación de digest y basic, tenemos la opción PAM.

● Para que el servidor pueda reconocer los usuarios del sistema tenemos que añadir el fochero shadow al grupo www-data.

#adduser www-data shadow● La configuración a seguir es la siguiente.

Page 20: Cherokee presentacion

Autenticación PAM (II)

Page 21: Cherokee presentacion

Ejecución de Scripts PHP

● Para ello tenemos que instalar el paquete de php:#aptitude install php5 php5­cgi php5­mysql

● Ahora tenemos que editar el fichero /etc/php5/cgi/php.ini y descomentar la línea siguiente:

cgi.fix_pathinfo=1● Reiniciamos el servidor web cherokee

/etc/init.d/cherokee restart

Page 22: Cherokee presentacion

Ejecución de Scripts PHP (II)

● A continuación entramos en la consola de administración.

● Seleccionamos Default y entramos la pestaña vServers y a continuación en la pestaña comportamiento.

● Ahora damos al botón Rule Management y ponemos el soporte de Gzip a Activado.

● Creamos un nuevo comportamiento.● Seleccionamos Lenguajes > PHP.

Page 23: Cherokee presentacion

Ejecución de Scripts PHP (III)

● Damos a añadir y después Crear.● Tenemos que poner el NO FINAL en FINAL

pulsando sobre él.● Permitimos Gzip.● Reiniciamos el servicio.

Page 24: Cherokee presentacion

Ejecución de Scripts PHP (IV)

Page 25: Cherokee presentacion

Estudio Comparativo

● Comparación entre Cherokee - Apache● Con ayuda del comando ab hemos hecho

peticiones a los servidores, que tienen instalados un gestor de contenidos wordpress.

● Ambos son equipos con las mismas características. Una CPU de un núcleo, 512 Mb de RAM y 8 Gb de disco duro.

Page 26: Cherokee presentacion

Estudio comparativo (II)

● La primera prueba que hemos hecho es:– 5000 peticiones y 20 concurrentes.

Page 27: Cherokee presentacion

Estudio comparativo (III)

– 50000 peticiones y 100 concurrentes:

Page 28: Cherokee presentacion

Estudio comparativo (IV)

● En las pruebas de rendimiento de memoria hemos comprobado que Cherokee utiliza menos recursos que Apache.

● La razón es que cherokee lo hace todo desde un único proceso que se abre en hebras, al contrario que apache que son varios que se desglosan en varios subprocesos.

Page 29: Cherokee presentacion

Alternativas posibles

● Una alternativa, es Apache.● Apache, hasta el momento es el más

utilizado, a pesar de ser más lento resolviendo peticiones.

● Otros servidores webs son:– Apache

– Internet Information Server (IIS)

– Tomcat (de Apache)

Page 30: Cherokee presentacion

Recomendación

● Cherokee-project● Documentación HowToForge.com● Google

● Si ha quedado alguna duda, puedes pedir el documento PDF donde queda más detallado cada uno de los pasos.