Portal de aprendizaje privado con Moodle en su Raspberry PI

La digitalización mundial se está extendiendo en todos los campos de la vida. Internet llegó a todos los hogares, por lo que también cambió el proceso de aprendizaje con el aumento de muchos cursos web.

En este artículo, le mostraré cómo crear su portal de aprendizaje personal con Moodle en una computadora de placa única Raspberry PI.

¿Qué es Moodle?

Moodle es un sistema de gestión de aprendizaje de código abierto. Permite a los educadores crear su propio sitio web privado lleno de cursos dinámicos que amplían el aprendizaje, en cualquier momento y en cualquier lugar.

Se puede acceder a la interfaz web de Moodle desde cualquier navegador y es fácil de navegar tanto en dispositivos de escritorio como móviles. Puede encontrar un Tablero personalizable (tanto para usuarios como para administradores) que muestra los cursos actuales, pasados ​​y futuros, junto con las tareas pendientes.

Además de otras características, las más importantes son:

  • Herramientas y actividades colaborativas.
  • calendario todo en uno
  • Gestión de archivos
  • Editor de texto simple e intuitivo
  • Gestión de notificaciones
  • Seguimiento del progreso

La lista completa de características se puede encontrar en la página de características de Moodle Docs.

Lo que necesitamos

Como de costumbre, sugiero agregar desde ahora a su carrito de compras de comercio electrónico favorito todo el hardware necesario, para que al final pueda evaluar los costos generales y decidir si continúa con el proyecto o los elimina del carrito de compras. Entonces, el hardware será solo:

En esta guía, usaré el modelo A+ de Raspberry PI 3 económico (consulte la comparación de modelos de Raspberry PI para conocer las diferencias entre placas).

Consulta precios de hardware en los siguientes enlaces:

Procedimiento paso a paso

Instalar sistema operativo

Usaremos un sistema operativo liviano sin entorno de escritorio, por lo que tendrá más potencia para los servicios en lugar de desperdiciar CPU y RAM. Para esta parte de preparación, consulte la instalación de Raspberry PI OS Lite. (He usado el de 64 bits, ya que es compatible con los modelos RPI 3 en adelante.

Actualice su sistema operativo:

sudo apt update -y && sudo apt upgrade -Y

También puede adoptar algunas mejoras de rendimiento para su Raspberry PI, como reducir la RAM dedicada a la placa gráfica (Administrar división de memoria GPU de Raspberry PI) y aumentar el espacio de intercambio a 1000 MB (Establecer memoria de intercambio de Raspberry PI).

Instalar el servidor de la lámpara

Moodle funciona en el servidor web apache, pero también requiere PHP y una base de datos para almacenar sus datos. Instalaremos un servidor LAMP (Linux Apache Mysql Php) simple, cambiando Mysql con MariaDB que funciona mejor en Raspberry PI. Para este paso, consulte mi servidor LAMP en el tutorial de Raspberry PI.

Requisitos de instalación

Moodle requiere una serie de configuraciones y módulos de PHP para estar preparado para funcionar. Desde la terminal, comience a editar la configuración de PHP:

sudo nano /etc/php/7.4/apache2/php.ini

Verifique estas configuraciones en su php.ini. Para configuraciones que usan ON/OFF como sus valores, puede sustituir 1 por ON y 0 por OFF si lo prefiere. Si cambia algunas configuraciones, no olvide reiniciar el servidor. Los comentarios en negrita identifican la configuración predeterminada de php. También puede dejar todo como está.

  • max_input_vars en la configuración predeterminada se comenta (con una punto y coma al comienzo de la línea). Descomente y configúrelo en 5000
  • memory_limit debe ser de al menos 128M (aunque es posible que algunas funciones no funcionen si es tan bajo). Moodle se negará a instalar si es inferior. Moodle recomienda al menos 128M. Los sistemas grandes pueden necesitar una configuración aún más alta. > 128 POR DEFECTO
  • session.save_handler debe establecerse en ARCHIVOS. > OK POR DEFECTO
  • file_uploads debe estar activado. > OK POR DEFECTO
  • session.auto_start debe estar APAGADO. > OK POR DEFECTO
  • post_max_size y upload_max_filesize restringen el tamaño máximo de archivo que puede cargar. > 8M y 2M por defecto

Cierre el archivo y guárdelo (si ha realizado algún cambio).

La siguiente lista identifica los módulos PHP y las extensiones necesarias o recomendadas. Los comentarios en negrita verifican si ya están instalados con php. Instalaremos los que faltan con el comando apt de una línea al final de la lista:

  • extensión iconv > OK POR DEFECTO
  • extensión mbstring > AÑADIDO ABAJO
  • extensión de rizo > AÑADIDO ABAJO
  • extensión openssl > OK POR DEFECTO
  • extensión tokenizer > OK POR DEFECTO
  • extensión xmlrpc > AÑADIDO ABAJO
  • extensión de jabón > AÑADIDO ABAJO
  • extensión ctype > OK POR DEFECTO
  • extensión zip > AÑADIDO ABAJO
  • extensión gd > AÑADIDO ABAJO
  • extensión simplexml > AÑADIDO ABAJO
  • extensión spl > OK POR DEFECTO
  • extensión pcre > OK POR DEFECTO
  • extensión dom > OK POR DEFECTO
  • extensión xml > AÑADIDO ABAJO (igual que simplexml)
  • extensión internacional > AÑADIDO ABAJO
  • extensión json > OK POR DEFECTO
  • También se requiere la extensión adecuada para la base de datos elegida. > HECHO CON LA INSTALACIÓN DE MARIADB
  • Es posible que se requieran otras extensiones de PHP para admitir la funcionalidad opcional de Moodle, especialmente la autenticación y/o inscripción externa (por ejemplo, la extensión LDAP para la autenticación LDAP y la extensión de sockets para el servidor de Chat). > NO SE NECESITA EN ESTE PROYECTO

Desde la terminal, use el siguiente comando para instalar los paquetes faltantes:

sudo apt install php-mbstring php-curl php-xmlrpc php-soap php-zip php-gd php-xml php-intl -y

Reinicie el servicio de Apache:

sudo systemctl restart apache2.service

También necesitamos enviar correo (como para notificaciones y registro de usuarios). Instalamos Exim:

sudo apt install exim4

Configure Exim en el envío de correo a dominios externos:

sudo dpkg-reconfigure exim4-config

Cambiar solo la primera pantalla configurando la instalación como sitio de internet:

Puede dejar todos los demás parámetros como predeterminados o cambiarlos a su elección.

Pruebe el envío de un correo. El siguiente comando abrirá una sesión de Exim. La terminal escuchará lo agregado por el usuario para agregarlo en el correo enviado (cambiar myEmail@example.com) con su correo:

exim -v myEmail@example.com

Luego escriba:

From: yourEmailAddress@example.com Subject: Exim Subject test Text to be included in message Body

Luego presione CTRL+D y su correo será enviado. Una vez que se completa el envío, puede presionar ENTER para volver a la indicación del terminal.

NOTA: tenga en cuenta que su dirección IP puede estar bloqueada por el antispam de Internet, lo que puede generar un error como «Host del cliente». [x.x.x.x] bloqueado usando Spamhaus” en el envío de registros. En este caso, deberá utilizar una estrategia de envío de correo electrónico autenticado.

Además, verifique en la casilla de correo no deseado de su destinatario que se haya entregado el correo electrónico de prueba.

Instalar y configurar Moodle

Nos conectaremos a MariaDB con el usuario root (la contraseña predeterminada está vacía) para crear la nueva base de datos y otorgar permisos (recuerde usar semicolumnas al final de cada fila de comandos como se muestra a continuación). Antes de comenzar, prepare una combinación de usuario/contraseña para usar en lugar de las predeterminadas (moodleuser / moodlepassword):

sudo mysql -uroot -p

Presione ENTER si todavía tiene su contraseña raíz de MariaDB vacía o escriba su contraseña y presione ENTER. Ejecute las siguientes líneas, usando su usuario y contraseña de base de datos moodle preparados):

CREATE DATABASE moodle DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,CREATE TEMPORARY TABLES,DROP,INDEX,ALTER ON moodle.* TO 'moodleuser'@'localhost' IDENTIFIED BY 'moodlepassword'; flush privileges; quit

Prepare una carpeta vacía para los archivos de Moodle:

sudo mkdir /opt/moodle

Y conceda a www-data (usuario de apache) la propiedad de esta carpeta:

sudo chown -R www-data:www-data /opt/moodle/

Obtendremos el código de Moodle de git (tomará un tiempo, hay algunos cientos de MB para descargar):

sudo apt install git git clone -b MOODLE_311_STABLE git://git.moodle.org/moodle.git

Esto descarga una copia del código de Moodle dentro de un nuevo directorio local en su carpeta de trabajo. Copie el contenido descargado en la carpeta /var/www/html/:

sudo mkdir /var/www/html/moodle/ sudo cp /home/pi/moodle/* /var/www/html/moodle/ -r

Copie la plantilla de configuración a config.php:

sudo cp /var/www/html/moodle/config-dist.php /var/www/html/moodle/config.php

Edite config.php para usar su configuración

sudo nano /var/www/html/moodle/config.php

Edite las variables de acuerdo con su configuración (192.168.1.177 es mi dirección IP de Raspberry PI, así que use su dirección única o externa). Necesitas al menos identificar y modificar los siguientes:

€CFG->dbtype = 'mariadb'; €CFG->dbhost = 'localhost'; €CFG->dbname = 'moodle'; €CFG->dbuser = 'moodleuser'; €CFG->dbpass = 'moodlepassword'; €CFG->dataroot = '/opt/moodle'; €CFG->wwwroot = 'http://192.168.1.177/moodle';

Cierra y guarda. Asigne la propiedad www-data en la carpeta html de Moodle:

sudo chown -R www-data:www-data /var/www/html/moodle/

Configure el cron para trabajos programados:

sudo crontab -u www-data -e

Seleccione “1. /bin/nano” escribiendo 1 y presionando ENTER

Agregue la siguiente cadena:

* * * * * /usr/bin/php /var/www/html/moodle/admin/cli/cron.php >/dev/null

Con esta configuración, nuestro cron se ejecutará cada minuto. Antes de comenzar a instalar Moodle, este script debe ejecutarse al menos 1 vez.

Desde su navegador web favorito, use la siguiente URL (cambiando “192.168.1.177” con su dirección IP de Raspberry PI uno):

http://192.168.1.177/moodle/

A partir de aquí, la instalación procede desde la interfaz web.

La primera pantalla requiere la confirmación del aviso de derechos de autor:

Lea Licencia y confirme con “Continuar” si desea continuar con la instalación. La siguiente pantalla muestra la verificación de requisitos:

Encontrará advertencias finales sobre la activación de https. Esta verificación no es obligatoria y puede omitirse en este momento, esto no admitirá nuestra instalación de prueba. Para que su Raspberry PI sea compatible con https, puede usar mi certificado autofirmado (https) en Raspberry PI con Apache (donde su Raspberry PI no está expuesta en Internet) o usar Let’s Encrypt y Certbot para proteger los sitios web alojados en Raspberry PI automáticamente ( es que sus servicios de Raspberry PI están expuestos en Internet).

Haga clic en el botón «Continuar» al final de esta página.

La instalación y configuración de la plataforma comenzará ahora. tomando un tiempo (especialmente en las operaciones iniciales del sistema). Terminará en muy pocos minutos, mostrando el progreso de la instalación:

Desplácese hacia abajo hasta el final de esta página y haga clic en el botón «Continuar». La siguiente página le pedirá que configure su primer usuario administrador. También podrá crear posteriormente otros usuarios administradores. Los campos obligatorios son la nueva contraseña, nombre, apellido y dirección de correo electrónico, pero también puede cambiar el nombre de usuario «admin» a uno personalizado:

Complete los formularios y haga clic en el botón «Actualizar perfil» al final de la página. Las preferencias de la página principal se mostrarán ahora:

Configure a su elección, teniendo cuidado de configurar correctamente la dirección NoReply (no se aceptará la dirección IP como el dominio). Haga clic en «Guardar cambios».

Su navegador será finalmente redirigido al panel web de administración:

Desde aquí, está listo para usar su plataforma de aprendizaje con Moodle en Raspberry PI.

Consulte la página de Moodle Docs para personalizar y usar su sitio.