Cómo instalar Moodle en Ubuntu 20.04

Moodle es un sistema de gestión de aprendizaje (LMS) gratuito y de código abierto. Está escrito en lenguaje de programación PHP. Moodle es utilizado por muchas escuelas, universidades y organizaciones para una mejor experiencia de aprendizaje.

Moodle proporciona gestión de contenido, interfaz de usuario fácil de usar, informes, cuestionarios, comentarios, listas de asistencia y más.

Esta guía explica cómo configurar su propio Moodle servidor desde cero Ubuntu 20.04 usando el LEMP apilar.

Instalar LEMP Stack en Ubuntu

LEMP es una colección de software de código abierto que comprende Linux, Nginx, MySQL / MariaDB y PHP. LEMP es esencialmente una alternativa a la pila LAMP con Nginx como servidor web en lugar de Apache.

Para Linux, estamos trabajando con Ubuntu 20.04 en esta guía. Asegúrese de tener el suyo listo para usar con un usuario que tenga sudo capacidad.

Instalar Nginx

Nginx es necesario para servir los recursos de aprendizaje a través de la web. Si no tiene una instancia existente del servidor web NGINX, siga los pasos de esta otra guía para instalar NGINX en Ubuntu 20.04. Una vez que haya configurado correctamente NGINX con su nombre de dominio registrado, puede volver a esta guía y continuar con los siguientes pasos a continuación.

Instalar MySQL / MariaDB

Se requiere una base de datos para almacenar datos de moodle. La base de datos más utilizada para Moodle suele ser MySQL / MariaDB o Postgres.

La tabla de la base de datos de Moodle incluye información sobre usuarios, cursos, información del sitio y datos para análisis.

Vamos a instalar MariaDB, que es un sistema de gestión de bases de datos de código abierto derivado de MySQL.

Ejecute el siguiente comando para instalar MariaDB en Ubuntu:

PS sudo apt-get install mariadb-server mariadb-client

El siguiente comando ejecutará un script integrado para configurar y asegurar su instalación de mariadb.

PS sudo mysql_secure_installation

Es importante que lea atentamente las instrucciones. En primer lugar, se le pedirá que ingrese la contraseña actual para el usuario root de mysql. Dado que se trata de una nueva instalación, el usuario root de mysql tiene una contraseña en blanco. Entonces presione la tecla Enter para continuar.

Enter contraseña actual para root (ingrese para ninguna): OK, contraseña usada con éxito, avanzando …

El segundo paso es establecer la contraseña de root para mariadb. Enter y y luego escriba la contraseña deseada.

¿Establecer contraseña de root? [Y/n] y
Nueva contraseña: Vuelva a ingresar la nueva contraseña: ¡La contraseña se actualizó correctamente! Recarga de tablas de privilegios … ¡Éxito!

A continuación, elimine a los usuarios anónimos. Enter y para confirmar.

¿Eliminar usuarios anónimos? [Y/n] y
… ¡Éxito!

El siguiente paso consiste en deshabilitar el inicio de sesión de root de forma remota. Enter y para confirmar.

¿Deshabilitar el inicio de sesión de root de forma remota? [Y/n] y
… ¡Éxito!

Enter y para confirmar la eliminación de la base de datos de prueba.

¿Eliminar la base de datos de prueba y acceder a ella? [Y/n] y Eliminando la base de datos de prueba…… ¡Éxito! Eliminando privilegios en la base de datos de prueba…… ¡Éxito!

El último paso es volver a cargar las tablas de privilegios para que los cambios surtan efecto. Enter y para confirmar.

¿Recargar tablas de privilegios ahora? [Y/n] y
… ¡Éxito! Limpiando… ¡Todo listo! Si ha completado todos los pasos anteriores, su instalación de MariaDB ahora debería ser segura. ¡Gracias por usar MariaDB!

Ahora puede iniciar sesión en mariadb y crear una base de datos para almacenar datos de moodle. Ejecute el comando a continuación e ingrese la contraseña de root mariadb cuando se le solicite.

PS sudo mysql -u root -p

Una vez que haya iniciado sesión, ejecute el siguiente comando para crear una base de datos.

> CREAR BASE DE DATOS moodle;

A continuación, cree una cuenta de usuario para Moodle en mariadb de la siguiente manera. Recuerda reemplazar estado de ánimo y contraseña con tus propios valores.

> CREAR USUARIO ‘moodlesuper’ @ ‘localhost’ IDENTIFICADO POR ‘contraseña’;

El siguiente comando otorga los permisos necesarios a la cuenta de usuario recién creada.

> OTORGAR SELECCIONAR, INSERTAR, ACTUALIZAR, ELIMINAR, CREAR, CREAR TABLAS TEMPORALES, SOLTAR, INDICE, ALTERAR EN moodle. * A ‘moodlesuper’ @ ‘localhost’;

Cierre la sesión de mariadb de la siguiente manera.

> salir

Instalar PHP

PHP es necesario para procesar dinámicamente las solicitudes de los usuarios de contenidos de Moodle. NGINX trabaja con PHP usando PHP-FPM, es decir, FastCGI Process Manager.

Instale los componentes PHP necesarios ejecutando el siguiente comando.

PS sudo apt-get install php-fpm php-mysql php-xml

Una vez instalado, el siguiente paso es configurar NGINX para reenviar solicitudes PHP a PHP-FPM. Para hacer eso, necesitaría editar el archivo de bloque del servidor NGINX para su sitio web Moodle. Para example, el siguiente comando abrirá el archivo de bloque del servidor para mi sitio web Moodle ‘cloudindevs.com’.

PS sudo nano / etc / nginx / sites-available / cloudindevs

En el archivo de bloque del servidor, agregue index.php a la línea que comienza con index. Además, copie la siguiente directiva de configuración y péguela justo debajo de la directiva de ubicación existente en el archivo de bloqueo de su servidor.

# pass PHP scripts to FastCGI server
location ~ [^/].php(/|$) {
fastcgi_split_path_info ^(.+.php)(/.+)$;
fastcgi_index index.php;
fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
include fastcgi_params;
fastcgi_param PATH_INFO $fastcgi_path_info;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}

Después de los cambios, esa parte del archivo de bloqueo de su servidor debería verse similar a lo que ve en la imagen a continuación. Las nuevas incorporaciones están marcadas en rojo.

Configurar NGINX para trabajar con PHP-FPM

Para probar su configuración, ejecute el siguiente comando para crear un archivo index.php de muestra en el directorio raíz de su sitio web moodle. Recuerde reemplazar ‘cloudindevs.com’ con la dirección de su propio sitio web.

PS sudo nano /var/www/cloudindevs.com/index.php

Copie y pegue el código PHP de muestra a continuación en el archivo index.php.

<?php echo 'NGINX is working with PHP-FPM!'; ?>

Save y close el archivo index.php. Visite yourwebsite.com/index.php en un navegador web y debería ver la página de muestra a continuación.

Probar la configuración de PHP-FPMProbar la configuración de PHP-FPM

Para tener SSL (https) siga Nginx con Let’s Encrypt.

Instalar Moodle en Ubuntu

En el momento de redactar esta guía, el última versión de Moodle es 3.10.1 y puede ser descargado como sigue.

PS sudo wget https://download.moodle.org/download.php/direct/stable310/moodle-3.10.1.tgz

A continuación, extraiga el contenido del paquete descargado y colóquelo en el directorio raíz de su sitio web Moodle. Aquí hay un example.

PS sudo tar -zxvf moodle-3.10.1.tgz -C /var/www/cloudindevs.com

Es necesario cambiar la propiedad y los permisos en la carpeta de Moodle extraída de la siguiente manera. La cuenta de servicio NGINX predeterminada es www-datos.

PS sudo chown -R www-data: www-data /var/www/cloudindevs.com/moodle $ sudo chmod -R 755 /var/www/cloudindevs.com/moodle

Ejecute los siguientes tres comandos para crear un directorio con los permisos adecuados para que Moodle almacene los archivos y carpetas cargados. El directorio de datos de Moodle no debe ser accesible a través de la web.

PS sudo mkdir / var / moodledata $ sudo chown -R www-data: www-data / var / moodledata $ sudo chmod -R 755 / var / moodledata

Configuración de Moodle

Ahora es el momento de crear el archivo de configuración principal de Moodle. Para hacer esto, cambie el directorio y luego copie el archivo de configuración de muestra en la carpeta de Moodle extraída ejecutando los siguientes comandos.

$ cd /var/www/cloudindevs.com/moodle $ sudo cp config-dist.php config.php

Abra el archivo config.php para editarlo.

PS sudo nano config.php

En el CONFIGURACIÓN DE LA BASE DE DATOS sección del archivo config.php, haga lo siguiente.

  1. Reemplazar pgsql con mariadb
  2. Reemplazar moodle con el nombre de la base de datos que creó al configurar mariadb
  3. Cambio nombre de usuario al nombre de usuario real de la base de datos que creó anteriormente
  4. Cambio contraseña a la contraseña de su base de datos

Presione la tecla de flecha hacia abajo hasta llegar a la UBICACIÓN DEL SITIO WEB sección del archivo config.php.

Reemplazar https: //example.com/moodle con https://yoursite.com/moodle

Por ejemplo, el mío sería ‘https://cloudindevs.com/moodle’

Desplácese hacia abajo hasta el UBICACIÓN DE LOS ARCHIVOS DE DATOS sección del archivo config.php.

Cambio /casa/example/ moodledata a su directorio de datos moodle que creó anteriormente. El mío sería / var / moodledata

Acceder a la interfaz web de moodle

En este punto, puede abrir un navegador web y visitar yoursite.com/moodle para completar la instalación.

Esto es lo que obtengo cuando voy a ‘www.cloudindevs.com/moodle’ en un navegador web.

Página de instalación web de MoodlePágina de instalación web de Moodle

Hacer clic Continuar para proceder. En la página siguiente, puede encontrar errores relacionados con complementos faltantes. Ver un example en la imagen de abajo.

Comprobaciones del servidor MoodleComprobaciones del servidor Moodle

Para resolver los problemas, haga clic en debe estar instalado y habilitado y siga las instrucciones para instalar las extensiones necesarias. Después de instalar las extensiones necesarias, reinicie NGINX con sudo systemctl reiniciar nginx y luego vuelva a cargar la página Verificaciones del servidor para confirmar si los errores desaparecieron.

Pasaron las comprobaciones del servidor MoodlePasaron las comprobaciones del servidor Moodle

Si los errores desaparecen, puede hacer clic en Continuar para proceder.

Configurar la cuenta de administrador principal de Moodle

Después de instalar Moodle con éxito, se le presentará una página para configurar su cuenta de administrador principal. Debería especificar un nombre de usuario, una contraseña y otra información requerida.

Además, se le pedirá que configure el nombre de su sitio, el resumen de la página principal, la configuración de ubicación, etc. Cuando haya terminado, haga clic en Save cambios al final de la página.

Save  Configuración de MoodleSave Configuración de Moodle

Y eso concluye la instalación de Moodle. Así es como se ve mi nuevo sitio web Moodle.

Moodle instalado exitosamenteMoodle instalado exitosamente

Conclusión

El aprendizaje en línea ha ganado mucha atención desde que comenzó la pandemia Covid-19, y eso es un hecho. Muchas instituciones educativas están creando plataformas de e-learning a través de sistemas de gestión de aprendizaje en línea como Moodle.

En esta guía, hemos instalado y configurado con éxito un servidor Moodle desde cero en Ubuntu 20.04. Para obtener información adicional sobre cómo usar y administrar su sitio web Moodle, consulte el sitio oficial Documentos de Moodle.