SlideShare uma empresa Scribd logo
1 de 19
Baixar para ler offline
 
   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

Mais conteúdo relacionado

Mais procurados

Mais procurados (7)

firewall.pptx
firewall.pptxfirewall.pptx
firewall.pptx
 
Protocolo arp
Protocolo arpProtocolo arp
Protocolo arp
 
Generación de Interfaces a partir de XML
Generación de Interfaces a partir de XMLGeneración de Interfaces a partir de XML
Generación de Interfaces a partir de XML
 
ACL
ACLACL
ACL
 
Procesos de los sistemas operativos
Procesos de los sistemas operativosProcesos de los sistemas operativos
Procesos de los sistemas operativos
 
Introducción a CentOS 7
Introducción a CentOS 7Introducción a CentOS 7
Introducción a CentOS 7
 
Comandos de configuracion de dispositivos cisco
Comandos de configuracion de dispositivos ciscoComandos de configuracion de dispositivos cisco
Comandos de configuracion de dispositivos cisco
 

Semelhante a Cherokee

Servicio HTTP en Ubuntu (Apache)
Servicio HTTP en Ubuntu (Apache)Servicio HTTP en Ubuntu (Apache)
Servicio HTTP en Ubuntu (Apache)Sergio Santos
 
Apli t1 practicas_apache
Apli t1 practicas_apacheApli t1 practicas_apache
Apli t1 practicas_apachegarciadebora
 
5 servidor web
5 servidor web5 servidor web
5 servidor webangeles104
 
practica 1 apache
practica 1 apachepractica 1 apache
practica 1 apachecaoxman
 
Configuracion de proxy squid en centos
Configuracion de proxy squid en centosConfiguracion de proxy squid en centos
Configuracion de proxy squid en centosMELGO2012
 
Servidores Web en GNU/Linux
Servidores Web en GNU/LinuxServidores Web en GNU/Linux
Servidores Web en GNU/LinuxMartin Gregorio
 
Configuracion de proxy squid en centos
Configuracion de proxy squid en centosConfiguracion de proxy squid en centos
Configuracion de proxy squid en centosmurilloyair
 
generar nuestra docker machine conectada a nuestro registry mirror y private ...
generar nuestra docker machine conectada a nuestro registry mirror y private ...generar nuestra docker machine conectada a nuestro registry mirror y private ...
generar nuestra docker machine conectada a nuestro registry mirror y private ...César Martín Ortiz Pintado
 
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 VirtualHostCursando Desarrollo Web
 
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 DrupalTerrafx9
 

Semelhante a 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
 
generar nuestra docker machine conectada a nuestro registry mirror y private ...
generar nuestra docker machine conectada a nuestro registry mirror y private ...generar nuestra docker machine conectada a nuestro registry mirror y private ...
generar nuestra docker machine conectada a nuestro registry mirror y private ...
 
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
 

Último

La Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdfLa Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdfjeondanny1997
 
Nomisam: Base de Datos para Gestión de Nómina
Nomisam: Base de Datos para Gestión de NóminaNomisam: Base de Datos para Gestión de Nómina
Nomisam: Base de Datos para Gestión de Nóminacuellosameidy
 
Trabajando con Formasy Smart art en power Point
Trabajando con Formasy Smart art en power PointTrabajando con Formasy Smart art en power Point
Trabajando con Formasy Smart art en power PointValerioIvanDePazLoja
 
Inteligencia Artificial. Matheo Hernandez Serrano USCO 2024
Inteligencia Artificial. Matheo Hernandez Serrano USCO 2024Inteligencia Artificial. Matheo Hernandez Serrano USCO 2024
Inteligencia Artificial. Matheo Hernandez Serrano USCO 2024u20211198540
 
ORIENTACIONES DE INFORMÁTICA-2024.pdf-guia
ORIENTACIONES DE INFORMÁTICA-2024.pdf-guiaORIENTACIONES DE INFORMÁTICA-2024.pdf-guia
ORIENTACIONES DE INFORMÁTICA-2024.pdf-guiaYeimys Ch
 
Guía de Registro slideshare paso a paso 1
Guía de Registro slideshare paso a paso 1Guía de Registro slideshare paso a paso 1
Guía de Registro slideshare paso a paso 1ivanapaterninar
 
Herramientas que posibilitan la información y la investigación.pdf
Herramientas que posibilitan la información y la investigación.pdfHerramientas que posibilitan la información y la investigación.pdf
Herramientas que posibilitan la información y la investigación.pdfKarinaCambero3
 
Slideshare y Scribd - Noli Cubillan Gerencia
Slideshare y Scribd - Noli Cubillan GerenciaSlideshare y Scribd - Noli Cubillan Gerencia
Slideshare y Scribd - Noli Cubillan Gerenciacubillannoly
 
PLANEACION DE CLASES TEMA TIPOS DE FAMILIA.docx
PLANEACION DE CLASES TEMA TIPOS DE FAMILIA.docxPLANEACION DE CLASES TEMA TIPOS DE FAMILIA.docx
PLANEACION DE CLASES TEMA TIPOS DE FAMILIA.docxhasbleidit
 
Análisis de los artefactos (nintendo NES)
Análisis de los artefactos (nintendo NES)Análisis de los artefactos (nintendo NES)
Análisis de los artefactos (nintendo NES)JuanStevenTrujilloCh
 
Documentacion Electrónica en Actos Juridicos
Documentacion Electrónica en Actos JuridicosDocumentacion Electrónica en Actos Juridicos
Documentacion Electrónica en Actos JuridicosAlbanyMartinez7
 
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptxModelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptxtjcesar1
 
certificado de oracle academy cetrificado.pdf
certificado de oracle academy cetrificado.pdfcertificado de oracle academy cetrificado.pdf
certificado de oracle academy cetrificado.pdfFernandoOblitasVivan
 
Clasificación de Conjuntos de Datos Desequilibrados.pptx
Clasificación de Conjuntos de Datos Desequilibrados.pptxClasificación de Conjuntos de Datos Desequilibrados.pptx
Clasificación de Conjuntos de Datos Desequilibrados.pptxCarolina Bujaico
 
Viguetas Pretensadas en concreto armado
Viguetas Pretensadas  en concreto armadoViguetas Pretensadas  en concreto armado
Viguetas Pretensadas en concreto armadob7fwtwtfxf
 
La electricidad y la electronica.10-7.pdf
La electricidad y la electronica.10-7.pdfLa electricidad y la electronica.10-7.pdf
La electricidad y la electronica.10-7.pdfcristianrb0324
 
TALLER DE ANALISIS SOLUCION PART 2 (1)-1.docx
TALLER DE ANALISIS SOLUCION  PART 2 (1)-1.docxTALLER DE ANALISIS SOLUCION  PART 2 (1)-1.docx
TALLER DE ANALISIS SOLUCION PART 2 (1)-1.docxobandopaula444
 
David_Gallegos - tarea de la sesión 11.pptx
David_Gallegos - tarea de la sesión 11.pptxDavid_Gallegos - tarea de la sesión 11.pptx
David_Gallegos - tarea de la sesión 11.pptxDAVIDROBERTOGALLEGOS
 
_Planificacion Anual NTICX 2024.SEC.21.4.1.docx.pdf
_Planificacion Anual NTICX 2024.SEC.21.4.1.docx.pdf_Planificacion Anual NTICX 2024.SEC.21.4.1.docx.pdf
_Planificacion Anual NTICX 2024.SEC.21.4.1.docx.pdfBetianaJuarez1
 

Último (20)

La Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdfLa Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdf
 
Nomisam: Base de Datos para Gestión de Nómina
Nomisam: Base de Datos para Gestión de NóminaNomisam: Base de Datos para Gestión de Nómina
Nomisam: Base de Datos para Gestión de Nómina
 
Trabajando con Formasy Smart art en power Point
Trabajando con Formasy Smart art en power PointTrabajando con Formasy Smart art en power Point
Trabajando con Formasy Smart art en power Point
 
Inteligencia Artificial. Matheo Hernandez Serrano USCO 2024
Inteligencia Artificial. Matheo Hernandez Serrano USCO 2024Inteligencia Artificial. Matheo Hernandez Serrano USCO 2024
Inteligencia Artificial. Matheo Hernandez Serrano USCO 2024
 
ORIENTACIONES DE INFORMÁTICA-2024.pdf-guia
ORIENTACIONES DE INFORMÁTICA-2024.pdf-guiaORIENTACIONES DE INFORMÁTICA-2024.pdf-guia
ORIENTACIONES DE INFORMÁTICA-2024.pdf-guia
 
Guía de Registro slideshare paso a paso 1
Guía de Registro slideshare paso a paso 1Guía de Registro slideshare paso a paso 1
Guía de Registro slideshare paso a paso 1
 
El camino a convertirse en Microsoft MVP
El camino a convertirse en Microsoft MVPEl camino a convertirse en Microsoft MVP
El camino a convertirse en Microsoft MVP
 
Herramientas que posibilitan la información y la investigación.pdf
Herramientas que posibilitan la información y la investigación.pdfHerramientas que posibilitan la información y la investigación.pdf
Herramientas que posibilitan la información y la investigación.pdf
 
Slideshare y Scribd - Noli Cubillan Gerencia
Slideshare y Scribd - Noli Cubillan GerenciaSlideshare y Scribd - Noli Cubillan Gerencia
Slideshare y Scribd - Noli Cubillan Gerencia
 
PLANEACION DE CLASES TEMA TIPOS DE FAMILIA.docx
PLANEACION DE CLASES TEMA TIPOS DE FAMILIA.docxPLANEACION DE CLASES TEMA TIPOS DE FAMILIA.docx
PLANEACION DE CLASES TEMA TIPOS DE FAMILIA.docx
 
Análisis de los artefactos (nintendo NES)
Análisis de los artefactos (nintendo NES)Análisis de los artefactos (nintendo NES)
Análisis de los artefactos (nintendo NES)
 
Documentacion Electrónica en Actos Juridicos
Documentacion Electrónica en Actos JuridicosDocumentacion Electrónica en Actos Juridicos
Documentacion Electrónica en Actos Juridicos
 
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptxModelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
 
certificado de oracle academy cetrificado.pdf
certificado de oracle academy cetrificado.pdfcertificado de oracle academy cetrificado.pdf
certificado de oracle academy cetrificado.pdf
 
Clasificación de Conjuntos de Datos Desequilibrados.pptx
Clasificación de Conjuntos de Datos Desequilibrados.pptxClasificación de Conjuntos de Datos Desequilibrados.pptx
Clasificación de Conjuntos de Datos Desequilibrados.pptx
 
Viguetas Pretensadas en concreto armado
Viguetas Pretensadas  en concreto armadoViguetas Pretensadas  en concreto armado
Viguetas Pretensadas en concreto armado
 
La electricidad y la electronica.10-7.pdf
La electricidad y la electronica.10-7.pdfLa electricidad y la electronica.10-7.pdf
La electricidad y la electronica.10-7.pdf
 
TALLER DE ANALISIS SOLUCION PART 2 (1)-1.docx
TALLER DE ANALISIS SOLUCION  PART 2 (1)-1.docxTALLER DE ANALISIS SOLUCION  PART 2 (1)-1.docx
TALLER DE ANALISIS SOLUCION PART 2 (1)-1.docx
 
David_Gallegos - tarea de la sesión 11.pptx
David_Gallegos - tarea de la sesión 11.pptxDavid_Gallegos - tarea de la sesión 11.pptx
David_Gallegos - tarea de la sesión 11.pptx
 
_Planificacion Anual NTICX 2024.SEC.21.4.1.docx.pdf
_Planificacion Anual NTICX 2024.SEC.21.4.1.docx.pdf_Planificacion Anual NTICX 2024.SEC.21.4.1.docx.pdf
_Planificacion Anual NTICX 2024.SEC.21.4.1.docx.pdf
 

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