Instalar y Configurar Moodle

Moodle es una aplicación web enfocada al ámbito educativo, cuya finalidad principal es la de gestionar cursos ofreciendo todos los elementos necesarios para crear ambientes de educación online o a distancia. Por este motivo Moodle es considerado uno de los principales representantes de las plataformas de formación e-learning.

22-Feb-2016

Moodle es una aplicación web enfocada al ámbito educativo, cuya finalidad principal es la de gestionar cursos ofreciendo todos los elementos necesarios para crear ambientes de educación online o a distancia. Por este motivo Moodle es considerado uno de los principales representantes de las plataformas de formación e-learning.

Moodle se distribuye gratuitamente como software libre. Moodle es un acrónimo de Modular Object Oriented Dynamic Learning Environment (Entorno de Aprendizaje Dinámico Orientado a Objetos y Modular).

Esta plataforma de gestión del aprendizaje o LMS (Learning Management System), tiene soporte para crear cursos con todos los elementos necesarios para su puesta en marcha como: control de alumnos, módulos, blogs, chats, talleres, cuestionarios, entrega de trabajos, contenidos scrom, etc..

Con esta herramienta los educadores pueden gestionar los cursos virtuales para sus alumnos, permitiendo la creación, gestión y distribución de cursos online y el seguimiento de los estudiantes que lo cursan.

Es una herramienta de formación online utilizada ampliamente por colegios, institutos, centros de formación, academias, e incluso por los departamentos de formación de grandes empresas.

Está traducido a más de 91 idiomas, tiene una enorme comunidad que lo apoya y ayuda a su desarrollo.

Actualmente se encuentra en su revisión 3.0.2. Si deseamos encontrar más información, documentación y descargas podemos visitar la web oficial de Moodle.

Instalación de Moodle

Para instalar el paquete de moodle30 en nuestro servidor utilizaríamos el comando pkg.

# pkg install moodle30
Updating FreeBSD repository catalogue...
FreeBSD repository is up-to-date.
All repositories are up-to-date.
Checking integrity... done (1 conflicting)
Checking integrity... done (0 conflicting)
The following 6 package(s) will be affected (of 0 checked):

Installed packages to be REMOVED:
  mysql57-server-5.7.10_3
  mysql57-client-5.7.10_3

New packages to be INSTALLED:
  moodle30: 3.0.1
  php56-mysql: 5.6.18
  mysql56-client: 5.6.27
  libedit: 3.1.20150325_1

The operation will free 9 MiB.

Proceed with this action? [y/N]:N

NOTA: Si no tuviéramos instalado en nuestro host el servidor de bases de datos MySQL y los módulos de php para el manejo de las conexiones a la base de datos, sería una buena opción, pero como este paquete nos obliga a realizar la desinstalación del MySQL 5.7, para sustituirlo por la versión 5.6 lo que implicaría perder todas las configuraciones creadas durante la instalación de MySQL y de phpMyAdmin anteriores, realizaremos la instalación de Moodle descargándolo desde la web y realizando manualmente todo el proceso de instalación y configuración posterior.

Descargar la última versión de Moodle desde la web

Abrimos nuestro navegador y nos dirigimos a la dirección https://download.moodle.org/releases/latest/, donde se nos mostrarán las últimas versiones estables de Moodle para su descarga.

Descargamos el archivo en formato zip en nuestro ordenador y lo descomprimimos.

Descargar Moodle 3.0.2, disponible en la web

Subir la carpeta moodle que hemos obtenido al descomprimir el archivo zip en nuestro ordenador al directorio /usr/local/www de nuestro servidor utilizando el programa WinSCP.

Subir Moodle a nuestro servidor con WinSCP

Crear directorio de datos

La instalación por paquetes nos habría creado el directorio moodle en /usr/local/ww donde se almacenan los archivos para el funcionamiento de la plataforma y el directorio moodledata en /usr/local donde se almacenan los archivos que se suben a la plataforma o los contenidos que se crean desde la interfaz del programa web. Este último directorio lo tendremos que crear nosotros, y asignarles a ambos directorios el grupo ‘www’ y establecer los permisos necesarios para que los usuarios del grupo www puedan trabajar sobre ellos.

Ambos directorios tienen que pertenecer al grupo www y tiene que tener permisos de escritura sobre su contenido.

# cd /usr/local
# mkdir moodledata
# chown -R root:www moodledata
# chmod -R 775 moodledata
# cd /usr/local/www
# chown -R root:www moodle
# chmod -R 775 moodle
# ll
total 12
drwxrwxr-x   6 root  www   512 30 ene 17:52 apache24/
drwxrwxr-x  45 root  www  1536 21 feb 10:01 moodle/
drwxrwxr-x  11 root  www  3072 20 feb 15:22 phpMyAdmin/
#

Tareas posteriores a la instalación de Moodle

Una vez descargado Moodle, creados los directorios necesarios y establecidos sus permisos, tendremos que realizar una serie de cambios y configuraciones previos para que la plataforma funcione de forma correcta:

  • Crear el usuario y la base de datos para nuestra plataforma Moodle.
  • Crear un Alias en nuestro archivo httpd.conf y reinicar el servidor.
  • Crear una tarea programada para que ejecute el script adm/cron.php cada cierto tiempo.

Estas configuraciones son las que vamos a tratar a continuación antes de realizar la puesta en marcha de nuestra plataforma Moodle.

Crear el usuario y la base de datos para nuestra plataforma Moodle

Iniciamos sesión en phpMyAdmin como root.

Pulsamos sobre la ficha ‘Bases de datos’, escribimos como nombre moodle en el recuadro ‘Crear base de datos’ y pulsamos el botón ‘Crear’.

Crear la base de datos Moodle

Pulsamos sobre la ficha ‘Privilegios’ para mostrar la lista de todos los usuarios con acceso a ‘moodle’ y agregamos un nuevo usuario pulsandosobre el enlace ‘Agregar usuario’.

Crear usuario con privilegios sobre la bd moodle

Escribimos el nombre del usuario ‘adm_moodle’, servidor desde el que accede ‘localhost’ y la contraseña. Dejamos marcada la opción ‘Otorgar todos los privilegios para la base de datos "moodle"’ y pulsamos el botón Continuar.

Establecer privilegios usuario moodle

Crear Alias en nuestro archivo httpd.conf de Apache

Como el directorio de la plataforma Moodle  se encuentran fuera del DocumentRoot de nuestro servidor tendremos que crea un Alias en el archivo httpd.conf de Apache para dar acceso a sus contenidos.

Editamos el fichero httpd.conf situado en /usr/local/etc/apache24 y añadimos las siguientes líneas para crear el alias para el directorio de instalación de Moodle.

# cd /usr/local/etc/apache24
# ee  httpd.conf

----------- Añadimos al final del archivo

# Creamos alias para que se pueda acceder a moodle
Alias /moodle /usr/local/www/moodle/

# Esta opción es importante tenerla activada para los llamados 'slash arguments' que utiliza
# un script de Moodle encargado de subir las imágenes de los usuarios a la plataforma
AcceptPathInfo On 

<Directory /usr/local/www/moodle/>
 AllowOverride None
 Require all granted
 </Directory>

---- Guardamos el archivo y reiniciamos el servidor Apache

# apachectl restart

Con estas modificaciones ya podemos acceder a la plataforma Moodle desde nuestro navegador.

Configurar el programador de tareas de Moodle cron.php

Otra de las indicaciones que nos hace la instalación de Moodle es la de activar una tarea programada para que se encargue de ejecutar el script cron.php cada 5 minutos aproximadamente.

El script de cron de Moodle corre tareas que incluyen el mandar correos, actualizar reportes de Moodle, canales RSS, completado de actividades, publicación de mensajes en foros y otras tareas. Dado que las diferentes tareas tienen diferentes horarios agendados, no todas las tareas correrán en Moodle cuando se dispare el script de cron.

El script cron.php tiene dos posibles ejecuciones:

  • Vía web por medio del navegador localizado en el directorio /admin de Moodle
  • Desde la línea de comandos localizado en el directorio /admin/cli de Moodle.

Lo primero que haremos es cambiar el editor de textos (vi) por defecto que utiliza el comando crontab (revisar tema un poco de FreeBSD) para crear las tareas programadas, modificando la variable de entorno EDITOR.

# setenv EDITOR ee

Con este comando modificamos el editor de textos de vi (editor de textos por defecto para crontab muy potente pero muy engorroso de utilizar) por el ee al que estamos acostumbrados y que es más amigable.

A continuación creamos la tarea programada para el usuario www con el comando:

# crontab –u www –e

Escribimos la línea que nos permita ejecutar el script cron.php desde la línea de comandos. En nuestro caso en lugar de ejecutarla cada 5 minutos la ejecutaremos cada 30 minutos.

*/30 * * * * /usr/local/bin/php /usr/local/www/moodle/admin/cli/cron.php

Si deseáramos ejecutar el script emulando su ejecución vía web, podemos utilizar los comandos curl o fetch, escribiendo la ruta de acceso al comando e indicando a continuación la url de acceso al script.

*/30 * * * * /usr/local/bin/curl http://192.168.1.10/moodle/admin/cron.php -o /dev/null
ó
*/30 * * * * /usr/bin/fetch http://192.168.1.10/moodle/admin/cron.php > /dev/null

Guardamos los cambios y comprobamos que la tarea se ha grabado con el comando:

# crontab –u www –l
*/30 * * * * /usr/local/bin/php /usr/local/www/moodle/admin/cli/cron.php
#

Muestra las tareas programadas para el usuario www.

Configuración de nuestra plataforma Moodle

Pasos de la instalación inicial de Moodle

Después de realizar todas las tareas previas de la instalación en nuestro sistema, ya podemos centrarnos en la configuración final de nuestra plataforma para su puesta en funcionamiento.

Abrimos nuestro navegador y accedemos a la plataforma indicando la ip o nombre de nuestro servidor seguido de /moodle. (http://192.168.1.10/moodle).

Lo primero será indicar el idioma que se utilizará en nuestra plataforma.

Seleccionar idioma de instalación y plataforma

El segundo paso (Rutas) es indicar las rutas: dirección web permitida para el acceso a la plataforma (para nuestra intranet será la ip del servidor /moodle, si disponemos de un dominio sería dominio/moodle), directorio donde se encuentran instalados los archivos principales de moodle y directorio donde se almacenaran los datos de trabajo.

Rutas de acceso desde la web y a los datos

El tercer paso (Base de datos) es indicar el servidor de bases de datos que se va a utilizar con nuestra plataforma. El instalador nos mostrará una lista de los controladores de bases de datos recomendados (por defecto ‘MySQL mejorado’) y los que soporta pero no estén disponibles. Aunque MySQL es la más utilizada con Moodle, puede manejar la información de la mayoría de los servidores de bases de datos más importantes como: SQL Server, Oracle y PostgreSQL.

Controlador de la bd

Una vez seleccionado el controlador de bases de datos, tendremos que realizar los ajustes para la base de datos, indicando el nombre de la base de datos, el nombre del usuario con permisos de acceso a la base de datos y su contraseña como datos obligatorios.

Datos conexión a la base de datos moodle

Con estos datos el instalador creará el archivo de configuración de Moodle config.php que se almacena en el directorio principal de Moodle y que contiene los datos necesarios para realizar la conexión a la base de datos.

<?php  // Moodle configuration file

unset($CFG);
global $CFG;
$CFG = new stdClass();

$CFG->dbtype    = 'mysqli';
$CFG->dblibrary = 'native';
$CFG->dbhost    = 'localhost';
$CFG->dbname    = 'moodle';
$CFG->dbuser    = 'adm_moodle';
$CFG->dbpass    = 'clave_moodle';
$CFG->prefix    = 'mdl_';
$CFG->dboptions = array (
'dbpersist' => 0,
'dbport' => '',
'dbsocket' => '',
);

$CFG->wwwroot   = 'http://192.168.1.10/moodle';
$CFG->dataroot  = '/usr/local/moodledata';
$CFG->admin     = 'admin';

$CFG->directorypermissions = 0777;

require_once(dirname(__FILE__) .  ’/lib/setup.php’);
…
…
…
…
…

La siguiente pantalla nos pedirá que aceptemos los términos y condiciones de uso de la plataforma.

Una vez aceptadas las condiciones, el instalador realizará comprobaciones sobre las extensiones de php que son necesarias para su correcto funcionamiento y si las tenemos instaladas en nuestro sistema.

Comprobar características necesarias para el funcionamiento de Moodle

Si todo es correcto veremos que se muestra el mensaje ‘OK’ en el estado de todas las comprobaciones realizadas y pulsaremos el botón ‘Continuar’, para que se inicie el proceso de instalación con toda la información que ha recopilado el instalador hasta este momento.

Veremos una página en la que se nos va informando acerca del proceso que se realiza y su estado.

Proceso de instalación

Una vez finalizada la instalación propiamente dicha, se nos pedirá que configuremos la cuenta del administrador principal, que nos dará un control total sobre el sitio.

La página muestra tres bloques de configuración colapsados: General, Nombres adicionales y Opcional.

El primer bloque (General) es donde indicaremos la información sobre la cuenta de usuario que vamos a crear: Usuario (login), Contraseña (que cumpla una serie de normas), Nombre y Apellidos, Cuenta de correo electrónico, Población, País, Zona horaria y una breve descripción.

Configurar la cuenta del administrador de la plataforma

El segundo bloque (Nombres adicionales) se puede indicar como se pronuncian el nombre y los apellidos del usuario, el segundo nombre (Nombre intermedio: segundo nombre de los angloparlantes) y un alias (Nombre alternativo). Podemos dejar los campos en blanco si no deseamos facilitar esta información.

configuraciones adicionales del administrador

El último bloque (Opcional) está enfocado a indicar la información del usuario en las redes sociales, así como la información de contacto: web, ICQ, Skype, Yahoo, Teléfono contacto, Dirección, etc.

Bloque de datos opcionales

Cuando tengamos todos los datos necesarios cumplimentados, pulsamos ‘Actualizar información personal’, para crear la cuenta.

Después de configurar la cuenta, tendremos que establecer los ajustes de la página principal de nuestra plataforma. Esta página como su nombre indica, es la primera que se mostrará cuando alguien nos visite.

Los datos que tenemos que facilitar son: Nombre completo de nuestra plataforma, Nombre corto, Breve descripción de la plataforma y método por defecto de identificación (si queremos que los usuarios se puedan registrar de forma automática por medio de su email).

Ajustes página principal de Moodle

Una vez que guardemos los cambios, se podrá decir que la instalación de Moodle ha finalizado. Como resultado se nos mostrará la página principal de la plataforma preparada para añadir nuestro primer curso o continuar realizando configuraciones.

Instalación de Moodle finalizada