Cómo instalar Moodle en Ubuntu 20.04 LTS

En esta ocasión vamos a ver cómo instalar Moodle en Ubuntu 20.04 LTS Focal Fossa paso a paso, de modo que puedas trabajar con la plataforma de eLearning más conocida en Internet sobre tu servidor o VPS Ubuntu.

Antes de instalar Moodle en Ubuntu 20.04 LTS

Si tienes interés en seguir los pasos de esta guía de instalación de Moodle en Ubuntu 20.04, asegúrate de cumplir al menos estos requisitos mínimos:

  • Un sistema Ubuntu 20.04 LTS actualizado.
  • Una pila o entorno tipo LAMP (servicio web con PHP hasta 7.4 y motor de bases de datos).
  • Un usuario con permisos de sudo.
  • Acceso a Internet.

En caso de que no dispongas todavía del entorno necesario, te aconsejamos echar un vistazo a nuestra guía de instalación de la pila LAMP en Ubuntu 20.04. Puedes integrar Moodle en el servicio web de Ubuntu 20.04 de múltiples formas, ya sea como el sitio web principal, un servidor virtual independiente o, como haremos en este artículo, como parte del sitio web principal. También es importante trabajar con conexiones seguras HTTPS, aunque por simplicidad en este artículo lo haremos sobre HTTP.

Antes de empezar con la instalación de Moodle, abriremos una terminal de consola y actualizaremos la información de los repositorios de Ubuntu 20.04:

~$ sudo apt update

Cómo descargar Moodle para Ubuntu 20.04

Vamos a descargar Moodle para Ubuntu 20.04 LTS desde la zona de descargas de la web oficial, donde encontraremos la última versión estable:

como descargar moodle para ubuntu 20.04 server lts focal fossa

Si en el momento de visitar la página de descargas, además del lanzamiento original encontramos una versión con la numeración terminada en +, será esta la que elijamos, ya que incorpora todos parches aparecidos desde el lanzamiento de la versión actual.

Los paquetes están disponibles en formato .tgz y .zip, cuyos enlaces conducen a una página de descarga automática, aunque en este tutorial realizaremos la descarga del paquete .tgz directamente desde consola con el comando wget:

~$ wget https://download.moodle.org/download.php/direct/stable311/moodle-latest-311.tgz

Cómo instalar Moodle en Ubuntu 20.04

Para poder instalar Moodle en Ubuntu 20.04 LTS necesitaremos realizar unas cuantas tareas de preparación del sistema, de modo que el instalador web posteriormente corra sin encontrar problemas. Veamos con más detalles estos procesos.

Archivos de Moodle

Descomprimiremos el paquete que acabamos de descargar directamente en la ubicación que nos interese:

~$ sudo tar xf moodle-latest-311.tgz -C /var/www/html/

Como Moodle necesita escribir en su propio directorio de instalación, cambiamos el propietario de este directorio al usuario con el que corre el servicio web en Ubuntu 20.04 (www-data):

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

Necesitamos también un directorio para datos de Moodle, que crearemos fuera del alcance de la navegación web:

~$ sudo mkdir /var/www/moodledata

Cambiamos el propietario de este directorio al usuario con el que corre el servicio web en Ubuntu 20.04 (www-data) para que Moodle pueda escribir:

~$ sudo chown www-data: /var/www/moodledata/

Base de datos

Moodle necesita el soporte necesario del motor de base de datos que tengamos en Ubuntu 20.04, por lo que explicaremos cómo preparar los más usados.

MariaDB/MySQL

Usaremos el cliente de consola mysql y el usuario con el que administremos:

~$ mysql -u root -p

Creamos la base de datos:

> create database moodle charset utf8mb4 collate utf8mb4_unicode_ci;

En MariaDB o MySQL 5 creamos el usuario de la siguiente forma:

> create user moodle@localhost identified by 'XXXXXXXX';

Pero en MySQL 8 conviene especificar el plugin compatible:

> create user moodle@localhost identified with mysql_native_password by 'XXXXXXXX';

Otorgamos los permisos necesarios al usuario sobre la base:

> grant all privileges on moodle.* to moodle@localhost;

Y cerramos la conexión:

> exit

PostgreSQL

En el caso de trabajar con este servicio de bases de datos, crearemos un rol con contraseña para Moodle:

~$ sudo -u postgres createuser -P moodle

Y también crearemos la base de datos asociada al rol:

~$ sudo -u postgres createdb moodle -O moodle

PHP

Moodle requiere la presencia en Ubuntu 20.04 LTS de ciertas extensiones que instalaremos desde los repositorios de la distribución, por lo que instalamos los paquetes necesarios, si se trata de la versión nativa de PHP para Ubuntu 20.04:

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

Si en cambio se trata de alguna versión procedente del repositorio alternativo, habrá que especificar el número de la misma en la nomenclatura de los paquetes; por ejemplo, para PHP 8.0:

~$ sudo apt install -y php8.0-curl php8.0-gd php8.0-intl php8.0-mbstring php8.0-soap php8.0-xml php8.0-xmlrpc php8.0-zip

También editaremos el archivo php.ini para realizar algún ajuste (si usas una versión alternativa de PHP, modifica la ruta en el siguiente comando):

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

Buscamos la directiva max_input_vars:

...
;max_input_vars = 1000
...

Suprimimos el carácter ; al inicio de línea y cambiamos el valor por el que requiere Moodle:

...
max_input_vars = 5000
...

Hecho esto, podemos guardar y cerrar el archivo.

En caso de usar Apache y su módulo de PHP será necesario recargar la configuración del servicio web:

~$ sudo systemctl reload apache2

Instalador web

Para acceder al instalador web de Moodle desde un navegador añadiremos la ruta de instalación, /moodle en este tutorial, a la dirección del servidor Ubuntu 20.04 LTS.

Por ejemplo, la máquina Ubuntu 20.04 LTS sobre la que realizamos este artículo es accesible en el subdominio o nombre DNS ubuntu2004.local.lan, por lo que usaremos http://ubuntu2004.local.lan/moodle como URL:

como instalar moodle en ubuntu 20.04 lts focal fossa

Una vez seleccionado el idioma confirmaremos las rutas de Moodle, aunque realmente sólo podríamos modificar la ruta para el directorio de datos:

instalar moodle en ubuntu 20.04 lts focal fossa

En este artículo hemos creado el directorio de datos en el valor por defecto que sugiere el instalador, por lo que no será necesario modificarlo.

El siguiente paso es seleccionar el motor de base de datos:

instalacion de moodle en ubuntu 20.04 lts focal fossa

El desplegable mostrará las opciones disponibles en el sistema, por lo que elegiremos la que se adecúe a la configuración que hemos realizado antes.

Seguidamente un formulario nos solicitará los datos de conexión al servicio:

instalador de moodle en ubuntu 20.04 lts focal fossa

Proporcionaremos los nombres de la base de datos y el usuario, así como la contraseña, tal como los creamos en pasos anteriores.

Comprobada la conexión, será necesario aceptar las condiciones del servicio:

instalando moodle en ubuntu 20.04 lts focal fossa

A continuación se muestra una lista de comprobación de requisitos para la instalación de Moodle en Ubuntu 20.04:

configuración de ubuntu 20.04 lts para moodle

Si has seguido los pasos anteriores, todos los requisitos fundamentales se cumplirán y podrás continuar con el proceso de instalación.

El proceso de instalación en sí mostrará una larga lista de operaciones y sus resultados:

instalador de moodle para ubuntu 20.04 lts focal fossa

Este proceso tomará unos instantes, tras los que la instalación termina y comienza la configuración del administrador para el nuevo sitio Moodle:

También tendremos que suministrar información sobre la identidad del sitio:

moodle para ubuntu 20.04 lts focal fossa

Finalizada la configuración del sitio, se inicia sesión automática en el sitio, mostrándose el área personal:

moodle en ubuntu 20.04 lts focal fossa

¡Ya podemos empezar a trabajar en nuestro nuevo sitio Moodle!

Post-instalación

Mantenimiento en segundo plano

Moodle necesita realizar tareas de mantenimiento de la plataforma en segundo plano, utilizando el servicio Cron de Ubuntu 20.04. Para ello crearemos una nueva tarea programada:

~$ sudo nano /etc/cron.d/moodle

La configuración constará de la siguiente línea:

*/1 * * * * www-data /usr/bin/php /var/www/html/moodle/admin/cli/cron.php

Una vez guardado el archivo comenzará el mantenimiento en segundo plano.

Ghostscript para Moodle en Ubuntu 20.04 LTS

Instalaremos Ghostscript para el soporte PDF en Moodle, utilizando paquetes disponibles en el repositorio de Ubuntu 20.04:

~$ sudo apt install -y ghostscript

Comprobaremos que Ghostscript queda perfectamente integrado desde el área personal. Visitando la sección «Administración del sitio«, y seleccionando la solapa «Extensiones» buscaremos en la misma página «Módulos de actividad / Tarea / Extensiones de retroalimentación / Anotar PDF«.

Al abrir la página «Anotar PDF» se mostrará un enlace «Prueba del PATH de ghostscript» que nos llevará a la página de comprobación:

ghostscript para moodle en ubuntu 20.04 lts

Si todo funciona como debería, se mostrará una imagen generada gracias a Ghostscript.

Unoconv para Moodle en Ubuntu 20.04 LTS

Para poder realizar la conversión de formatos de archivo procedentes de distintas aplicaciones de ofimática una solución puede ser utilizar Unoconv como complemento de Moodle. Por tanto instalaremos el paquete unoconv con apt:

~$ sudo apt install -y unoconv

Unoconv se instala como herramienta de línea de comandos, pero no como servicio, así que crearemos un archivo de configuración para Systemd:

~$ sudo nano /etc/systemd/system/unoconv.service

Con el siguiente contenido:

[Unit]
Description=Unoconv listener para Ubuntu 20.04 LTS
After=network.target remote-fs.target nss-lookup.target

[Service]
Type=fork
Environment="UNO_PATH=/usr/lib/libreoffice/program"
ExecStart=/usr/bin/unoconv --listener

[Install]
WantedBy=multi-user.target

Una vez guardado y cerrado el archivo, disponemos del servicio unoconv o unoconv.service que podemos habilitar para su inicio automático junto a Ubuntu 20.04:

~$ sudo systemctl enable unoconv

Para no esperar al siguiente inicio del sistema, podemos iniciar el servidor Unoconv por primera vez:

~$ sudo systemctl start unoconv

Se puede comprobar el estado del servicio con la opción status de systemctl:

~$ systemctl status unoconv

Aprovechando que estamos usando la consola, crearemos el directorio temporal que se usará para la conversión de documentos:

~$ sudo mkdir /var/www/.cache

Como será el servicio web el que escriba en este directorio, cambiaremos la propiedad del mismo al usuario con el que corre dicho servicio:

~$ sudo chown www-data: /var/www/.cache/

Es el momento de acceder al área personal de Moodle para comprobar si Unoconv funciona. En la solapa «Extensiones» de la sección «Administración del sitio» buscaremos el apartado «Convertidores de documentos«, donde seguiremos el enlace «Gestionar convertidores de documentos«.

Activaremos el conversor Unoconv utilizando el icono con forma de ojo y a continuación seguiremos su enlace «Configuración» que abrirá una página donde, además de comprobar que la ruta del comando unoconv es correcta, nos permitirá realizar una prueba de funcionamiento mediante el enlace «Test unoconv path«.

Visitando este último enlace un mensaje nos informará de que la ruta del comando es correcta mediante la conversión de un archivo de prueba. Además dispondremos de un enlace «Download the converted pdf test file«:

Abriendo el enlace «Donwload the converted pdf test file» se descargará el archivo PDF procedente de la conversión del archivo de prueba:

unoconv en moodle para ubuntu 20.04 lts focal fossa

Ya tenemos operativo Unoconv integrado con Moodle sobre Ubuntu 20.04 LTS.

Conclusión

Ahora que sabes cómo instalar Moodle en Ubuntu 20.04 LTS Focal Fossa ya puedes desplegar esta plataforma de eLearning para trabajar tanto en red local como a través de Internet, desde tu servidor o VPS Ubuntu.

Si tienes dudas o preguntas, quieres sugerir mejoras o actualizaciones de este artículo, notificar algún error, etc. deja un comentario y lo atenderé lo antes posible.

¡Apoya comoinstalar.me!

¿Ya tienes lista la plataforma de eLearning gracias a esta guía de instalación de Moodle en Ubuntu 20.04 LTS? Si es así y te apetece agradecérnoslo, cualquier pequeña aportación ayuda mucho al mantenimiento de este sitio y la creación de próximos artículos sobre Ubuntu 20.04 y Moodle, y puedes hacerlo de varias formas, como invitándonos a un café:

 

O dejando una propina de 1 $ desde PayPal:

¡Gracias!

Valora esta entrada

17 comentarios en «Cómo instalar Moodle en Ubuntu 20.04 LTS»

  1. Hola de nuevo, el problema de configuración PHP max_imput_vars debe ser al menos 5000, no me deja avanzar, ¿me puedes sugerir algo?, ¿estará relacionado con otra comprobación de HTTPS en amarillo?

    Responder
    • ¿Qué versión de PHP estás usando? ¿Has hecho el cambio en el archivo php.ini y has recargado la configuración del servicio web? La otra alerta no tiene nada que ver.

      Responder
  2. Hola de nuevo, muchas gracias, ya quedó el problema anterior.

    Tengo otro detalle con la instalación, me pide que la configuración PHP max_imput_vars lo ponga en 5000, yo lo hice en /etc/php/7.3/apache2/php.ini porque en /etc/php/7.4/apache2/ no me aparece nada, ayuda por favor.

    Responder
    • Es raro que uses la versión 7.3 en lugar de la 7.4. En cualquier caso no hay problema, has editado el archivo correcto y la instalación debería poder continuar.

      Responder
  3. Buenos días, en la instalación me genera un error y me dice que en el archivo config.php debo cambiar mysql a mariadb, pero ni siquiera encuentro el archivo config.php, soy novato ¿me puedes ayudar?

    Responder
    • Hola, Juan. Parece ser que trabajas con MariaDB pero sin embargo dejaste seleccionado MySQL en el desplegable del instalador web.

      El archivo config.php se encuentra en el directorio base de Moodle, que en el caso del ejemplo de esta guía de instalación en Ubuntu 20.04 sería /var/www/html/moodle/. Puedes editarlo con el siguiente comando:

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

      Busca esta línea:

      $CFG->dbtype = ‘mysqli’;

      Y cambia su valor por mariadb:

      $CFG->dbtype = ‘mariadb’;

      Una vez guardados los cambios puedes regresar al instalador web, que ahora te permitirá continuar con el proceso de instalación.

      Responder
    • Hola, Pedro. Lo que comentas son complementos, más que la instalación principal de Moodle sobre Ubuntu 20.04. Sin embargo, he incluido la instalación y su configuración. Espero que sirva.

      Responder
  4. Hola. Una respetuosa sugerencia: Muy interesante sería poder tener dos opciones para la pila (LAMP Y LEMP), teniendo en cuenta a aquellos que prefieran el ya muy aclamado NGINX, en lugar de Apache. Lo he intentado hacer por mi cuenta (con LEMP), pero aún me encuentro en el nivel de «copiar y pegar», por lo que los resultados no han sido los esperados… (con LAMP sí se pudo). Bendiciones.

    Responder
  5. Muchas gracias, buena la explicación, tengo una pregunta, si quiero registrar el sitio pero todo lo hice en mi servidor local, ¿cómo hago este procedimiento?

    The hub cannot access your site at http://localhost/moodle – Unable to connect (cURL error 6). Make sure that the site is not blocking HTTP requests from AWS IP address ranges.. Your Moodle site and the hub need to be able to communicate with each another. If you are unable to register your site please email support@moodle.org

    Responder
    • Hola, Gloria. Básicamente no tiene sentido registrar sitios locales, ya que la idea es que pueda haber cierta interactividad entre los sitios registrados.

      Responder

Deja un comentario

Este sitio web utiliza cookies para que usted tenga la mejor experiencia de usuario. Si continúa navegando está dando su consentimiento para la aceptación de las mencionadas cookies y la aceptación de nuestra política de cookies.

ACEPTAR
Aviso de cookies