Cómo instalar Moodle en Ubuntu 18.04

En esta entrada vamos a explicar cómo instalar Moodle en Ubuntu 18.04 LTS Bionic Beaver, tanto Server como Desktop, paso a paso. La plataforma de formación más usada en Internet puede llegar a complicarnos las cosas tratando de instalarla en nuestro servidor o VPS Ubuntu, pero al final de esta guía tendrás Moodle totalmente funcional listo para albergar valioso contenido educativo.

Antes de instalar Moodle en Ubuntu 18.04 LTS

Si quieres seguir esta guía de instalación de Moodle en Ubuntu 18.04 LTS Bionic Beaver al menos necesitarás cumplir estos requisitos mínimos:

  • Una máquina Ubuntu 18.04 LTS Bionic Beaver actualizada.
  • Una pila tipo LAMP, es decir, servidor web con PHP (versión 7.3 hasta 8.0) y servicio de bases de datos.
  • Acceso a consola con un usuario con permisos de sudo.
  • Conexión a Internet.

Si todavía no tienes el entorno necesario, te interesará consultar previamente nuestra guía de instalación de la pila LAMP en Ubuntu 18.04 LTS. También es importante señalar que deberías trabajar sobre HTTPS, aunque por motivos didácticos en este tutorial trabajamos sobre HTTP.

¿Repositorios de Ubuntu o versión oficial de Moodle?

Aunque Moodle está disponible para Ubuntu 18.04 en los repositorios de la distribución, nos encontramos con el problema de que la versión del paquete (3.0.3) es obsoleta con respecto a la versión de PHP (la 7.2) que ofrece Ubuntu. Es inviable tratar de hacer funcionar Moodle de esta forma.

Además, si tenemos en cuenta que a la hora de actualizar esta guía la versión oficial de Moodle es la 4.0 está claro que vamos a optar por descargarla en lugar de usar los paquetes de Ubuntu 18.04.

Cómo descargar Moodle para Ubuntu 18.04 LTS

Vamos a descargar Moodle para Ubuntu 18.04 LTS desde la página web oficial del proyecto.

como descargar moodle para ubuntu 18.04 lts bionic beaver

Visitando la zona de descargas podremos acceder a la última versión donde tendremos disponibles los enlaces de descarga.

descargar moodle para ubuntu 18.04 lts bionic beaver

Dependiendo de en qué momento accedemos, podemos tener sólo la descarga de la versión original o además de esta una revisión alternativa, cuyo nombre termina con el signo +, con las últimas correcciones incorporadas. Esta revisión estaría actualizada semanalmente, por lo que si está disponible es la que debemos descargar.

Los paquetes se ofrecen en formato .zip y .tar.gz, siendo este último el que descargaremos en esta guía.

Puedes descargar desde el navegador si estás en el sistema Ubuntu 18.04 en el que vas a realizar la instalación de Moodle, pero en este ejemplo copiaremos el enlace del paquete (se abre una página de descarga automática y copiamos el correspondiente enlace de descarga manual) y usaremos el comando wget en consola para realizar la descarga:

~$ wget https://download.moodle.org/download.php/direct/stable400/moodle-latest-400.tgz

Cómo instalar Moodle en Ubuntu 18.04

Para instalar Moodle en Ubuntu 18.04 LTS necesitaremos preparar el directorio donde residirá la aplicación. Dependiendo de tu infraestructura particular, tu instalación de Moodle podría formar parte de otro portal web o constituir por sí mismo un sito web independiente (mediante su propio servidor virtual).

En aras de simplicidad, en esta guía vamos a instalar Moodle como parte de la página web por defecto del servidor Ubuntu 18.04, cuya carpeta de documentos es /var/www/html/. Por tanto es ahí donde descomprimiremos el paquete de Moodle:

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

Moodle escribe su configuración en un archivo en su carpeta de instalación, por tanto debemos permitir que el servidor pueda escribir en la misma:

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

Moodle necesita un directorio para almacenar datos, así que un buen sitio donde ubicarlo, teniendo en cuenta este caso particular, sería fuera del alcance por acceso vía web, por ejemplo en la carpeta /var/www/moodledata/.

~$ sudo mkdir /var/www/moodledata

Además de crear la carpeta, daremos los permisos necesarios al servidor web que es quien, en definitiva, escribirá en la misma por petición de Moodle:

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

Preparación de PHP

Moodle necesita una serie de módulos de PHP, como curl, gd, intl, mbstring, soap, xml, xmlrpc, zip, etc. por lo que nos aseguraremos de tenerlos instalados en nuestro sistema Ubuntu 18.04. En este tutorial usamos el repositorio alternativo de PHP, por lo que especificamos la versión concreta que nos interesa:

~$ sudo apt install -y php7.4-{curl,gd,intl,mbstring,soap,xml,xmlrpc,zip}

Si usas otra versión, como la 7.3, cambia php7.4- por php7.3- en el comando anterior.

Es importante también disponer de la extensión que pueda conectar con el servicio de bases de datos, para PostgreSQL:

~$ sudo apt install -y php7.4-pgsql

Y para MariaDB/MySQL:

~$ sudo apt install -y php7.4-mysql

También es necesario realizar algún ajuste en el archivo php.ini:

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

Localizamos la directiva max_input_vars:

...
; How many GET/POST/COOKIE input variables may be accepted
;max_input_vars = 1000
...

La activamos eliminando el carácter ; a comienzo de línea y cambiamos el valor por defecto por 5000:

...
max_input_vars = 5000
...

Una vez guardados los cambios hay que recargar la configuración del servicio web (o del servicio PHP si funciona de forma autónoma) para que todos estos ajustes tengan efecto:

~$ sudo systemctl reload apache2

Si en alguna ocasión instalando módulos de Moodle se necesita instalar otra extensión de PHP, este es el proceso que habrá que repetir.

Preparación del servicio de bases de datos

Moodle necesita una base de datos para almacenar y organizar su contenido. Son varios los sistemas de bases de datos soportados por Moodle, pero en esta guía nos decantamos por los más uados en Ubuntu 18.04 LTS.

MariaDB/MySQL

Necesitamos preparar una base de datos y un usuario que la administre, así que conectaremos con el servicio de bases de datos:

~$ mysql -u root -p

Creamos la base de datos:

> create database moodle charset utf8mb4 collate utf8mb4_unicode_ci;

Si usas MySQL 8 o superior conviene crear el usuario garantizando que use el plugin de autenticación compatible mysql_native_password:

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

Si usas MySQL 5.x o MariaDB, no hay que especificar plugin alguno:

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

En cualquier caso, daremos al usuario los permisos necesarios sobre la base de datos:

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

Sólo queda actualizar la tabla de permisos y salir del cliente:

> exit

MariaDB 10.1

Si estás usando la versión de MariaDB procedente de los repositorios de Ubuntu 18.04, debes realizar algunos ajustes de configuración para el soporte total de UTF-8:

  • El formato de archivo de la base de datos debe ser Barracuda.
  • Hay que activar el ajuste innodb_large_prefix.

Para realizar estos ajustes, en el caso de la versión de MariaDB de los repositorios de Ubuntu 18.04 editamos el archivo 50-server.cnf:

~$ sudo nano /etc/mysql/mariadb.conf.d/50-server.cnf

Para la versión de MariaDB de los repositorios de mariadb.org editamos my.cnf:

~$ sudo nano /etc/mysql/my.cnf

En la sección [mysqld] hay un pequeño apartado marcado como InnoDB entre comentarios. Es el mejor lugar para añadir las siguientes líneas:

...
innodb_file_format = Barracuda
innodb_large_prefix = on
...

Guardamos los cambios y reiniciamos el servicio:

~$ sudo systemctl restart mariadb

PostgreSQL

Si usas este motor de base de datos sólo necesitamos crear un rol con contraseña:

~$ sudo -u postgres createuser -P moodle

Y la base de datos asociada para Moodle:

~$ sudo -u postgres createdb moodle -O moodle

Ya está preparado todo lo necesario.

Instalación de Moodle en Ubuntu 18.04 vía web

Para realizar la instalación de Moodle en tu sistema Ubuntu 18.04 vía web tendrás que visitar la URL correspondiente a la forma en que has decidido configurar el servicio web para Moodle.

En este ejemplo hemos optado porque sea parte de la página web por defecto, por lo que la URL se construye con la dirección del servidor Ubuntu 18.04 (IP, nombre de máquina, dominio, etc.) más la ruta /moodle. Por ejemplo, si el servidor Ubuntu 18.04 es accesible a través del dominio ubuntu64.local.lan, podríamos utilizar http://ubuntu64.local.lan/moodle como URL:

como instalar moodle en ubuntu 18.04 lts bionic beaver

En la primera pantalla del instalador web de Moodle seleccionamos el idioma para la instalación y el propio sitio y continuamos.

Se nos presentará un formulario de confirmación de rutas:

instalar moodle en ubuntu 18.04 lts bionic beaver

El único cambio posible sería la ubicación del directorio de datos. En este ejemplo ya nos hemos adelantado al valor por defecto, pero si tú has decidido ubicarla en otro lugar, debes actualizar ese dato.

Continuando el proceso de instalación pasamos a la conexión con la base de datos que dará soporte a Moodle:

instalacion de moodle en ubuntu 18.04 lts bionic beaver

Aparece un desplegable con los sistemas de bases de datos disponibles en tu sistema Ubuntu 18.04, así que seleccionamos el que corresponda con el que hemos preparado anteriormente.

Continuamos e introducimos los datos de conexión a la base de datos:

instalador de moodle en ubuntu 18.04 lts bionic beaver

Una vez completado y enviado este formulario, el instalador nos pide que confirmemos haber leído y comprendido las condiciones de la licencia de uso:

instalando moodle en ubuntu 18.04 lts bionic beaver

Continuamos y se nos mostrará una larga lista de comprobación de requerimientos previos a la instalación:

configurar ubuntu 18.04 para instalar moodle

Si has seguido los preparativos previos a la instalación, deberías pasar todos estos requisitos, por lo que podrás continuar.

Es en este momento cuando comienza la verdadera instalación, y tras unos instantes aparece una larguísima lista de operaciones realizadas indicando si han tenido éxito o no:

No debería aparecer ningún problema, así que si nos desplazamos al final de esta larga lista podremos continuar.

El siguiente paso es crear la cuenta del administrador y proporcionar información básica sobre el nuevo sitio Moodle:

Cumplimentado este formulario, pasamos a otro en el que introduciremos la información distintiva del sitio Moodle, como el nombre, descripción corta y larga, etc.

moodle para ubuntu 18.04 lts bionic beaver

No pases por alto la opción de autorregistro de usuarios, que por defecto debería estar deshabilitada (cámbiala si lo necesitas). Y también es importante (y obligatorio) incluir la dirección de correo-e del contacto de soporte para los usuarios del sitio.

Cuando guardemos los cambios, entraremos directamente a la página principal del áre personal de nuestro usuario, que mostrará el siguiente aspecto tras cerrar el aviso sobre la existencia del nuevo panel lateral:

moodle en ubuntu 18.04 lts bionic beaver

¡Ya está todo listo para empezar a crear contenidos y recursos!

Post-instalación

Moodle necesita realizar una serie de tareas en segundo plano en Ubuntu 18.04 para el mantenimiento de la plataforma, haciendo uso del servicio Cron. Para ello creamos una nueva tarea programada:

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

Con el contenido:

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

Nada más guardar los cambios comenzará a lanzarse la tarea de mantenimiento a intervalos regulares de un minuto.

Conclusión

Ahora que sabes cómo instalar Moodle en Ubuntu 18.04 ya puedes montar tu propia plataforma de formación a distancia. Ha sido un proceso algo laborioso pero el resultado merece la pena. Si no tienes experiencia administrando Moodle es recomendable que busques información o recursos al respecto, ya que tal propósito excede el alcance de esta guía.

Si tienes dudas, preguntas, sugerencias, notificaciones, etc. cualquier comentario es bienvenido.

¡Apoya comoinstalar.me!

Si has seguido esta guía para instalar Moodle en Ubuntu 18.04 habrás visto la cantidad de obstáculos que había que sortear para conseguir llegar a buen término. Tal vez estés tan satisfecho y contento que quieras agradecérnoslo, sobre todo sabiendo que cualquier mínima contribución para el mantenimiento de este sitio es bienvenida, y puedes hacerlo dejando una propina de 1 $ con PayPal:

O, si te sientes especialmente agradecido, invitándonos a un café:

¡Gracias!

Valora esta entrada

5/5 - (4 votos)

13 comentarios en «Cómo instalar Moodle en Ubuntu 18.04»

    • En principio es normal, Ronny, a pie de página deberías tener un enlace «Continuar«, a no ser que haya marcada alguna extensión que no esté instalada.

      ¿Qué tema es y cuál es el proceso de instalación? ¿Lo descargas y después lo subes a tu sitio Moodle?

      Responder

Deja un comentario