Inicio > General, Linux > Introducción a Cherokee en Mandriva 2010

Introducción a Cherokee en Mandriva 2010

Espoleado por los últimos tutoriales publicados por vfmBOFH, vamos a seguir explorando los “otros servidores web”, profundizaremos en la interesante pregunta ¿Hay vida después de apache? (Sonido de misterio). Hemos elegido Cherokee como servidor web a analizar, en esta primera parte realizaremos una pequeña introducción a este servidor web hecho en casa.

Como es natural comenzamos la instalación haciendo uso de urpmi, la versión empaquetada de Cherooke en mandriva 2010 es la 0.99.24, la última release estable es la 0.99.43, si ustedes sufren de versionitis pueden compilar la última versión, en nuestro caso usaremos la empaquetada por mandriva.

[root@bersuit urpmi]# urpmi cherokee
Para satisfacer las dependencias, se instalarán los paquetes siguientes
(soporte «Main»)
alsa-plugins-doc               1.0.21       2mdv2010.0    i586    (sugerido)
ccp                            0.4.1        3mdv2010.0    noarch
libalsa-data                   1.0.21a      1mdv2010.0    i586
libalsa-plugins                1.0.21       2mdv2010.0    i586    (sugerido)
libalsa2                       1.0.21a      1mdv2010.0    i586
libavformats52                 0.5          2mdv2010.0    i586
libavutil49                    0.5          2mdv2010.0    i586
libffmpeg52                    0.5          2mdv2010.0    i586
libogg0                        1.1.4        2mdv2010.0    i586
libsamplerate0                 0.1.7        2mdv2010.0    i586    (sugerido)
libspeex1                      1.2          0.rc1.2mdv20> i586    (sugerido)
libtheora0                     1.1.0        1mdv2010.0    i586
libvorbis0                     1.2.3        1mdv2010.0    i586
libvorbisenc2                  1.2.3        1mdv2010.0    i586
php-timezonedb                 2009.16      1mdv2010.0    i586
(soporte «Contrib»)
geoip                          1.4.6        2mdv2010.0    i586
libgeoip1                      1.4.6        2mdv2010.0    i586
libgeoipupdate0                1.4.6        2mdv2010.0    i586
(soporte «Main Updates»)
libmysql16                     5.1.42       0.2mdv2010.0  i586
libphp5_common5                5.3.1        0.2mdv2010.0  i586
php-cgi                        5.3.1        0.2mdv2010.0  i586
php-ctype                      5.3.1        0.2mdv2010.0  i586
php-dom                        5.3.1        0.2mdv2010.0  i586
php-filter                     5.3.1        0.2mdv2010.0  i586
php-ftp                        5.3.1        0.2mdv2010.0  i586
php-gettext                    5.3.1        0.2mdv2010.0  i586
php-hash                       5.3.1        0.2mdv2010.0  i586
php-ini                        5.3.1        0.5mdv2010.0  i586
php-json                       5.3.1        0.2mdv2010.0  i586
php-openssl                    5.3.1        0.2mdv2010.0  i586
php-posix                      5.3.1        0.2mdv2010.0  i586
php-session                    5.3.1        0.2mdv2010.0  i586
php-suhosin                    0.9.29       2.2mdv2010.0  i586
php-sysvsem                    5.3.1        0.2mdv2010.0  i586
php-sysvshm                    5.3.1        0.2mdv2010.0  i586
php-tokenizer                  5.3.1        0.2mdv2010.0  i586
php-xml                        5.3.1        0.2mdv2010.0  i586
php-xmlreader                  5.3.1        0.2mdv2010.0  i586
php-xmlwriter                  5.3.1        0.2mdv2010.0  i586
php-zlib                       5.3.1        0.2mdv2010.0  i586
(soporte «Contrib Updates»)
cherokee                       0.99.24      1.1mdv2010.0  i586
libcherokee-base0              0.99.24      1.1mdv2010.0  i586
libcherokee-client0            0.99.24      1.1mdv2010.0  i586
libcherokee-config0            0.99.24      1.1mdv2010.0  i586
libcherokee-server0            0.99.24      1.1mdv2010.0  i586nta
se utilizarán 56MB de espacio de disco adicional.
se descargarán 24MB de paquetes.
¿Efectuar la instalación de los 45 paquetes? (S/n) S

Una vez terminada la instalación intentamos el primer arranque

[root@bersuit]# /etc/init.d/cherokee start
Iniciando servicio Cherokee: Cherokee Web Server 0.99.24 (Nov 29 2009): Listening on port ALL:80, TLS
disabled, IPv6 enabled, using epoll, 4096 fds system limit, max. 2041
connections, caching I/O, 5 threads, 408 connections per thread, standard
scheduling policy
5392                                                                                                                                             [  OK  ]
[root@bersuit]#

Parece que todo ha ido bien, http://bersuit.homelinux.org nos muestra a nuestro cherokee sonriente. Una de las particularidades que ofrece cherokee a demás de publicitarse como un servidor web ligero y rápido es su consola de administración web , ¡vamos a probarla!. Ejecutamos el comando cherokee-admin como root

[root@bersuit urpmi]# cherokee-admin
Login:
User:              admin
 One-time Password: JCEcltPrLfJOIoAf
Web Interface:
 URL:               http://127.0.0.1:9090/
Cherokee Web Server 0.99.24 (Nov 29 2009): Listening on port 127.0.0.1:9090, TLS
disabled, IPv6 disabled, using epoll, 4096 fds system limit, max. 2041
connections, caching I/O, single thread

Ahora nos econtramos con  el primer problema, hemos instalado cherokee en una máquina sin entorno gráfico por lo que no podemos acceder a http://localhost:9090, al menos de una manera sencilla,  consultando la documentación encontramos que  tendremos que ejecutar cherokee-admin con la opccion -b para que escuche en todas las interfaces.

[root@bersuit urpmi]# cherokee-admin -b
Login:
 User:              admin
 One-time Password: W9qoWgO492ZvmraO
Web Interface:
 URL:               http://localhost:9090/
Cherokee Web Server 0.99.24 (Nov 29 2009): Listening on port ALL:9090, TLS
disabled, IPv6 disabled, using epoll, 4096 fds system limit, max. 2041
connections, caching I/O, single thread

Ya podemos acceder a la interfaz de configuración, como podemos leer más arriba ya lo tenemos escuchando en todas las interfaces, cada vez que queramos acceder a la consola de administración tendremos que ejecutar el comando cherokee-admin  -b y conectarnos a nuestro servidor web por el puerto 9090 haciendo uso del usuario admin y de la contraseña de un solo uso que nos genera cada vez que ejecutamos cherokee-admin.

Dando un primer vistazo  en la primera sección del menú de la derecha “ESTADO” vemos la versión y el estado del servicio (apagado/encendido), también podemos reiniciarlo, guardar los cambios de configuración y elegir el idioma de  la consola de administración.
Si continuamos en el menú de la izquierda,  el siguiente apartado es “GENERAL”, dentro de este menú nos aparecen tres pestañas:

En la primera pestaña (RED) podemos y al menos por ahora debemos deshabilitar el protocolo IPv6, también nos da la opción de activar el modo seguro (https).  La siguiente caja de texto nos  informa del timeout por defecto (15), algo elevado, para empezar lo podemos dejar a 10,   En el apartado identificación del servidor debemos de dar la menor información posible sobre nuestro servidor elegimos “solo producto”, en  principio mantenemos desactivada la generación de estadisticas con rrdtools.
La siguiente pestaña  (PUERTOS) la dejamos tal cual está ( escucharemos las peticiones en el puerto 80).
La última pestaña se llama (PERMISOS DEL SERVIDOR), en ella podemos cambiar el usuario y el grupo con el que correrá cherokee y además enjaularlo (CHROOT). Como por defecto corre como root, cambiamos el usuario y el grupo a apache. (Ya veremos si arranca luego)
El siguiente apartado en el menú de la izquierda es el dedicado a los host virtuales, en un primer vistazo vemos que sólo existe el servidor por defecto y que el DocumentRoot es /var/www. Esto es más que suficiente por ahora, vamos a reiniciar para comprobar que nuestros cambios han surtido efecto.
El reinicio no ha salido bien, por problemas con los permisos en el log, supongo que por dejar de ejecutarlo como root y pasar a ser apache:

file thread.c:1680 (watch_accept_MULTI_THREAD): this should not happen
Couldn't open '/var/log/cherokee.access' for appending
PID 7846: exited re=0

Arreglamos el tema de los permisos, arrancamos el servicio a mano, comprobamos que lo ejecuta apache y volvemos a la consola a ver si conseguimos reiniciarlo limpiamente.

[root@bersuit log]# chown apache:apache cherokee.*
[root@bersuit log]# /etc/init.d/cherokee start
Iniciando servicio Cherokee: Cherokee Web Server 0.99.24 (Nov 29 2009): Listening on port ALL:80, TLS
disabled, IPv6 disabled, using epoll, 4096 fds system limit, max. 2041
connections, caching I/O, 5 threads, 408 connections per thread, standard
scheduling policy   8156[  OK  ]
[root@bersuit log]# ps -fu apache
UID        PID  PPID  C STIME TTY          TIME CMD
apache    8158  8156  0 21:12 ?        00:00:00 /usr/sbin/cherokee-worker -C /etc/cherokee/cherokee.conf  pidfile /var/run/cherokee.pid
[root@bersuit log]#

Relanzamos cherokee-admin e intentamos entrar de nuevo, esto de que genere una contraseña cada vez, sin duda es seguro y también algo aburrido. ¡Ahora, sí! vía cherokee-admin podemos reiniciar el servicio tranquilamente.

Continuamos explorando el menu de la derecha, el siguiente apartado es el más confuso “origenes de datos” , la opccion remota, cogera los datos de otro hosts ( estaremos usando cherokee como proxy reverso) , los orígenes de datos locales tienen que ver más con los interpretes de lenguajes, un origen de datos local puede ser php+mysql.
El submenu iconos, está relacionado con los iconos del servidor que monstrará cuando liste el contenido de los directorios El siguiente apartado, es para elegir asociar los tipos mime a los archivos que conoce el servidor.Para finalizar en configuración avanzada podemos revisar el uso de keepalive, el número de hilos que usará el servidor, si usamos cache, la configuración avanzada de ssl.
El fichero de configuración principal del servidor es /etc/cherooke/cherooke.conf y si estais familiarizados con la configuración de Apache y Lighttpd seguro que no os da miedo.
Tras un primer vistazo podemos concluir que cherokee tiene mucho que ofrecer, una interfaz de configuración atractiva, (aunque preferimos seguir usando  “vi” para configurarlo), enormes posibilidades para utilizarlo como frontal, (balanceo de carga, proxy reverso), es ligero y promete servir php muy rápido, de todo eso hablaremos en entregas posteriores.

Categorías:General, Linux Etiquetas: , , ,
  1. bersuitvera
    febrero 28, 2010 a las 10:15 pm

    En breve lo colgaré en http://www.blogdrake.net

  2. marzo 2, 2010 a las 5:58 pm

    Más te vale.

  1. No trackbacks yet.

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: