Chamilo + Huayra/Linux

Ya se viene escuchando bastante sobre el  LMS (o AEV): Chamilo… competencia evidentemente, al menos en la patagonia, del famosísimo Moodle. Ya hemos discutido sobre la posibilidad  de aprovechar Huayra, con su servicio web, para brindar el recurso CDPedia dentro del colegio, nos proponemos en esta entrada analizar de que modo, además, integrar este ambiente educativo virtual dentro del mismo equipo.

Si la versión de Huayra/Linux que utilizas es la 2.0 deberías leer este artículo antes de continuar.

Recientemente me encontré con algunas sugerencias que implican, en materia de organizar una red escolar eficaz, las siguientes consideraciones:

  • Dadas las dificultades técnicas de configuración del servidor escolar provisto por CI, más claro la posibilidad de desconcentrar los servicios (que no sea un único equipo el que provee TODAS las funcionalidades), se propone aprovechar una de las computadoras provistas por el programa CI como servidor anexo. Una muy buena idea!
  • Sobre ese servidor “ofrecer” Chamilo (o cualquier otro LMS) a l@s usuari@s de la LAN escolar, muy muy buena idea también…

Pero, debatiendo con algun@s amig@s han emergido algunas discrepancias:

  • El Estado Nacional, junto con el equipo Nacional de Conectar Igualdad desarrollan el sistema operativo Huayra/Linux. Tal cual se anticipó en las Jornadas de Bariloche (27 y 28 de Octubre 2013) se esta pensando, además, en servidores Huayra.
  • No parecería una buna idea, entonces, utilizar otro sistema operativo diferente, para brindar servicios dentro de la LAN escolar.
  • He encontrado ideas de armar servidores con Ubuntu, con Tuquito, incluso con Mint. Esto a mi entender presenta dos falencias fundamentales:
  1. la primera desaprovechar las bondades de Huayra en general, pero particularmente las ventajas devenidas de, utilizar este sistema operativo, que entre otras cosas, incorpora ya la administración del agente de seguridad de los equipos CI. Esto implicaría que, de utilizar cualquier otra distribución se necesitaría liberar definitivamente la computadora que se utilice, o en su defecto depender de un segundo SO, de booteo alternado, que incorpore esta funcionalidad… una verdadera complicación, por demás innecesaria.
  2. Usar otra distribución Linux, por buena que sea, implicaría desaprovechar el desarrollo que se viene haciendo desde el gobierno nacional (que no es menor este punto) y, además: el servidor web que Huayra/Linux trae funcionando por defecto luego de la instalación. Es decir: sobre cualquier otra distribución sería necesario instalar (no pesa el esfuerzo, es verdad), además, un servidor web, mientras que Huayra ya lo trae funcionando.

Por todo lo expuesto se desarrolla en este hilo la posibilidad de incorporar Chamilo al equipo CI + Huayra.

¿Qué necesito?

  • Esta propuesta prevee que los (Chamilo + CDPedia + los servicios que se quiera) corran en un equipo (cualquiera: PC, notebook, etc) con el sistema operativo Huayra instalado.
  • Que este equipo se conecte al servidor (de modo de pertenecer al mismo segmento de red que el resto de las computadoras de docentes y estudiantes) por cable.
  • Prevee este artículo que la red escolar será utilizada con equipos GNU/Linux (esto esta en relación con el aprovechamiento del demonio avahi para resolver nombres de dominio). Aclaro, antes de que oscurezca del todo: aprovechando avahi se omite la dificultad de contar con direcciones IP fijas, más claro, la dificultad de explicar este concepto tan: inumano, me refiero al número IP. Por el contrario se pretende aprovechar la posibilidad de resolver nombres amigables dentro de la LAN (claro, sin contar con ningún servicio DNS, simplemente las facilidades de avahi, el que funciona con GNU/Linux)… en fin: otra buena razón para que los profes y estudiantes naveguen dentro de la plataforma GNU. Si se desea mayor detalle se invita a la siguiente lectura.

¿Ya tenemos el equipo listo?…. bien, iniciemos con algunas consideraciones:

¿Cómo funciona Chamilo?

Chamilo es un servicio web que, para funcionar, necesita “correr” (esto es un eufemismo, el que corre realmente es el servidor web y el motor de bases de datos) en un entorno que cuente con PHP y MySQL. Una vez que el servidor esta funcionando e integrado con PHP y MySQL es tan simple com pegar una carpeta en cierto lugar. Luego las peticiones realizadas al servicio web realizan toda la tarea. Chamilo NO es un ejecutable. El servidor web (esto ya se ha dicho) expone sus recursos (salvo premeditadas excepciones esto es así) debajo de la carpeta:

/var/www

la idea es que, debajo de www exista una carpeta chamilo con todo el contenido descargado. ¿Comenzamos? ¿ya funciona PHP?

Descarga y ubicación de los archivos

Ya se ha indicado la necesidad de de obtener chamilo desde el sitio web. De la descarga se obtiene el archivo: chamilo-1.9.6.zip de unos 61,8 MB. Debemos descomprimirlo, por ejemplo en el directorio personal del usuario. Esto es tan simple como dar doble click sobre el archivo descargado y luego elegir extraer (eligiendo convenientemente la ubicación de destino). Una vez hecho esto obtenemos la siguiente carpeta:

 chamiloPropiedadesComo sugería más arriba, la carpeta debe llamarse (simplemente) chamilo (esto es por comodidad) y estar ubicada dentro de www.

Para lograr esto movemos el archivo con el uso de un terminal (OJO: necesitamos permisos de super usuario para escribir en esa ubicación). Con lo cual iniciamos un terminal y nos aseguramos de estar ubicados en el directorio personal (/home/alumno), esto se logra haciendo simplemente cd (cd sin argumentos nos lleva a la carpeta personal):

cd
sudo mv chamilo-1.9.6/ /var/www/chamilo

Con esto lo movemos y le cambiamos el nombre de una sola vez… Lo que acabamos de hacer es mover la carpeta chamilo-1.9.6/ que se encontraba en /home/alumno, a la ubiucación /var/www pero con el nombre chamilo (simplemente). El su nos entregó permisos de adminsitrador, caso contrario no podríamos haber escrito en la carpeta www.

Y ya lo podemos probar, simplemente con escribir en el navegador web lo siguiente:

http://localhost/chamilo

y nos encontramos con esta novedad!!!

 chamilo_install_1

Chamilo esta listo para ser configurado/instalado!!!

Pero OJO!!! todavía hay un detalle MUY IMPORTANTE que debe ser solucionado, preferentemente antes de continuar con la instalación.

Lo que ocurre es que al mover la carpeta hacia www, y renombrarla (todo en uno) lo hicimos con permisos de super usuario (root), pero los atributos propietario y grupo, de ese conjunto de archivos se mantienen como antes, es decir, proppietario y grupo del archivo/carpeta es: alumno (que es el nombre del usuario y grupo genérico, el mismo con el cual lo descargamos desde la www), como puede apreciarse en la siguiente figura:

permisos

No ampliaremos mucho en este tema, pero es más o menos así: las acciones que genera el servidor web (en este caso la petición de acceso a la carpeta chamilo, a su contenido), las genera el usuario www-data (si, es ese nombre tan extraño)… y a nuestro usuario genérico (alumno) le faltarán privilegios, permisos, etc, para poder completar las tareas necesarias para ofrecer el entorno chamilo.

Para solucionarlo hay dos manera, una muy poco recomendable: consiste en de dar permisos de lectura y escritura a todo el mundo y todos los archivos.

Para modificar permisos se utiliza el comando chmod:

sudo chmod -R 777 /var/www/chamilo

Esto funcionaría, pero es verdaderamente (de mínima)muy desprolijo, de algún modo corrompe la filosofía de seguridad del sistema opertativo.

La salida decorosa a este problema implica NO la modificación de los permisos, sino de “titularidad” de las carpetas y archivos contenidos en chamilo. Deberíamos indicar que la carpeta chamilo y todo su contenido pertenece al usuario/grupo www-data.

Debemos decir que recursivamente (la opción -R) se modifique el dueño y el grupo de esa carpeta (la recursividad recorre todos “los hijos” de esa carpeta), para esto usamos el comando chown con permisos de super usuario:

sudo chown -R www-data:www-data /var/www/chamilo

Cumplido este importante paso podemos avanzar…  Elegimos idioma:

instalar01Luego debemos aceptar la licencia (que es libre, no hay problema) y a continuación una página de confirmación/verificación, donde debemos verificar lo siguiente:

install02De no haber modificado el propietario/grupo de la carpeta (y su contenido) chamilo, estas observaciones estarían en rojo.

Ahora reparamos en la siguiente pantalla:

install03Aquí debemos tener en cuenta que:

Servidor de base de datos -> locahost;

el nombre del usuario de la base de datos, si se hizo sin más la instalación por defecto de MySQL es root;

la contraseña para la conexión de la base de datos es la que se eligió con motivo de la instalaicón de MySQL.

El nombre de la base de datos la dejamos por defecto, y podemos elegir “comprobar la conexión con la base de datos”

MUY Importante: si esto no funciona chamilo no puede terminar su configuración, ya que debe crear una base de datos contra MySQL.

Obtenemos la confirmación en Verde y seguimos:

install04

 Cargamos los datos de administrador:

install05

y de host… esto es muy importante:

install06Como se ha señalado en las primeras consideraciones, elijo (en lugar de una hostil dirección IP) aprovechar los beneficios de avahi, y mi equipo, con el que hice los ensayos, se llama huayra-nicolas… Una vez más se puede consultar en este instructivo para compartir archivos la forma en asignar nombre al equipo dentro de la LAN, o también en esta otra intervención del blog.

Chamlo esta funcionando dentro de servidor Huayra… ¿Cómo usar Chamilo…? bueno, ese es otro tema y hay bastante escrito al respecto en la web.

Saludos y espero que sirva.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *