Búsqueda de sitios web

Cómo instalar la plataforma de aprendizaje Moodle en Ubuntu 20.04


Moodle es la plataforma de gestión de aprendizaje en línea (e-learning) más popular, sólida, gratuita y de código abierto del mundo, creada para web y dispositivos móviles. Ofrece una amplia gama de actividades y herramientas educativas que permiten a las escuelas, universidades e instituciones relacionadas ofrecer a los estudiantes una plataforma de aprendizaje flexible en cualquier momento y lugar, sin interrupción de su curso y plan de estudios.

Algunas de sus características generales incluyen una interfaz moderna y fácil de usar, un panel personalizado, herramientas y actividades colaborativas, calendario todo en uno, administración de archivos conveniente, editor de texto simple e intuitivo, notificaciones y seguimiento del progreso.

Es importante destacar que Moodle también es altamente extensible mediante más de mil complementos que admiten actividades adicionales, bloques, temas y mucho más.

En este artículo, aprenderá cómo instalar la última versión de la Plataforma de aprendizaje Moodle con NGINX y la base de datos MySQL/MariaDB en Ubuntu 20.04 y versiones anteriores.

Requisitos del servidor:

  • Un servidor Ubuntu 20.04 recién instalado con LEMP Stack instalado.

Una vez que haya instalado la pila LEMP en el servidor Ubuntu, puede continuar para configurar Moodle en el servidor como se explica a continuación.

En esta página

  • Configurar el registro DNS para la aplicación Moodle
  • Instalación de Moodle en el servidor Ubuntu
  • Configuración de NGINX para servir la aplicación Moodle
  • Completar la instalación de Moodle a través del instalador web
  • Habilite HTTPS en la aplicación Moodle usando Let's Encrypt

Configurar el registro DNS para la aplicación Moodle

1. Para que los usuarios accedan a su instancia de Moodle, debe crear un subdominio para ella, por lo tanto, debe crear un DNS. Un registro para lograr esto. Para esta guía, nuestro dominio de prueba es testprojects.me, por lo que necesitamos crear un subdominio, por ejemplo, learning.testprojects.me.

Entonces, inicie sesión en la consola web de su registrador de dominio y acceda a la configuración avanzada de su dominio, haga clic en Agregar nuevo registro de tipo A, un host debería estar aprendiendo. (o cualquier palabra de su elección), y el valor debe ser la dirección IP pública de su servidor Ubuntu.

Instalación de Moodle en el servidor Ubuntu

2. A continuación, debe instalar las extensiones y bibliotecas PHP requeridas por Moodle utilizando el administrador de paquetes apt como se muestra.

sudo apt update
sudo apt install php-common php-iconv php-curl php-mbstring php-xmlrpc php-soap php-zip php-gd php-xml php-intl php-json libpcre3 libpcre3-dev graphviz aspell ghostscript clamav

3. A continuación, cree una base de datos para su sistema Moodle. Inicie sesión en el shell de administración de la base de datos MySQL y cree la base de datos como se muestra:

sudo mysql

MariaDB [(none)]> CREATE DATABASE moodle;
MariaDB [(none)]> GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,CREATE TEMPORARY TABLES,DROP,INDEX,ALTER ON moodle.* TO 'moodleadmin'@'localhost' IDENTIFIED BY 'Secur3P@zzwd';
MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> quit;

4. Como se mencionó anteriormente, para esta guía, descargaremos e instalaremos la última versión de Moodle (versión 3.9 en el momento de escribir este artículo). Ejecute el siguiente comando wget para tomar el paquete de Moodle y use el comando tar para extraerlo respectivamente. Luego use el comando ls para confirmar que el directorio de Moodle existe en /var/www/html/ como se muestra.

wget -c https://download.moodle.org/download.php/direct/stable39/moodle-latest-39.tgz
sudo tar -zvxf moodle-latest-39.tgz -C /var/www/html/
ls /var/www/html/

5. A continuación, establezca los permisos adecuados en el directorio Moodle ejecutando los siguientes comandos.

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

6. A continuación, cree el directorio datos de Moodle, un lugar donde Moodle puede guardar los archivos cargados y establecer sus permisos como se muestra.

sudo mkdir -p /var/moodledata
sudo chmod 775 -R /var/moodledata
sudo chown www-data:www-data -R  /var/moodledata

7. Luego cree el archivo de configuración principal de Moodle a partir del archivo de configuración de muestra proporcionado con el paquete y ábralo.

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

Busque la sección de configuración de la base de datos, luego configure la base de datos donde se almacenarán todos los datos de Moodle, como se muestra en la siguiente captura de pantalla:

$CFG->dbtype    = 'mariadb';      // 'pgsql', 'mariadb', 'mysqli', 'sqlsrv' or 'oci'
$CFG->dblibrary = 'native';     // 'native' only at the moment
$CFG->dbhost    = 'localhost';  // eg 'localhost' or 'db.isp.com' or IP
$CFG->dbname    = 'moodle';     // database name, eg moodle
$CFG->dbuser    = 'moodleadmin';   // your database username
$CFG->dbpass    = 'Secur3P@zzwd';   // your database password
$CFG->prefix    = 'mdl_';       // prefix to use for all table names

Además, configure la ubicación del sitio web de Moodle, así como la ubicación del directorio de datos de Moodle como se muestra.

$CFG->wwwroot   = 'http://learning.testprojects.me';
$CFG->dataroot  = '/var/moodledata';

Guarde y cierre el archivo. Luego configure NGINX para servir su sitio Moodle como se describe en la siguiente sección.

Configuración de NGINX para servir la aplicación Moodle

8. Para que NGINX sirva su sitio Moodle, debe crear una nueva configuración de bloque de servidor en la configuración NGINX, en el directorio /etc/nginx/conf.d/.

sudo vim /etc/nginx/conf.d/moodle.conf

Copie y pegue la siguiente configuración en él, reemplace learning.testprojects.me con su subdominio. Además, la directiva fastcgi_pass debe apuntar a la dirección en la que PHP-FPM acepta solicitudes FastCGI (consulte /etc/php/7.4/fpm/pool.d/www.conf archivo para obtener más información).

server{
   listen 80;
    server_name learning.testprojects.me;
    root        /var/www/html/moodle;
    index       index.php;

    location / {
        try_files $uri $uri/ /index.php?$query_string;
    }

    location ~ ^(.+\.php)(.*)$ {
        fastcgi_split_path_info ^(.+\.php)(.*)$;
        fastcgi_index           index.php;
        fastcgi_pass           unix:/run/php/php7.4-fpm.sock;
        include                 /etc/nginx/mime.types;
        include                 fastcgi_params;
        fastcgi_param           PATH_INFO       $fastcgi_path_info;
        fastcgi_param           SCRIPT_FILENAME $document_root$fastcgi_script_name;
}
}

Guarde el archivo y ciérrelo.

9. A continuación, verifique que la configuración de NGINX esté bien después de realizar los cambios anteriores y luego reinicie correctamente el servicio NGINX.

sudo nginx -t
sudo systemctl reload nginx

Completar la instalación de Moodle a través del instalador web

10. Ahora abra un navegador web y navegue usando su subdominio, por ejemplo, learning.testprojects.me para acceder al instalador web Moodle.

http://learning.testprojects.me

Una vez que se cargue la página de bienvenida, lea el mensaje y haga clic en Continuar.

11. A continuación, el instalador comprobará si su sistema cumple con los requisitos; si todo está bien, desplácese hacia abajo y haga clic en Continuar para iniciar la instalación real de los archivos y la configuración de la base de datos. esquema.

Tenga en cuenta que el instalador mostrará una advertencia acerca de que el sitio no se ejecuta en HTTPS; ignore la advertencia por ahora. En la última sección, cubriremos cómo habilitar HTTPS en Moodle usando certificados Let's Encrypt gratuitos.

Una vez completada la instalación, haga clic en Continuar.

12. A continuación, configure la cuenta de administrador de su sitio Moodle creando el nombre de usuario, la contraseña, el nombre y apellido de la cuenta y la dirección de correo electrónico. Luego, desplácese hacia abajo y haga clic en Actualizar cuenta.

13. A continuación, configure los ajustes de la página principal del sitio Moodle como se muestra en la siguiente captura de pantalla. Luego, desplácese hacia abajo y haga clic en Actualizar.

14. El instalador web lo iniciará automáticamente en el nuevo sitio Moodle. Puede completar el registro de su sitio siguiendo las instrucciones en pantalla.

Configurar HTTPS en la aplicación Moodle usando Let's Encrypt

15. Para proteger su sitio Moodle, debe habilitar HTTPS. Para esta guía, utilizaremos certificados SSL/TLS gratuitos y confiables de Let's Encrypt. Otra ventaja de utilizar Let's Encrypt es que está automatizado.

Entonces, regrese a su terminal y ejecute el siguiente comando para instalar certbot en Ubuntu (una herramienta gratuita de código abierto para usar automáticamente los certificados Let's Encrypt para habilitar HTTPS en sitios administrados manualmente).

sudo snap install --classic certbot

16. Luego ejecute el siguiente comando para obtener un certificado y haga que Certbot edite su configuración NGINX para configurar automáticamente el nuevo certificado.

sudo certbot --nginx

17. A continuación, regrese al archivo de configuración del sitio Moodle.

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

y cambie la URL de HTTP a HTTPS como se muestra en la siguiente captura de pantalla.

$CFG->wwwroot   = 'https://learning.testprojects.me';

18. Finalmente, verifique desde el navegador que su sitio Moodle ahora se esté ejecutando en HTTPS.

https://learning.testprojects.me

¡Eso es todo por ahora! Vaya a la documentación de Moodle 3.9 para obtener más información, opciones de configuración y guía de uso.