SlideShare ist ein Scribd-Unternehmen logo
1 von 19
Downloaden Sie, um offline zu lesen
 
   SERVIDOR WEB 
                CHEROKEE
                        




             Leonardo Bernal Bueno
           Antonio Madrena Lucenilla

              2 de Diciembre de 2011




Este obra está bajo una licencia de Creative Commons
Reconocimiento-NoComercial-CompartirIgual 2.5 España.




                         1
Índice
Introducción al servidor web Cherokee............................3
Instalación de Cherokee.........................................3
Configuración del servidor web...................................4
Virtual Hosting..................................................6
Autenticación y control de acceso...............................10
  Autenticación Basic
  Autenticación Digest
  Autenticación PAM
Ejecución de scripts PHP........................................16
Estudio comparativo cherokee­apache.............................18
Conclusiones....................................................19
Bibliografía....................................................20




                                2
Introducción al servidor web cherokee
La finalidad de este documento es crear un manual donde explicar detalladamente las
funcionalidades del servidor web cherokee.


Cherokee es un servidor web multiplataforma, de licencia GNU, cuyo principal objetivo es ser
rápido y funcional, sin dejar de ser fácil su instalación y su posterior administración.


Soporta tecnologías como:
   •   FastCGI, SCGI, PHP, CGI, SSI, SSL/TLS
   •   Virtual Hosting
   •   Redirecciones
   •   Balanceadores de carga
   •   Administración mediante interfaz web
   •   Market de instalación de aplicaciones web




Instalación de cherokee

Queremos instalar cherokee con php y mysql, por lo que tenemos que incluir los paquetes
necesarios en la instalación. Éstos son los paquetes mysql-admin y php5 con sus respectivas
dependencias.


Nota: El nombre de máquina FQDN debe estar definido correctamente en el fichero hosts.


Primero instalamos mysql,
#aptitude install mysql­server mysql­client


Ahora instalamos el servidor web cherokee. Es un paquete que está en los repositorios oficiales, por
lo que con aptitude se instala.
#aptitude install cherokee


Una vez terminado el proceso de instalación ya tenemos el servidor web básico. Como no tiene
interfaz gráfica el servidor entramos desde el navegador de la máquina anfitriona.




                                                 3
Configuración de cherokee

La administración de cherokee se puede hacer de dos formas: por consola o por interfaz gráfica.
a) Consola textual
La forma menos usual de administrar el servidor es mediante la consola de texto.
El principal fichero de configuración es cherokee.conf, donde aparecen las directivas de
configuración.
Las directivas más importantes son las siguientes:
   •   server!bind!1!port = 80 → Escuchar en un puerto TCP. # Es un número secuencial
       desde muchos puertos se puede escuchar a la vez.
   •   server!bind!#!tls = 80 → si el puerto se escucha para HTTPS

   •   server!group = www­data  → grupo efectivo

   •   server!user = www­data → usuario efectivo

   •   server!ipv6 → si permite la conexion con Ipv6

   •   vserver!2!directory_index = vservers/index.html → Lista de cadenas: los índices
       de Directory
   •   vserver!2!document_root = /var/www → Ruta del documento raíz

   •   vserver!2!nick = www.vservers.com → El nombre del servidor virtual

   •   vserver!1!error_writer!filename   =   /var/log/cherokee/cherokee.error                  →
       especifica los errores producidos.




                                                 4
b) Interfaz gráfica
Para hacer configuraciones mediante la interfaz gráfica, antes tenemos que ejecutar la instrucción
“cherokee­admin   ­b” en una terminal. Este comando genera un nombre de usuario (por
defecto admin) y una contraseña aleatoria. Dejamos abierta la terminal con el comando
ejecutándose,   y    desde   el    cliente    entramos     al    navegador    a    la    dirección
“http://ip_servidor:9090” donde nos pide el nombre de usuario y contraseña que genera
el comando anterior.




                                                5
Una vez dentro, vemos la pantalla siguiente.




Podemos observar una información detallada de la configuración del servidor, como el directorio
por defecto (/var/www), fichero de configuración, última vez modificado...


En la parte superior nos ofrece un menú con las opciones de configuración, dependiendo lo que
queramos hacer.


En la pestaña Estado, podemos observar la monitorización del servidor. Para poder utilizarlo,
tenemos que habilitar el colector de actividad (tan fácil como pulsar en el enlace).




Virtual Hosting

a) Desde consola:
Las directivas y ficheros de configuración para crear virtual hosts en cherokee son prácticamente
iguales a las de apache2.
Por defecto muchos de los directorios no están creados por lo cual, los creamos nosotros mismos:

1.- Creamos un directorio dentro de /var/www llamado sitio1 y dentro un fichero index.html con
un mensaje de bienvenida.

2.- Asignamos permisos.
#chmod ­R 755 sitio1

                                               6
3.- Creamos el directorios sites-available y sites-enable. Dentro de sites-available creamos un
nuevo fichero llamado sitio1 e incluimos en él las directivas para nuestro virtual hosting:

<VirtualHost *:80> 
     ServerAdmin usuario@sitio1.com 
     ServerName www.sitio1.com 
     DocumentRoot /var/www/

       <Directory /> 
            Options FollowSymLinks 
            AllowOverride None 
       </Directory> 

       <Directory /var/www/sitio1> 
            Options Indexes FollowSymLinks MultiViews 
            AllowOverride None 
            Order allow,deny 
            allow from all 
       </Directory> 

       Alias /doc/ "/usr/share/doc/" 

       <Directory "/usr/share/doc/"> 
            Options Indexes MultiViews FollowSymLinks 
            AllowOverride None 
            Order deny,allow 
            Deny from all 
            Allow from 127.0.0.0/255.0.0.0 ::1/128 
       </Directory> 

</VirtualHost> 

4.- Entramos en sites-enable y creamos un enlace simbólico de /etc/cherokee/sites-available/sitio1

ln ­s /etc/cherokee/sites­available/sitio1

5.- A continuación incluimos una linea al fichero hosts de nuestro cliente:

10.0.0.5       www.sitio1.com

6.- Reiniciamos el servicio /etc/init.d/cherokee restart

7.- Editamos el fichero cherokee.conf

vserver!1!directory_index = sitio1/index.html




                                                  7
8.- Si ejecutamos desde nuestro navegador www.sitio1.com/ entramos directamente a nuestro
virtual hosts con el mensaje de bienvenida que definimos nosotros en nuestro index.html:




b) Desde entorno gráfico:
1.- Ejecutamos desde el servidor; cherokee­admin ­b para establecer una nueva conexión y
administrar nuestro servidor web desde entorno gráfico.




                                           8
2.- Accedemos con el nombre de usuario y contraseña a nuestra configuración de cherokee en
entorno gráfico y nos vamos a la pestaña vServers




3.- Añadimos un Nuevo Servidor.
   – Nombre: www.vservers.com
   – Raiz de documentos: /var/www
   – Índices de Directorios: vservers/index.html



                                            9
4.- Guardamos los cambios y reiniciamos el servicio. Agregamos en el fichero hosts la linea;
       ip_servidor           www.vservers.com




Autenticación y Control de Acceso

AUTENTICACION CON BASIC
Para autenticarnos por el método basic, en cherokee tenemos que acceder al panel de administración
con el usuario y contraseña obtenidos del comando “cherokee-admin -b”.
Entramos en la pestaña superior vServers y seleccionamos uno de los sitios creados anteriormente.
Para el ejemplo, seleccionamos www.sitio1.com, y abajo pulsamos en administración de reglas. Se
nos abrirá otra ventana donde tenemos que seleccionar la pestaña Seguridad.
Ahora es cuando elegimos el método a usar. En la sección autenticación cambiamos la única
característica que nos aparece “Mecanismo de validación” por fichero Htpasswd, y se nos abre otras
configuraciones.
Además podemos añadir una lista de usuarios admitidos. Esta directiva es opcional, y por defecto si
la dejamos en blanco permitiremos el acceso a los usuarios incluidos en el fichero basic.txt creado
con la herramienta htpasswd.




                                                10
El formato de la herramienta htpasswd es la siguiente:
htpasswd -c nombre_fichero usuario
Una vez creado, se le quita al comando el parámetro “-c” ya que sirve para crear el fichero.
htpasswd nombre_fichero usuario
       htpasswd ­c /etc/cherokee/basic.txt carolina
       htpasswd  /etc/cherokee/basic.txt manolo
El fichero queda así:




Una vez configurado tenemos que entrar en www.sitio1.com y nos pide el usuario y contraseña.
Tenemos que entrar con uno de los usuarios creados anteriormente.




                                                 11
Desde la linea de comandos, podemos realizar la autenticación Basic incluyendo las siguientes
lineas al fichero cherokee.conf:

vserver!2!rule!1!auth = htpasswd 
vserver!2!rule!1!auth!methods = basic 
vserver!2!rule!1!auth!passwdfile = /etc/cherokee/basic.txt 
vserver!2!rule!1!auth!realm = secret 



AUTENTICACIÓN CON DIGEST
Para autenticarnos por el método digest, en cherokee tenemos que acceder al panel de
administración con el usuario y contraseña obtenidos del comando “cherokee-admin -b”.
Entramos en la pestaña superior vServers y seleccionamos uno de los sitios creados anteriormente.
Para el ejemplo, seleccionamos www.sitio1.com, y abajo pulsamos en administración de reglas. Se
nos abrirá otra ventana donde tenemos que seleccionar la pestaña Seguridad.
Ahora es cuando elegimos el método a usar. En la sección autenticación cambiamos la única
característica que nos aparece “Mecanismo de validación” por fichero htdigest, y se nos abre otras
configuraciones.
Con en el método Basic, podemos añadir una lista de usuarios admitidos. Esta directiva es opcional,
y por defecto si la dejamos en blanco permitiremos el acceso a los usuarios incluidos en el fichero
digest.txt creado con la herramienta htdigest.




                                                12
El formato de la herramienta htdigest es la siguiente:
       htdigest -c nombre_fichero dominio usuario
Una vez creado, se le quita al comando el parámetro “-c” ya que sirve para crear el fichero.
htpasswd nombre_fichero usuario
       htdigest ­c /etc/cherokee/digest.txt dominio carolina
       htdigest  /etc/cherokee/digest.txt dominio manolo
El fichero queda así:




                                                 13
Una vez configurado tenemos que entrar en www.sitio1.com y nos pide el usuario y contraseña.
Tenemos que entrar con uno de los usuarios creados anteriormente.




Desde la linea de comandos, podemos realizar la autenticación Digest incluyendo las siguientes
lineas al fichero cherokee.conf:

vserver!2!rule!1!auth = htdigest 
vserver!2!rule!1!auth!methods = digest 
vserver!2!rule!1!auth!passwdfile = /etc/cherokee/digest.txt 
vserver!2!rule!1!auth!realm = dominio 



AUTENTICACIÓN PAM
Es un mecanismo el cual requiere de un usuario válido en el sistema.
Accedemos al panel de administración con el usuario y contraseña obtenidos del comando
“cherokee-admin -b”.
Entramos en la pestaña superior vServers y seleccionamos uno de los sitios creados anteriormente.
Para el ejemplo, seleccionamos www.sitio1.com, y abajo pulsamos en administración de reglas. Se
nos abrirá otra ventana donde tenemos que seleccionar la pestaña Seguridad.
Elegimos el mecanismo de autentificación a utilizar, en este caso PAM, el método que por defecto
es basic y asignamos el nombre del reino de nuestro recurso protegido (secret).




                                                14
Para que el servidor pueda verificar los nombres de usuarios y sus contraseñas, tenemos que agregar
el fichero shadow al grupo www-data, que es el grupo con el que trabaja nuestro servidor web.
# adduser www­data shadow


Entramos en www.sitio1.com y nos pide el usuario y contraseña. Tenemos que entrar con uno de los
usuarios validados en nuestro equipo.




                                                15
Ejecucición de Scripts PHP
Para ejecutar un script en php tenemos que añadir un virtual hosting desde la consola gráfica. Para
ello antes tenemos que instalar php5.

#aptitude install php5

Una vez instalado, entrar en el panel de control de cherokee, y en la pestaña vServers crear uno
nuevo.
De todas las opciones, elegimos la de Lenguajes, y dentro de ella la de PHP




Se nos habrirá una ventana nueva con información, donde pulsaremos en Siguiente. Nos pregunta el
raíz de documentos; aquí pondremos /var/www y pulsamos Siguiente.




Y en la nueva y última ventana, ponemos en las opciones lo siguiente. Nuevo nombre de host “php”
y en los mismos registros que “default (combinado)”.


                                                 16
Podemos observar el php funcionando, creando un fichero info.php en cualquier destino de nuestro
directorio /var/www




                                               17
Estudio comparativo con Apache2
En este apartado observaremos el comportamiento de cherokee comparándolo con apache.
Empezamos con el rendimiento.
Ayudándonos 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.
La primera prueba de rendimiento se ha hecho con 5000 peticiones y 20 concurrentes. Se puede
observar como cherokee las ha hecho rápido mientras apache se ha quedado al final un poco
frenado.




                                            18
Con 50000 peticiones y 100 concurrentes pasa más o menos parecido. Cherokee al final le cuesta un
poco de trabajo, pero apache tarda más en resolverlas. Pero en ésta han estado un poco más
igualados.




Para las pruebas de memoria, hemos observado como cherokee usa menos memoria y apache va
subiendo el uso de memoria.

Conclusiones
Cherokee es un servidor robusto, del que si se configura correctamente se le puede sacar bastante
partido. Es fácil de utilizar, aunque la mayoría de configuraciones se hacen desde la interfaz web,
cosa poco probable en un entorno de producción.
Otro motivo por el que es el uso de memoria. Usa menos memoria que apache, y responde más
peticiones que otro servidor.
Una de las desventajas que tiene es que si lo quieres configurar desde un entorno textual, tienes que
tener amplios conocimientos, ya que todo se encuentra en un único fichero de configuración, con
una configuración específica de cherokee.
Otra desventaja es la poca documentación que existe. Si entras en su web, tienen documentación
sobre lo que puede hacer, pero no de cómo se hace ni como se podría implementar para diferentes
plataformas.
En resumen, cherokee puede ser usado como servidor web en aquellos lugares donde su
administrador tenga amplios conocimientos de la materia.
Desde mi humilde experiencia, aconsejaría montar un servidor web con apache, ya que tiene amplia
documentación y bastante implementación de los usuarios.


Bibliografía
   •   Documentación de HowToForge.com
   •   Google
   •   cherokee-project.com
   •   Documentación de cherokee-project



                                                 19

Weitere ähnliche Inhalte

Was ist angesagt?

Instalar una red lan en 5 pasos
Instalar una red lan en 5 pasosInstalar una red lan en 5 pasos
Instalar una red lan en 5 pasosDiego Kairoz
 
Seguridad de las Redes Informáticas
Seguridad de las Redes InformáticasSeguridad de las Redes Informáticas
Seguridad de las Redes InformáticasJACQUELINELUZARDO
 
Novedades Windows Server 2016 TP5
Novedades Windows Server 2016 TP5Novedades Windows Server 2016 TP5
Novedades Windows Server 2016 TP5Ivan Martinez
 
DISEÑO DE UNA RED DE ÁREA LOCAL
DISEÑO DE UNA RED DE ÁREA LOCALDISEÑO DE UNA RED DE ÁREA LOCAL
DISEÑO DE UNA RED DE ÁREA LOCALDesireeomtz
 
IPTABLES y SQUID‏
IPTABLES y SQUID‏IPTABLES y SQUID‏
IPTABLES y SQUID‏ingpuma
 
5.2.2.6 lab configuring dynamic and static nat - ilm
5.2.2.6 lab   configuring dynamic and static nat - ilm5.2.2.6 lab   configuring dynamic and static nat - ilm
5.2.2.6 lab configuring dynamic and static nat - ilmOmar E Garcia V
 
proyecto CIBERCAFÉ
proyecto CIBERCAFÉ proyecto CIBERCAFÉ
proyecto CIBERCAFÉ delia96
 
GESTION DE ARCHIVOS POR LINEA DE COMANDOS
GESTION DE ARCHIVOS POR LINEA DE COMANDOSGESTION DE ARCHIVOS POR LINEA DE COMANDOS
GESTION DE ARCHIVOS POR LINEA DE COMANDOSsofia Martinez
 
Publicación de un Servidor Web a través de un Módem Doméstico.
Publicación de un Servidor Web a través de un Módem Doméstico.Publicación de un Servidor Web a través de un Módem Doméstico.
Publicación de un Servidor Web a través de un Módem Doméstico.Gerardo Martínez
 
Password selection,piggybacking-
Password selection,piggybacking-Password selection,piggybacking-
Password selection,piggybacking-Baljit Saini
 
protocolo TCP/IP
protocolo TCP/IPprotocolo TCP/IP
protocolo TCP/IPComdat4
 
Presentacion Ftp
Presentacion FtpPresentacion Ftp
Presentacion Ftpalexmerono
 
Creacion de una red wan en cisco packet tracer
Creacion de una red wan en cisco packet tracerCreacion de una red wan en cisco packet tracer
Creacion de una red wan en cisco packet tracerJenny Lophezz
 
Ejercicios de-subneteo-14
Ejercicios de-subneteo-14Ejercicios de-subneteo-14
Ejercicios de-subneteo-14Liseth Chávez
 
Curso: Seguridad física y criptografía: Centro de datos
Curso: Seguridad física y criptografía: Centro de datosCurso: Seguridad física y criptografía: Centro de datos
Curso: Seguridad física y criptografía: Centro de datosJack Daniel Cáceres Meza
 

Was ist angesagt? (20)

Instalar una red lan en 5 pasos
Instalar una red lan en 5 pasosInstalar una red lan en 5 pasos
Instalar una red lan en 5 pasos
 
Seguridad de las Redes Informáticas
Seguridad de las Redes InformáticasSeguridad de las Redes Informáticas
Seguridad de las Redes Informáticas
 
Novedades Windows Server 2016 TP5
Novedades Windows Server 2016 TP5Novedades Windows Server 2016 TP5
Novedades Windows Server 2016 TP5
 
DISEÑO DE UNA RED DE ÁREA LOCAL
DISEÑO DE UNA RED DE ÁREA LOCALDISEÑO DE UNA RED DE ÁREA LOCAL
DISEÑO DE UNA RED DE ÁREA LOCAL
 
Introduccion hyper v
Introduccion hyper vIntroduccion hyper v
Introduccion hyper v
 
IPTABLES y SQUID‏
IPTABLES y SQUID‏IPTABLES y SQUID‏
IPTABLES y SQUID‏
 
Presentación cmd
Presentación cmdPresentación cmd
Presentación cmd
 
Servidor Apache
Servidor Apache Servidor Apache
Servidor Apache
 
5.2.2.6 lab configuring dynamic and static nat - ilm
5.2.2.6 lab   configuring dynamic and static nat - ilm5.2.2.6 lab   configuring dynamic and static nat - ilm
5.2.2.6 lab configuring dynamic and static nat - ilm
 
proyecto CIBERCAFÉ
proyecto CIBERCAFÉ proyecto CIBERCAFÉ
proyecto CIBERCAFÉ
 
GESTION DE ARCHIVOS POR LINEA DE COMANDOS
GESTION DE ARCHIVOS POR LINEA DE COMANDOSGESTION DE ARCHIVOS POR LINEA DE COMANDOS
GESTION DE ARCHIVOS POR LINEA DE COMANDOS
 
Publicación de un Servidor Web a través de un Módem Doméstico.
Publicación de un Servidor Web a través de un Módem Doméstico.Publicación de un Servidor Web a través de un Módem Doméstico.
Publicación de un Servidor Web a través de un Módem Doméstico.
 
Password selection,piggybacking-
Password selection,piggybacking-Password selection,piggybacking-
Password selection,piggybacking-
 
protocolo TCP/IP
protocolo TCP/IPprotocolo TCP/IP
protocolo TCP/IP
 
Presentacion Ftp
Presentacion FtpPresentacion Ftp
Presentacion Ftp
 
Creacion de una red wan en cisco packet tracer
Creacion de una red wan en cisco packet tracerCreacion de una red wan en cisco packet tracer
Creacion de una red wan en cisco packet tracer
 
Active directory
Active directoryActive directory
Active directory
 
Ejercicios de-subneteo-14
Ejercicios de-subneteo-14Ejercicios de-subneteo-14
Ejercicios de-subneteo-14
 
Curso: Seguridad física y criptografía: Centro de datos
Curso: Seguridad física y criptografía: Centro de datosCurso: Seguridad física y criptografía: Centro de datos
Curso: Seguridad física y criptografía: Centro de datos
 
Servidores de Aplicaciones (Definiciones)
Servidores de Aplicaciones (Definiciones)Servidores de Aplicaciones (Definiciones)
Servidores de Aplicaciones (Definiciones)
 

Ähnlich wie Cherokee

Ähnlich wie Cherokee (20)

Servicio HTTP en Ubuntu (Apache)
Servicio HTTP en Ubuntu (Apache)Servicio HTTP en Ubuntu (Apache)
Servicio HTTP en Ubuntu (Apache)
 
Cherokee presentacion
Cherokee presentacionCherokee presentacion
Cherokee presentacion
 
Apli t1 practicas_apache
Apli t1 practicas_apacheApli t1 practicas_apache
Apli t1 practicas_apache
 
Servidor apache
Servidor apacheServidor apache
Servidor apache
 
5 servidor web
5 servidor web5 servidor web
5 servidor web
 
practica 1 apache
practica 1 apachepractica 1 apache
practica 1 apache
 
Servidor web Apache
Servidor web ApacheServidor web Apache
Servidor web Apache
 
Servidorweb
ServidorwebServidorweb
Servidorweb
 
Configuracion de proxy squid en centos
Configuracion de proxy squid en centosConfiguracion de proxy squid en centos
Configuracion de proxy squid en centos
 
Servidorweb casero
Servidorweb caseroServidorweb casero
Servidorweb casero
 
Servidores Web en GNU/Linux
Servidores Web en GNU/LinuxServidores Web en GNU/Linux
Servidores Web en GNU/Linux
 
Instalación de cms en un servidor
Instalación de cms en un servidorInstalación de cms en un servidor
Instalación de cms en un servidor
 
Configuracion de proxy squid en centos
Configuracion de proxy squid en centosConfiguracion de proxy squid en centos
Configuracion de proxy squid en centos
 
Daw02 tarea
Daw02 tareaDaw02 tarea
Daw02 tarea
 
Instalación de CMS´s en un VirtualHost
Instalación de CMS´s en un VirtualHostInstalación de CMS´s en un VirtualHost
Instalación de CMS´s en un VirtualHost
 
Nginx
NginxNginx
Nginx
 
1212
12121212
1212
 
Instalación de 2 CMS: Wordpress y Drupal
Instalación de 2 CMS: Wordpress y DrupalInstalación de 2 CMS: Wordpress y Drupal
Instalación de 2 CMS: Wordpress y Drupal
 
Joomla 3.0 avanzado
Joomla 3.0 avanzadoJoomla 3.0 avanzado
Joomla 3.0 avanzado
 
Internal.docx
Internal.docxInternal.docx
Internal.docx
 

Kürzlich hochgeladen

Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricKeyla Dolores Méndez
 
Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxLolaBunny11
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)GDGSucre
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx241521559
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITMaricarmen Sánchez Ruiz
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíassuserf18419
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIAWilbisVega
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveFagnerLisboa3
 
9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudianteAndreaHuertas24
 
Desarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfDesarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfJulian Lamprea
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfsoporteupcology
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan JosephBRAYANJOSEPHPEREZGOM
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...silviayucra2
 

Kürzlich hochgeladen (13)

Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
 
Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptx
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNIT
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnología
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
 
9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante
 
Desarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfDesarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdf
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdf
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Joseph
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
 

Cherokee

  • 1.   SERVIDOR WEB    CHEROKEE   Leonardo Bernal Bueno Antonio Madrena Lucenilla 2 de Diciembre de 2011 Este obra está bajo una licencia de Creative Commons Reconocimiento-NoComercial-CompartirIgual 2.5 España. 1
  • 2. Índice Introducción al servidor web Cherokee............................3 Instalación de Cherokee.........................................3 Configuración del servidor web...................................4 Virtual Hosting..................................................6 Autenticación y control de acceso...............................10 Autenticación Basic Autenticación Digest Autenticación PAM Ejecución de scripts PHP........................................16 Estudio comparativo cherokee­apache.............................18 Conclusiones....................................................19 Bibliografía....................................................20 2
  • 3. Introducción al servidor web cherokee La finalidad de este documento es crear un manual donde explicar detalladamente las funcionalidades del servidor web cherokee. Cherokee es un servidor web multiplataforma, de licencia GNU, cuyo principal objetivo es ser rápido y funcional, sin dejar de ser fácil su instalación y su posterior administración. Soporta tecnologías como: • FastCGI, SCGI, PHP, CGI, SSI, SSL/TLS • Virtual Hosting • Redirecciones • Balanceadores de carga • Administración mediante interfaz web • Market de instalación de aplicaciones web Instalación de cherokee Queremos instalar cherokee con php y mysql, por lo que tenemos que incluir los paquetes necesarios en la instalación. Éstos son los paquetes mysql-admin y php5 con sus respectivas dependencias. Nota: El nombre de máquina FQDN debe estar definido correctamente en el fichero hosts. Primero instalamos mysql, #aptitude install mysql­server mysql­client Ahora instalamos el servidor web cherokee. Es un paquete que está en los repositorios oficiales, por lo que con aptitude se instala. #aptitude install cherokee Una vez terminado el proceso de instalación ya tenemos el servidor web básico. Como no tiene interfaz gráfica el servidor entramos desde el navegador de la máquina anfitriona. 3
  • 4. Configuración de cherokee La administración de cherokee se puede hacer de dos formas: por consola o por interfaz gráfica. a) Consola textual La forma menos usual de administrar el servidor es mediante la consola de texto. El principal fichero de configuración es cherokee.conf, donde aparecen las directivas de configuración. Las directivas más importantes son las siguientes: • server!bind!1!port = 80 → Escuchar en un puerto TCP. # Es un número secuencial desde muchos puertos se puede escuchar a la vez. • server!bind!#!tls = 80 → si el puerto se escucha para HTTPS • server!group = www­data  → grupo efectivo • server!user = www­data → usuario efectivo • server!ipv6 → si permite la conexion con Ipv6 • vserver!2!directory_index = vservers/index.html → Lista de cadenas: los índices de Directory • vserver!2!document_root = /var/www → Ruta del documento raíz • vserver!2!nick = www.vservers.com → El nombre del servidor virtual • vserver!1!error_writer!filename   =   /var/log/cherokee/cherokee.error  → especifica los errores producidos. 4
  • 5. b) Interfaz gráfica Para hacer configuraciones mediante la interfaz gráfica, antes tenemos que ejecutar la instrucción “cherokee­admin   ­b” en una terminal. Este comando genera un nombre de usuario (por defecto admin) y una contraseña aleatoria. Dejamos abierta la terminal con el comando ejecutándose, y desde el cliente entramos al navegador a la dirección “http://ip_servidor:9090” donde nos pide el nombre de usuario y contraseña que genera el comando anterior. 5
  • 6. Una vez dentro, vemos la pantalla siguiente. Podemos observar una información detallada de la configuración del servidor, como el directorio por defecto (/var/www), fichero de configuración, última vez modificado... En la parte superior nos ofrece un menú con las opciones de configuración, dependiendo lo que queramos hacer. En la pestaña Estado, podemos observar la monitorización del servidor. Para poder utilizarlo, tenemos que habilitar el colector de actividad (tan fácil como pulsar en el enlace). Virtual Hosting a) Desde consola: Las directivas y ficheros de configuración para crear virtual hosts en cherokee son prácticamente iguales a las de apache2. Por defecto muchos de los directorios no están creados por lo cual, los creamos nosotros mismos: 1.- Creamos un directorio dentro de /var/www llamado sitio1 y dentro un fichero index.html con un mensaje de bienvenida. 2.- Asignamos permisos. #chmod ­R 755 sitio1 6
  • 7. 3.- Creamos el directorios sites-available y sites-enable. Dentro de sites-available creamos un nuevo fichero llamado sitio1 e incluimos en él las directivas para nuestro virtual hosting: <VirtualHost *:80>  ServerAdmin usuario@sitio1.com  ServerName www.sitio1.com  DocumentRoot /var/www/ <Directory />  Options FollowSymLinks  AllowOverride None  </Directory>  <Directory /var/www/sitio1>  Options Indexes FollowSymLinks MultiViews  AllowOverride None  Order allow,deny  allow from all  </Directory>  Alias /doc/ "/usr/share/doc/"  <Directory "/usr/share/doc/">  Options Indexes MultiViews FollowSymLinks  AllowOverride None  Order deny,allow  Deny from all  Allow from 127.0.0.0/255.0.0.0 ::1/128  </Directory>  </VirtualHost>  4.- Entramos en sites-enable y creamos un enlace simbólico de /etc/cherokee/sites-available/sitio1 ln ­s /etc/cherokee/sites­available/sitio1 5.- A continuación incluimos una linea al fichero hosts de nuestro cliente: 10.0.0.5 www.sitio1.com 6.- Reiniciamos el servicio /etc/init.d/cherokee restart 7.- Editamos el fichero cherokee.conf vserver!1!directory_index = sitio1/index.html 7
  • 8. 8.- Si ejecutamos desde nuestro navegador www.sitio1.com/ entramos directamente a nuestro virtual hosts con el mensaje de bienvenida que definimos nosotros en nuestro index.html: b) Desde entorno gráfico: 1.- Ejecutamos desde el servidor; cherokee­admin ­b para establecer una nueva conexión y administrar nuestro servidor web desde entorno gráfico. 8
  • 9. 2.- Accedemos con el nombre de usuario y contraseña a nuestra configuración de cherokee en entorno gráfico y nos vamos a la pestaña vServers 3.- Añadimos un Nuevo Servidor. – Nombre: www.vservers.com – Raiz de documentos: /var/www – Índices de Directorios: vservers/index.html 9
  • 10. 4.- Guardamos los cambios y reiniciamos el servicio. Agregamos en el fichero hosts la linea; ip_servidor www.vservers.com Autenticación y Control de Acceso AUTENTICACION CON BASIC Para autenticarnos por el método basic, en cherokee tenemos que acceder al panel de administración con el usuario y contraseña obtenidos del comando “cherokee-admin -b”. Entramos en la pestaña superior vServers y seleccionamos uno de los sitios creados anteriormente. Para el ejemplo, seleccionamos www.sitio1.com, y abajo pulsamos en administración de reglas. Se nos abrirá otra ventana donde tenemos que seleccionar la pestaña Seguridad. Ahora es cuando elegimos el método a usar. En la sección autenticación cambiamos la única característica que nos aparece “Mecanismo de validación” por fichero Htpasswd, y se nos abre otras configuraciones. Además podemos añadir una lista de usuarios admitidos. Esta directiva es opcional, y por defecto si la dejamos en blanco permitiremos el acceso a los usuarios incluidos en el fichero basic.txt creado con la herramienta htpasswd. 10
  • 11. El formato de la herramienta htpasswd es la siguiente: htpasswd -c nombre_fichero usuario Una vez creado, se le quita al comando el parámetro “-c” ya que sirve para crear el fichero. htpasswd nombre_fichero usuario htpasswd ­c /etc/cherokee/basic.txt carolina htpasswd  /etc/cherokee/basic.txt manolo El fichero queda así: Una vez configurado tenemos que entrar en www.sitio1.com y nos pide el usuario y contraseña. Tenemos que entrar con uno de los usuarios creados anteriormente. 11
  • 12. Desde la linea de comandos, podemos realizar la autenticación Basic incluyendo las siguientes lineas al fichero cherokee.conf: vserver!2!rule!1!auth = htpasswd  vserver!2!rule!1!auth!methods = basic  vserver!2!rule!1!auth!passwdfile = /etc/cherokee/basic.txt  vserver!2!rule!1!auth!realm = secret  AUTENTICACIÓN CON DIGEST Para autenticarnos por el método digest, en cherokee tenemos que acceder al panel de administración con el usuario y contraseña obtenidos del comando “cherokee-admin -b”. Entramos en la pestaña superior vServers y seleccionamos uno de los sitios creados anteriormente. Para el ejemplo, seleccionamos www.sitio1.com, y abajo pulsamos en administración de reglas. Se nos abrirá otra ventana donde tenemos que seleccionar la pestaña Seguridad. Ahora es cuando elegimos el método a usar. En la sección autenticación cambiamos la única característica que nos aparece “Mecanismo de validación” por fichero htdigest, y se nos abre otras configuraciones. Con en el método Basic, podemos añadir una lista de usuarios admitidos. Esta directiva es opcional, y por defecto si la dejamos en blanco permitiremos el acceso a los usuarios incluidos en el fichero digest.txt creado con la herramienta htdigest. 12
  • 13. El formato de la herramienta htdigest es la siguiente: htdigest -c nombre_fichero dominio usuario Una vez creado, se le quita al comando el parámetro “-c” ya que sirve para crear el fichero. htpasswd nombre_fichero usuario htdigest ­c /etc/cherokee/digest.txt dominio carolina htdigest  /etc/cherokee/digest.txt dominio manolo El fichero queda así: 13
  • 14. Una vez configurado tenemos que entrar en www.sitio1.com y nos pide el usuario y contraseña. Tenemos que entrar con uno de los usuarios creados anteriormente. Desde la linea de comandos, podemos realizar la autenticación Digest incluyendo las siguientes lineas al fichero cherokee.conf: vserver!2!rule!1!auth = htdigest  vserver!2!rule!1!auth!methods = digest  vserver!2!rule!1!auth!passwdfile = /etc/cherokee/digest.txt  vserver!2!rule!1!auth!realm = dominio  AUTENTICACIÓN PAM Es un mecanismo el cual requiere de un usuario válido en el sistema. Accedemos al panel de administración con el usuario y contraseña obtenidos del comando “cherokee-admin -b”. Entramos en la pestaña superior vServers y seleccionamos uno de los sitios creados anteriormente. Para el ejemplo, seleccionamos www.sitio1.com, y abajo pulsamos en administración de reglas. Se nos abrirá otra ventana donde tenemos que seleccionar la pestaña Seguridad. Elegimos el mecanismo de autentificación a utilizar, en este caso PAM, el método que por defecto es basic y asignamos el nombre del reino de nuestro recurso protegido (secret). 14
  • 15. Para que el servidor pueda verificar los nombres de usuarios y sus contraseñas, tenemos que agregar el fichero shadow al grupo www-data, que es el grupo con el que trabaja nuestro servidor web. # adduser www­data shadow Entramos en www.sitio1.com y nos pide el usuario y contraseña. Tenemos que entrar con uno de los usuarios validados en nuestro equipo. 15
  • 16. Ejecucición de Scripts PHP Para ejecutar un script en php tenemos que añadir un virtual hosting desde la consola gráfica. Para ello antes tenemos que instalar php5. #aptitude install php5 Una vez instalado, entrar en el panel de control de cherokee, y en la pestaña vServers crear uno nuevo. De todas las opciones, elegimos la de Lenguajes, y dentro de ella la de PHP Se nos habrirá una ventana nueva con información, donde pulsaremos en Siguiente. Nos pregunta el raíz de documentos; aquí pondremos /var/www y pulsamos Siguiente. Y en la nueva y última ventana, ponemos en las opciones lo siguiente. Nuevo nombre de host “php” y en los mismos registros que “default (combinado)”. 16
  • 17. Podemos observar el php funcionando, creando un fichero info.php en cualquier destino de nuestro directorio /var/www 17
  • 18. Estudio comparativo con Apache2 En este apartado observaremos el comportamiento de cherokee comparándolo con apache. Empezamos con el rendimiento. Ayudándonos 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. La primera prueba de rendimiento se ha hecho con 5000 peticiones y 20 concurrentes. Se puede observar como cherokee las ha hecho rápido mientras apache se ha quedado al final un poco frenado. 18
  • 19. Con 50000 peticiones y 100 concurrentes pasa más o menos parecido. Cherokee al final le cuesta un poco de trabajo, pero apache tarda más en resolverlas. Pero en ésta han estado un poco más igualados. Para las pruebas de memoria, hemos observado como cherokee usa menos memoria y apache va subiendo el uso de memoria. Conclusiones Cherokee es un servidor robusto, del que si se configura correctamente se le puede sacar bastante partido. Es fácil de utilizar, aunque la mayoría de configuraciones se hacen desde la interfaz web, cosa poco probable en un entorno de producción. Otro motivo por el que es el uso de memoria. Usa menos memoria que apache, y responde más peticiones que otro servidor. Una de las desventajas que tiene es que si lo quieres configurar desde un entorno textual, tienes que tener amplios conocimientos, ya que todo se encuentra en un único fichero de configuración, con una configuración específica de cherokee. Otra desventaja es la poca documentación que existe. Si entras en su web, tienen documentación sobre lo que puede hacer, pero no de cómo se hace ni como se podría implementar para diferentes plataformas. En resumen, cherokee puede ser usado como servidor web en aquellos lugares donde su administrador tenga amplios conocimientos de la materia. Desde mi humilde experiencia, aconsejaría montar un servidor web con apache, ya que tiene amplia documentación y bastante implementación de los usuarios. Bibliografía • Documentación de HowToForge.com • Google • cherokee-project.com • Documentación de cherokee-project 19