Instalación Moodle · 8 min read · Nov 02, 2025

Cómo instalar Moodle LMS en el servidor Ubuntu 24.04

Moodle es una plataforma de código abierto popular utilizada por instituciones educativas de todo el mundo para crear cursos en línea, gestionar contenido y facilitar el aprendizaje colaborativo. Ejecutar Moodle en Ubuntu es una elección común debido a la estabilidad, seguridad y soporte de Ubuntu para una amplia gama de paquetes de software. El proceso implica instalar componentes necesarios como Apache o Nginx como servidor web, MySQL o PostgreSQL como base de datos, y PHP como lenguaje de scripting, todos los cuales están bien soportados en Ubuntu. Esta configuración permite a las instituciones crear un entorno de aprendizaje en línea robusto, escalable y personalizable que se puede adaptar a necesidades educativas específicas.

En este tutorial, te mostraremos cómo instalar Moodle en el servidor Ubuntu 24.04. Estarás instalando Moodle con el LAMP Stack, y luego asegurarás Moodle con UFW y HTTPS a través de Certbot y Letsencrypt.

Requisitos previos

Antes de comenzar, asegúrate de tener lo siguiente:

  • Un servidor Ubuntu 24.04.
  • Un usuario no root con privilegios de administrador.
  • Un nombre de dominio apuntado a una dirección IP del servidor.
  • Un firewall UFW en funcionamiento.

Instalando dependencias

Moodle es una plataforma de aprendizaje de código abierto escrita en PHP. Para instalar Moodle, necesitas Apache/Nginx, MySQL/MariaDB/PostgreSQL y PHP. En esta sección, instalarás el LAMP Stack (Linux, Apache, MariaDB y PHP) en Ubuntu y configurarás Moodle sobre él.

Para comenzar, ejecuta el siguiente comando y actualiza tu índice de paquetes de Ubuntu.

sudo apt update

update repo

Ahora ejecuta el comando a continuación para instalar las dependencias del LAMP Stack (Apache, MariaDB y PHP). Ingresa ‘Y’ para confirmar la instalación.

sudo apt install apache2 mariadb-server php-cli php-intl php-xmlrpc php-soap php-mysql php-zip php-gd php-tidy php-mbstring php-curl php-xml php-pear php-bcmath libapache2-mod-php

install lamp stack

Después de que la instalación esté completa, verifica el estado del servicio Apache con el siguiente comando.

sudo systemctl is-enabled apache2  
sudo systemctl status apache2

A continuación, puedes ver que el servidor web Apache está en funcionamiento.

check apache2

Verifica el servidor de base de datos MariaDB con el siguiente comando. Verás que el servidor MariaDB está en funcionamiento.

sudo systemctl is-enabled mariadb  
sudo systemctl status mariadb

check mariadb

Por último, verifica la versión de PHP y las extensiones habilitadas con lo siguiente:

php -v  
php -m

Verás que PHP 8.3 está instalado en tu servidor Ubuntu.

check php

Configurando el servidor MariaDB

Después de que las dependencias estén instaladas, necesitas cambiar el motor de almacenamiento predeterminado de MariaDB a ‘InnoDB‘, que es requerido por Moodle. Esto se puede hacer editando la configuración del servidor MariaDB. Y luego, también asegurarás el despliegue del servidor MariaDB utilizando la utilidad ‘mariadb_secure_installation‘.

Abre el archivo de configuración del servidor MariaDB ‘/etc/mysql/mariadb.conf.d/50-server.cnf‘ con el editor ‘nano’.

sudo vim /etc/mysql/mariadb.conf.d/50-server.cnf

Agrega la siguiente configuración bajo la sección ‘[mysqld]‘. Esto cambiará el motor de almacenamiento predeterminado a ‘innodb‘.

innodb_file_format = Barracuda   
default_storage_engine = innodb  
innodb_large_prefix = 1  
innodb_file_per_table = 1

Guarda el archivo y sal del editor.

Ahora ejecuta el comando ‘systemctl‘ a continuación para reiniciar el servidor MariaDB y aplicar tus cambios.

sudo systemctl restart mariadb

Por último, ejecuta el comando ‘mariadb_secure_installation‘ a continuación para configurar el usuario root de MariaDB y asegurar tu despliegue.

sudo mariadb_secure_installation

Durante el proceso, se te preguntará lo siguiente:

  • Para la instalación predeterminada del servidor MariaDB sin una contraseña de root, presiona ENTER cuando se te pregunte sobre la contraseña.
  • La autenticación local para los usuarios root de MariaDB está asegurada por defecto, ingresa ‘n’ cuando se te pregunte si deseas cambiar el método de autenticación a ‘unix_socket’.
  • Ingresa ‘Y’ para crear una nueva contraseña de root de MariaDB. Luego, ingresa la contraseña fuerte para tu usuario root de MariaDB y repítela.
  • Cuando se te pregunte si deseas deshabilitar la autenticación remota para el usuario root de MariaDB, ingresa ‘Y’ para aceptar.
  • La instalación predeterminada del servidor MariaDB viene con la base de datos ‘test’ y permite que un usuario anónimo acceda a ella. Ingresa ‘Y’ para ambas configuraciones para eliminar la base de datos predeterminada ‘test’ y eliminar el privilegio anónimo.
  • Por último, ingresa ‘Y’ para confirmar la recarga de los privilegios de tabla.

Creando base de datos y usuario

Ahora que has configurado el servidor MariaDB, vamos a crear una nueva base de datos y usuario a través del cliente ‘mariadb’.

Inicia sesión en el servidor MariaDB con el comando del cliente ‘mariadb‘ a continuación. Ingresa tu contraseña de root de MariaDB cuando se te pida.

sudo mariadb -u root -p

Ahora ejecuta las siguientes consultas para crear una nueva base de datos ‘moodle‘, un usuario ‘moodle‘, y asegúrate de cambiar la contraseña con tu información.

CREATE DATABASE moodle DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;  
GRANT ALL ON moodle.* TO 'moodle'@'localhost' IDENTIFIED BY "MoodlePassw0rd";  
FLUSH PRIVILEGES;  
QUIT

create database

Configurando PHP

En esta sección, editarás la configuración de PHP ‘php.ini’ y cambiarás algunos valores predeterminados que son requeridos por Moodle.

Abre la configuración de PHP ‘/etc/php/8.3/apache2/php.ini‘ con el editor ‘nano‘.

sudo nano /etc/php/8.3/apache2/php.ini

Cambia la configuración predeterminada con lo siguiente. Asegúrate de ajustar las opciones ‘memory_limit‘ y ‘date_timezone‘ con tu información.

memory_limit = 256M  
upload_max_filesize = 60M  
max_execution_time = 300  
date.timezone = Europe/Amsterdam  
max_input_vars = 5000

Cuando termines, guarda el archivo y sal.

Por último, ejecuta el comando a continuación para reiniciar el servidor web Apache y aplicar tus cambios a PHP.

sudo systemctl restart apache2

Descargando el código fuente de Moodle

En este punto, has instalado y configurado el LAMP Stack. Vamos a descargar el código fuente de Moodle y configurar el directorio de instalación de Moodle.

Ve al directorio ‘/var/www‘ y descarga el código fuente de Moodle usando el comando ‘wget‘. Asegúrate de visitar la página de descarga de Moodle para obtener el enlace de la última versión. En este caso, descargarás la última versión estable Moodle 40.4.

cd /var/www  
wget https://download.moodle.org/download.php/direct/stable404/moodle-latest-404.tgz

Después de que Moodle se haya descargado, extráelo con el comando ‘tar‘ a continuación. El código fuente de Moodle estará disponible en el directorio ‘/var/www/moodle‘.

tar xvf moodle-latest-404.tgz

Por último, ejecuta el comando a continuación para crear un nuevo directorio de datos ‘/var/www/moodledata‘, cambiar la propiedad del directorio de Moodle al usuario ‘www-data‘, y asegurarte de que tanto Moodle como el directorio de datos sean escribibles por el usuario ‘www-data‘.

sudo mkdir -p /var/www/moodledata  
sudo chown -R www-data:www-data /var/www/moodle /var/www/moodledata  
sudo chmod u+rwx /var/www/moodle /var/www/moodledata

Configurando el host virtual de Apache

Con Moodle descargado, crearás un nuevo archivo de host virtual de Apache para ejecutar Moodle. Así que asegúrate de que tu dominio esté listo y resuelto a la dirección IP de tu servidor Ubuntu.

Primero, ejecuta el comando ‘a2enmod‘ a continuación para activar el módulo ‘rewrite‘.

sudo a2enmod rewrite

Crea un nuevo archivo de host virtual de Apache ‘/etc/apache2/sites-available/moodle.conf‘ con el siguiente editor ‘nano‘.

sudo nano /etc/apache2/sites-available/moodle.conf

Inserta la siguiente configuración y asegúrate de cambiar el nombre de dominio con tu información.

  
 DocumentRoot /var/www/moodle/  
 ServerName moodle.howtoforge.local  
 ServerAdmin [email protected]  
   
   
 Options +FollowSymlinks  
 AllowOverride All  
 Require all granted  
   
  
 ErrorLog /var/log/apache2/moodle_error.log  
 CustomLog /var/log/apache2/moodle_access.log combined  

Guarda el archivo y sal del editor cuando termines.

Ahora ejecuta el siguiente comando para habilitar el archivo ‘moodle.conf‘ y verificar la sintaxis de Apache. Si tienes la sintaxis correcta de Apache, verás una salida ‘Syntax is OK‘.

sudo a2ensite moodle.conf  
sudo apachectl configtest

Por último, ejecuta el comando ‘systemctl‘ a continuación para reiniciar Apache y aplicar tus cambios.

sudo systemctl restart apache2

Asegurando Moodle con UFW

En este paso, abrirás los protocolos HTTP y HTTPS a través de UFW (Uncomplicated Firewall). Asegúrate de que UFW esté en funcionamiento antes de comenzar.

Ejecuta el comando a continuación para habilitar el perfil ‘Apache Full‘ en UFW. Con esto, se permitirá el tráfico HTTP y HTTPS.

sudo ufw allow 'Apache Full'

Ahora verifica la lista de reglas habilitadas en UFW con lo siguiente. Verás que el perfil ‘Apache Full‘ está habilitado.

sudo ufw status

Asegurando Moodle con HTTPS

Además del firewall, también generarás certificados SSL/TLS y asegurarás Moodle con HTTPS. En esta sección, implementarás HTTPS para Moodle a través de Certbot y Letsencrypt. Si estás instalando Moodle localmente, omite esto.

Instala los paquetes ‘certbot‘ y ‘python3-certbot-apache‘ con el siguiente comando.

sudo apt install certbot python3-certbot-apache -y

Después de que la instalación esté completa, ejecuta el comando ‘certbot‘ a continuación para generar certificados SSL/TLS para Moodle. Asegúrate de cambiar el nombre de dominio y la dirección de correo electrónico con tu información.

sudo certbot --apache --agree-tos --redirect --hsts --staple-ocsp --email [email protected] -d moodle.howtoforge.local

Cuando el proceso haya terminado, tus certificados SSL estarán disponibles en el directorio ‘/etc/letsencrypt/live/domain.com‘, y tu instalación de Moodle debería estar asegurada automáticamente con HTTPS.

Instalando Moodle

Visita tu nombre de dominio de Moodle como https://moodle.howtoforge.local/ y verás el asistente de instalación.

Selecciona tu idioma predeterminado y haz clic en Siguiente.

language

Ingresa tu directorio de datos para Moodle ‘/var/www/moodledata‘.

moodle data

Selecciona MariaDB como el controlador de base de datos.

db driver

Ingresa los detalles de tu base de datos y usuario de MariaDB.

database

Haz clic en Continuar para confirmar el aviso de copyright.

copyright notices

En la sección de verificación del servidor, asegúrate de que tu entorno esté listo.

system checks

Ahora se procesará la instalación de Moodle.

installation

Después de que la instalación esté completa, ingresa el nuevo usuario administrador, correo electrónico y contraseña para Moodle.

setup admin

Ahora verás el panel de control de Moodle como el siguiente:

moodle dashboard

Conclusión

¡Felicidades! Has completado la instalación de Moodle en el servidor Ubuntu 24.04. Has instalado Moodle 40.4 en Ubuntu con el LAMP Stack (Linux, Apache, MariaDB y PHP), y asegurado Moodle con UFW (Uncomplicated Firewall) y HTTPS a través de Certbot y Letsencrypt.

Share: X/Twitter LinkedIn

Recibe nuevas publicaciones en tu bandeja de entrada.

No spam. Cancela la suscripción en cualquier momento.