Antiguo BlogLinuxPlataformasRevisadas

Cherokee WebServer y Moodle

Como había anunciado en la entrada anterior, he probado a instalar un servidor web ligero en un portátil antiguo.
Antes de decidirme, he revisado el proceso de instalación en los artículos que dejé el otro día. Tanto para el servidor Cherokee como para el servidor Lighttpd, los paquetes complementarios son los mismos: php5-cgi, php5-mysql y mysql-server.

El paquete php5-common que comentan en alguno de ellos lo omito puesto que este será instalado por dependencias de cualquier paquete que use php5, y he utilizado mysql-server en lugar de mysql-server-5.0 puesto que este es un metapaquete que depende de la última versión, por lo que a día de hoy me instala automáticamente mysql-server-5.0 pero mañana posiblemente me instale mysql-server-6.0 o posterior.

# apt-get install php5-cgi php5-mysql mysql-server [*]

En principio voy a utilizar Cherokee, pero por si me arrepiento, he descargado los paquetes deb y sus dependencias de Lighttpd aunque sin instalar. De esta forma que en cualquier momento pueda desinstalar uno e instalar otro haciendo uso del gestor de paquetes de Debian (siempre y cuando no borre /var/cache/apt/archives con # apt-get clean).

# apt-get -d install lighttpd

Ahora instalamos Cherokee

# apt-get install cherokee

Añadimos a /etc/php5/cgi/php.ini el módulo/extensión mysql

;;;;;;;;;;;;;;;;;;;;;;
; Dynamic Extensions ;
;;;;;;;;;;;;;;;;;;;;;;
;
; If you wish to have an extension loaded automatically, use the following
; syntax:
;
;   extension=modulename.extension
;
; For example, on Windows:
;
;   extension=msql.dll
;
; … or under UNIX:
;
;   extension=msql.so
;
; Note that it should be the name of the module only; no directory information
; needs to go here.  Specify the location of the extension with the
; extension_dir directive above.

extension=mysql.so

Cambiamos la contraseña de nuestro server mysql (en caso de que al instalar el paquete no lo hayamos hecho).

# mysqladmin -u root password macropassword

Nos vamos al directorio configurado en /etc/cherokee/cherokee.conf, descargamos Moodle (la versión que queramos), descomprimimos y asignamos usuario y grupo del servidor (también designados en cherokee.conf).

# cd /var/www
# wget http://download.moodle.org/stable19/moodle-weekly-19.tgz
# tar xzvf moodle-1.9.3.tgz
# chown www-data.www-data moodle

Probamos en un navegador http://localhost/moodle y si todo ha ido bien ya debemos tener servidor funcionando…. peeero, [*] para que Moodle funcione de forma eficiente necesitamos algunas extensiones más de PHP que no están reflejadas en las guías que he seguido. Para no enrollarme mucho, simplemente voy a listar las que en la instalación que yo he realizado me ha solicitado:

# apt-get intall php5-gd php5-curl php5-xmlrpc

Como hemos descargado nuevas extensiones, debemos volver al archivo /etc/php5/cgi/php.ini y cargarlas allí.

extension=gd.so
extension=curl.so
extension=xmlrpc.so

Lo recomendable es instalar estos paquetes desde el principio, así como cargar las correspondientes extensiones, de manera que nos evitemos tener que estar restaurando servicios (/etc/init.d/cherokee restart).

Si a alguien la instalación le sugiere nuevos módulos que lo diga para incorporarlos a la lista ;o)

Una vez tenemos todas las piezas necesarias instaladas, podemos de nuevo probar el asistente de instalación de Moodle y si todo ha ido bien deberemos ir pasando pantallas sin mayor problema. A parte de esto, lo único que quiero destacar del proceso de instalación de Moodle es la necesidad de un “directorio de datos” con permiso de escritura, que en mi caso he dejado en la ruta “aconsejada” por la instalación.

# mkdir /var/moodledata
# chown www-data.www-data /var/moodledata/

Durante el proceso de instalación de Moodle, en una de las fases me ha salido una ventana para elegir a que ruta deseo guardar el archivo php, como si no reconociera esta extensión por no tener soporte para ella. En realidad lo que está fallando es la configuración del servidor Cherokee, ya que se trata de una máquina muy antigua y para cada petición se demora mucho tiempo.

En principio, para poder terminar la instalación de Moodle he subido el valor de server!timeout a 180, cuando por defecto venía a 60. De esta forma he podido finalizar la instalación pero sigo sin problemas a la hora de navegar por Moodle, concretamente en la carga de hojas de estilos, pero de momento no voy a indagar más en el tema.

Alguna de estas noches en casa, revisaré la configuración a ver de que manera solucionar el problema y cómo optimizar el servidor ya que el resultado obtenido no es apto para trabajar de manera eficiente.

En principio, con la documentación incluida en /usr/share/doc/cherokee/ sería suficiente para configurar y optimizar el server.

Referencias:

  • http://www.cherokee-project.com/doc/cookbook_moodle.html
  • http://www.cherokee-project.com/doc/dev_cherokee.conf.html
  • http://observatorio.cnice.mec.es/modules.php?op=modload&name=News&file=article&sid=369
  • http://enredajo.blogspot.com/2008/08/cherokee-web-con-hosting-virtual.html
  • http://www.linux-magazine.es/issue/34/064-066_LighthttpLM21.crop.pdf