LINUX

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 capacidad sudo.

Instalar Nginx

Nginx es necesario para ofrecer 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:

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

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

$ 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 current password for root (enter for none):
OK, successfully used password, moving on…

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

Set root password? [Y/n] y
New password:
Re-enter new password:
Password updated successfully!
Reloading privilege tables..
… Success!

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

Remove anonymous users? [Y/n] y
… Success!

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

Disallow root login remotely? [Y/n] y
… Success!

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

Remove test database and access to it? [Y/n] y
Dropping test database…
… Success!
Removing privileges on test database…
… Success! 

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

Reload privilege tables now? [Y/n] y
… Success!
Cleaning up…
All done!  If you've completed all of the above steps, your MariaDB
installation should now be secure.
Thanks for using MariaDB!

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

$ sudo mysql -u root -p

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

> CREATE DATABASE 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.

> CREATE USER 'moodlesuper'@'localhost' IDENTIFIED BY 'password';

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

> GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,CREATE TEMPORARY TABLES,DROP,INDEX,ALTER ON moodle.* TO 'moodlesuper'@'localhost';

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

> quit

Instalar PHP

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

Instale los componentes PHP necesarios ejecutando el siguiente comando.

$ 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. Por ejemplo, el siguiente comando abrirá el archivo de bloqueo del servidor para mi sitio web Moodle ‘cloudindevs.com’.

$ 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.

Configure NGINX para trabajar con PHP-FPM
Configure 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.

$ 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!'; ?>

Guarde y cierre 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-FPM
Probar 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.

$ 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 ejemplo.

$ 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.

$ 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.

$ 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.

$ 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 http://example.com/moodle con http://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 / home / example / moodledata a su directorio de datos de 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 Moodle
Página de instalación web de Moodle

Hacer clic Continuar para proceder. En la página siguiente, puede encontrar errores relacionados con complementos faltantes. Vea un ejemplo en la imagen a continuación.

Comprobaciones del servidor Moodle
Comprobaciones 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.

Se aprobaron las comprobaciones del servidor Moodle
Se aprobaron 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 Guardar cambios al final de la página.

Guardar la configuración de Moodle
Guardar la configuración de Moodle

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

Moodle instalado con éxito
Moodle instalado con éxito

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.

Publicaciones relacionadas

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Botón volver arriba
Cerrar