Esta vez vamos a explicar cómo instalar Moodle en Ubuntu 22.04 LTS Jammy Jellyfish, de manera que puedas montar esta plataforma de enseñanza en línea (o e-Learning) sobre tu servidor o VPS Ubuntu en apenas unos instantes.
Hay adaptaciones de este tutorial para otras versiones de Ubuntu e incluso otros sistemas operativos que puedes encontrar fácilmente con el buscador de nuestro sitio.
Contenido
Antes de instalar Moodle en Ubuntu 22.04 LTS
Para poder seguir los pasos de esta guía de instalación de Moodle en Ubuntu 22.04 LTS Jammy Jellyfish es importante contar con los siguientes requerimientos mínimos:
- Una máquina Ubuntu 22.04 LTS Jammy Jellyfish actualizada.
- El entorno o pila LAMP (servicio web Apache con PHP 8.1 ó superior, y motor de bases de datos MariaDB 10.6 ó superior ó MySQL 8.0 ó PostgreSQL 13).
- Acceso a terminal de consola con permisos de sudo.
- Conexión a Internet.
En caso de no disponer aún del entorno necesario puede que te resulte útil consultar nuestra guía de instalación de la pila LAMP para Ubuntu 22.04 LTS.
Si ya tienes todo listo entonces prepara la altura más cómoda para tu mesa de trabajo, abre un navegador y una terminal, que esto empieza ya.
Cómo descargar Moodle para Ubuntu 22.04 LTS
El primer paso será descargar Moodle para Ubuntu 22.04 LTS Jammy Jellyfish, lo que haremos visitando la sección de descargas de la última versión estable de esta aplicación:
Si en el momento de acceder a esta página existe una opción para descargar una versión terminada en +, será la que elijamos, ya que incluirá todas las actualizaciones acumuladas desde el lanzamiento de la versión actual de Moodle.
Puedes descargar el paquete en formato .tgz o .zip, cualquiera de los enlaces llevará a una página de descarga automática.
También es posible realizar la descarga desde consola con el comando wget:
~$ wget https://download.moodle.org/download.php/direct/stable404/moodle-latest-404.tgz
Cómo instalar Moodle en Ubuntu 22.04 LTS
Para poder instalar Moodle en Ubuntu 22.04 LTS Jammy Jellyfish será necesario realizar una serie de pasos antes de poder lanzar el instalador web. Vamos a ver a continuación dichos pasos, así como la instalación vía web y algún trabajo de post-instalación.
Archivos de Moodle
Descomprimimos el paquete que acabamos de descargar directamente en la ubicación final de la plataforma:
~$ sudo tar xf moodle-latest-404.tgz -C /var/www/html/
Creamos el directorio de datos de Moodle fuera de los directorios navegables:
~$ sudo mkdir /var/www/moodledata
Como Moodle necesita escribir en ambos directorios a través del servicio web, cambiamos la propiedad de estos directorios al usuario con el que corre dicho servicio en Ubuntu 22.04 LTS:
~$ sudo chown www-data: /var/www/{moodledata,html/moodle}
Base de datos
Moodle trabaja sobre una base de datos que debemos crear y configurar antes de la instalación, siendo soportados varios de los motores de bases de datos más usados en Ubuntu 22.04 LTS.
MariaDB/MySQL
Conectamos al servicio con el cliente de consola mysql:
~$ sudo mysql
Creamos la base de datos:
> create database moodle character set utf8mb4 collate utf8mb4_unicode_ci;
Creamos el usuario con su contraseña:
> create user moodle@localhost identified by 'XXXXXXXX';
Damos permisos al usuario sobre la base de datos:
> grant all privileges on moodle.* to moodle@localhost;
Y cerramos la sesión:
> exit
PHP
Moodle requiere la presencia en Ubuntu 22.04 LTS de ciertas extensiones de este lenguaje de programación que instalaremos, teniendo en cuenta la versión presente en el sistema, con apt; por ejemplo, para la versión nativa de Ubuntu 22.04:
~$ sudo apt install -y php-{curl,gd,intl,mbstring,soap,xml,xmlrpc,zip}
Si usamos otra versión procedente del repositorio alternativo, entonces hay que indicar dicha versión en el nombre de los paquetes; por ejemplo, para la versión 8.2:
~$ sudo apt install -y php8.2-{curl,gd,intl,mbstring,soap,xml,xmlrpc,zip}
También debemos realizar algún ajuste de configuración en el archivo php.ini, así que lo editamos, en el caso de la versión nativa:
~$ sudo nano /etc/php/8.1/apache2/php.ini
O si usamos una versión alternativa, la indicamos en la ruta del archivo:
~$ sudo nano /etc/php/8.2/apache2/php.ini
En cualquier caso, buscamos la directiva max_input_vars:
... ;max_input_vars = 1000 ...
La activaremos eliminando el carácter ; al inicio de línea y modificamos su valor al mínimo recomendado:
... max_input_vars = 5000 ...
Guardamos el archivo y recargamos la configuración del servicio para aplicar todos estos cambios:
~$ sudo systemctl reload apache2
Instalador web
Para acceder al instalador web de Moodle en Ubuntu 22.04 LTS desde un navegador formaremos una URL con la dirección del servidor (IP, dominio, nombre DNS, localhost, etc.) añadiendo la ruta de instalación dentro de la estructura de archivos web (/moodle en este tutorial).
Por ejemplo, la máquina Ubuntu 22.04 LTS Jammy Jellyfish sobre la que hemos preparado este tutorial es accesible en el subdominio ubuntu2204.local.lan, por lo que usaremos http://ubuntu2204.local.lan/moodle como URL:
En la primera página del instalador podremos seleccionar el idioma para Moodle.
A continuación se mostrará la configuración de directorios:
En este paso sólo tendremos que confirmar las rutas, ya que el directorio de Moodle no se puede modificar y el directorio de datos lo habíamos creado justo en la ruta que el instalador ofrece por defecto.
A continuación seleccionamos el controlador de base de datos:
Aquí hay que tener en cuenta que MySQL y MariaDB usan controladores distintos.
Seguidamente configuramos la conexión al servicio de bases de datos que hemos elegido:
Introducimos los datos de base, usuario y contraseña tal como los creamos en pasos anteriores.
También se nos mostrará los términos y condiciones de la aplicación:
El hecho de continuar con la instalación implicará que comprendemos y aceptamos dichos términos y condiciones.
En el siguiente paso se mostrará una lista de comprobación de los requisitos de nuestra máquina Ubuntu 22.04 LTS para la instalación de Moodle:
Si alguno de los requisitos no se cumpliera debemos solucionarlo y refrescar esta página hasta que nos permita continuar con la instalación.
Es en este momento cuando empieza la instalación de la aplicación sobre el sistema:
Se irá formando una larga lista con el resultado de la instalación de los módulos de la aplicación, hasta que acaba el proceso y podemos continuar.
Llega el momento de creación del usuario administrador:
Introduciremos nombre, contraseña, nombre visible, dirección de correo electrónico y algunos datos más del perfil de usuario.
Igualmente en la siguiente sección añadiremos información de identificación del nuevo sitio Moodle:
Aunque no figura marcado como tal, el contacto de soporte es obligatorio, así que habrá que introducir la correspondiente dirección de correo electrónico para poder finalizar la instalación.
Por fin termina la instalación y se abre automáticamente sesión con el usuario administrador que creamos anteriormente:
Ya tenemos todo listo para empezar a trabajar con cursos, alumnos, etc.
Post-instalación
Moodle requiere la creación de una tarea programada del servicio Cron de Ubuntu 22.04 LTS para el mantenimiento en segundo plano de la aplicación.
Creamos el archivo de configuración de la tarea:
~$ sudo nano /etc/cron.d/moodle
Con la siguiente línea como contenido:
*/1 * * * * www-data /usr/bin/php /var/www/html/moodle/admin/cli/cron.php
Una vez guardado este archivo la tarea programada se lanzará regularmente en el intervalo especificado, que en este caso es de 1 minuto. Tal vez te parezca poco tiempo, pero es lo que requiere Moodle.
Conclusión
Ahora que ya sabes cómo instalar Moodle sobre Ubuntu 22.04 LTS Jammy Jellyfish ya puedes exprimir las capacidades de esta plataforma de aprendizaje en línea tanto en red local como desde Internet.
Si tienes alguna duda o pregunta sobre la instalación, quieres informar de algún error, realizar alguna sugerencia, etc. puedes dejar un comentario. Para evitar el molesto SPAM están moderados, pero se revisan prácticamente a diario.
¡Apoya comoinstalar.me!
¿Ya funciona esta plataforma en tu máquina gracias a nuestra pequeña guía? Si es así y quieres agradecérnoslo cualquier mínima aportación al mantenimiento y crecimiento de este sitio siempre es bienvenida.
Puedes ayudarnos dejando tan solo 1 $ de propina desde PayPal:
O, si te sientes especialmente agradecido, puedes invitarnos a un café:
¡Gracias!
Actualizado a la versión 4.3.3+
Hola, buenas. Al intentar editar el archivo «sudo nano /etc/php/7.4/apache2/php.ini» al abrirse no me sale nada, se me abre en blanco, no sé qué puede ser, ya que he seguido todos los pasos al pie de la letra.
Hola, David. Lo más probable es que tengas instalada otra versión de PHP que la que indica ese comando. Prueba a cambiar ‘/7.4/’ por ‘/8.1/’ o por la versión que se corresponda con tu sistema.
Actualizado a la versión 4.1+.
Buenas tardes.
Después de hacer todo, al acceder al instalador web tecleando http://midominio.com/moodle me sale un mensaje como este:
Obsoleto: el tipo de retorno de moodle_recordset::rewind() debe ser compatible con Iterator::rewind(): void, o el atributo #[\ReturnTypeWillChange] debe usarse para suprimir temporalmente el aviso en/var/www/html/moodle/lib/dml/moodle_recordset.php en la línea61
Error grave: El tipo de xml_format_exception::$line debe ser int (como en la clase Excepción) en/var/www/html/moodle/lib/xmlize.phpen la línea0
Hola, Jaime. ¿Qué versión de PHP usas? Sobre la última versión de Moodle para Ubuntu 22.04 LTS (la 4.1+ en este momento) deberían funcionar las versiones desde la 7.4 hasta la 8.2.
Ese tema está solucionado. Gracias.
Actualizado a la versión 4.0.2+.
¡Buenos días!
Excelente tutorial.
¡Saludos!
Me alegro de que te haya gustado, Daniel. Saludos.