Instalación de Chamilo LMS, un CMS enfocado al eLearning open source y gratuito
Chamilo es una plataforma CMS del tipo LMS desarrollada en PHP que permite poner en funcionamiento un sistema E-learning. Es similar a Moodle, aunque desde Chamilo.org aseguran que es considerablemente más fácil de enseñar.
Se trata de una solución de software libre con licencia GNU/GPLv3 sustentada por la Asociación Chamilo, una entidad sin ánimo de lucro que centra sus fuerzas en difundir el uso de este software y en garantizar un acceso a la educación por parte de los países en vías de desarrollo.
En el mes en el que escribo este artículo se encuentra instalado en más de 27000 portales, ofreciendo más de 768000 cursos y con más de 11 millones de usuarios.
Puedes consultar su estadísticas de uso en Chamilo statistics Page, donde se detallan de manera actualizada mes a mes.
El despliegue lo realizaremos en una máquina Vagrant con Debian Jessie 8.2, aunque esto es irrelevante pues los requisitos y pasos serán los mismos en casi cualquier entorno. Así pues, actualizamos los repositorios con apt-get update
y luego ejecutamos apt-get install apache2 php5 mysql-server git
para instalar el entorno LAMP.
Por lo tanto, descargamos el paquete de instalación de Chamilo en su versión 1.10.0 con wget https://github.com/chamilo/chamilo-lms/archive/v1.10.0.zip
. Esto podemos hacerlo en la misma máquina Vagrant o en nuestra máquina anfitriona, teniendo luego que utilizar la instrucción scp
para llevarlo a nuestro entorno de desarrollo.
El siguiente paso, teniendo el paquete de instalación en Vagrant, es descomprimir el .zip de Chamilo, moverlo al directorio /var/www/html y modificar el usuario y grupo propietario.
1 2 3 4 |
vagrant@chamilo:~$ unzip v1.10.0.zip vagrant@chamilo:~$ sudo su root@chamilo:~$ cp -R chamilo-lms-1.10.0/* chamilo-lms-1.10.0/.* /var/www/html root@chamilo:/home/vagrant# chown -R www-data:www-data chamilo/ |
Además, debemos cambiar el nombre del index.html que viene por defecto en Apache para que así muestre la instalación de Chamilo.
Desde un navegador web, accedemos a la dirección IP pública de nuestra máquina Vagrant para iniciar el proceso de instalación de Chamilo.
En primer lugar, en el paso 1, elegiremos el idioma de instalación. Mientras que en el segundo paso se comprueban las bibliotecas, parámetros y funcionalidades de PHP y del sistema en general.
En este caso son tres los errores que impedirán continuar con la instalación de Chamilo y otras tres funcionalidades opcionales como LDAP, Xapian y cURL.
- MySQL disponible: Extensión MySQL no disponible. Este mensaje de error es debido a que falta el módulo PHP que permite la conexión entre el sistema de base de datos MySQL y PHP. Instalamos el paquete php5-mysql con la ejecución de
apt-get install php5-mysql
- Internationalization disponible: No. Indica que la extensión de PHP para la internacionalización no está disponible. Esta permite dar distintos formatos a datos como fechas, horas o monedas. Se instala con
apt-get install php5-intl
- GD disponible: Extensión GD no disponbile. GD es la extensión para el tratamiento de imágenes en PHP. La instalación de php5-gd con
apt-get install php5-gd
solventa este mensaje de error.
En el mismo paso 2, se mencionan los parámetros recomendados para configurar en nuestro servidor. Estos parámetros se configuran en el fichero php.ini, ubicado en nuestro caso en /etc/php5/apache2/php.ini, y no impiden la instalación del LMS.
- Cookie HTTP Only. En el fichero por defecto no aparece ningún valor para session.cookie_httponly, este es un valor booleano que podemos establecer como True/False o 1/0 y sirve para evitar la escritura y lectura por parte de scripts ejecutados en el navegador web del usuario.
- Maximum upload file size. Este parámetro permite definir el tamaño máximo de un fichero a la hora de subirlo mediante la interfaz web. Por defecto establecido en 2M.
- Maximum post size. La configuración de este parámetro indica el tamaño máximo a la hora de realizar un envío mediante la interfaz web. Por defecto, establecido a 8M. Si indicamos 0 como valor, no se aplicará ningún límite.
1 2 3 |
; Whether or not to add the httpOnly flag to the cookie, which makes it inaccessible to browser scripting languages such as JavaScript. ; http://php.net/session.cookie-httponly session.cookie_httponly = 1 |
1 2 3 |
; Maximum allowed size for uploaded files. ; http://php.net/upload-max-filesize upload_max_filesize = 10M |
1 2 3 4 5 |
; Maximum size of POST data that PHP will accept. ; Its value may be 0 to disable the limit. It is ignored if POST data reading ; is disabled through enable_post_data_reading. ; http://php.net/post-max-size post_max_size = 10M |
Para aplicar todos los cambios realizados en el fichero php.ini y la instalación de las extensiones PHP, reiniciamos el servicio de Apache con /etc/init.d/apache2 restart
Continuamos con el paso 3, donde se nos pide la confirmación de la licencia de uso e información sobre el administrador del sitio. Completamos la información requerida como nombre, email, nombre de la empresa, sector… Para pasar a la configuración de los parámetros de la base de datos MySQL en el cuarto paso.
Antes debemos de crear la base de datos y las credenciales de acceso a la base de datos en la terminal de MySQL de nuestra máquina Vagrant.
1 2 3 4 5 6 7 8 |
mysql> CREATE DATABASE chamilo; Query OK, 1 row affected (0.00 sec) mysql> use chamilo; Database changed mysql> CREATE USER 'chamilo'@'localhost' IDENTIFIED BY 'chamilo123'; Query OK, 0 rows affected (0.00 sec) mysql> GRANT ALL PRIVILEGES ON chamilo.* TO 'chamilo'@'localhost'; Query OK, 0 rows affected (0.00 sec) |
En el asistente de instalación de Chamilo, que intentará conectarse por primera vez por defecto con el usuario root y contraseña en blanco, insertamos los datos para la conexión con MySQL.
Ya en el paso número 5 los parámetros de configuración se establecerán los valores que serán grabados en app/config/configuration.php. Estos serán las credenciales de administrador para Chamilo, el idioma principal, la URL de Chamilo o el nombre de la plataforma. En el penúltimo paso Chamilo nos ofrece un resumen de las configuraciones de la instalación.
Al finalizar la instalación ejecutamos las recomendaciones del siguiente mensaje Aviso de seguridad: Para proteger su instalación, ponga la carpeta app/config/ en solo lectura chmod -r 0555 bajo Linux) y borre completamente la carpeta main/install.
Al acceder a la plataforma open source veremos la entrada: ¡Enhorabuena, ha instalado satisfactoriamente su portal de e-learning!.
De este modo podemos disponer de una completa plataforma de aprendizaje electrónico o E-learning, gratuita y open source utilizada en más de 25 países organismos como la Universidad de Génova, el Hospital Universitario Vall d’Hebron o el periódico deportivo Marca. A partir de ahora podrás gestionar usuarios, cursos y ciclos formativos así como otras funcionalidades como exámenes controlados por tiempo, documentos…
Saludos, gracias por la guía. Realice la instalación siguiendo tus pasos en un servidor debian 7. Todo salio bien hasta que ingreso a la plataforma instalada y creo un curso. Al intentar acceder al curso para agregarle contenido me da un error que indica: The requested URL /aulavirtual/courses/curso1/index.php was not found on this server.
Revisando la estructura de directorios veo que la carpeta courses no esta en raiz sino dentro de otra carpeta «app» por lo que la ruta deberia ser: /aulavirtual/app/courses/PC2016/index.php
La coloque así e igual da error, por lo que procedi a verificar si existe el archivo index.php en esa ruta y no existe.
Tendrás idea que podría haber hecho mal o como corregir este detalle. Saludos
Saludos, yo nuevamente, goglee un poco y conseguí una opción que me funciono en mi caso. El error apuntaba un problema de ejecución del .htaccess donde se tenia que verificar que el modulo rewrite de apache estuviese activo, en efecto lo estaba pero en la definición del virtualhost en el apache2.conf o en /sites-enabled/000-default.conf debe establecerse el valor AllowOverride None a AllowOverride All
Realice esto, reinicie apache y todo empezo a funcionar como debe ser.
¡Hola Daniel!
Gracias por comentar la solución. Lo cierto es que yo borré el entorno de pruebas hace un par de días, por lo que estaba planteándome montarlo durante este fin de semana para echarte un cable.
Saludos 😉
Hola! Ese mismo problema estoy teniendo yo ahora.
Me podrías decir en que ficheros has cambiado esto? Porque yo estoy loco ya de hacer cambios que comentaste y no hay forma de que cuando creo un curso, me genere el dichoso «index.php» Que por cierto, si lo creo a mano con el código pertinente SI me va pero esto es nada práctico.
hola yo tengo problemas cuando entro desde otra maquina a chamilo no se muesta correctamente. ( mostraria imagen pero no me deja) le falta el estilo y algunas cosas
tengo chamilo en un ubuntu 15.04 instalado. modo localhost. desde la misma maquina localhost me muestra perfectamente . pero cuando accedo desde otra maquina de la red interna no me muestra toda la configuracion completa de chamilo. le falta los coloridos, los iconos ( seria mas facil si pudiese adjuntar foto)
me gustaria saber si saben por que ocurre
Hola Ruth,
Lo mejor es utilizar las herramientas de desarrollador del navegador web para ver si se trata de URL’s rotas como por ejemplo que ponga localhost en vez de la dirección de la máquina. Para las capturas de pantalla puedes utilizar servicios externos como imgur.
Saludos.
a mi me pide que apague display erros pero no se en donde esta en el codigo ni como desactivarlo