¿Quieres montar tu plataforma educativa con Moodle sin experiencia técnica? Aprende a instalar Moodle en Ubuntu VPS paso a paso y sin complicaciones.
Si estás aquí, es porque quieres montar tu propia plataforma de aprendizaje online con Moodle, ¡y eso es genial! Esta guía te llevará de la mano, paso a paso, para que puedas instalar Moodle en Ubuntu VPS sin complicaciones, aunque no tengas conocimientos técnicos.
A lo largo de esta instalación aprenderás cómo instalar Moodle en un VPS con Ubuntu, usando herramientas profesionales pero explicadas de forma clara:
- Apache, nuestro servidor web, que se encargará de mostrar Moodle a los usuarios.
- MySQL 8, el motor de base de datos donde Moodle guardará toda la información: usuarios, cursos, calificaciones…
- PHP 8.3, el lenguaje que hace funcionar Moodle por dentro.
- Y también PHP-FPM, una forma más rápida y eficiente de ejecutar PHP, ideal para mejorar el rendimiento.
No te preocupes si algunos términos te suenan a chino ahora mismo: ¡te lo explicaré todo de forma sencilla y práctica!
TABLA DE CONTENIDOS
¿Qué es Moodle y por qué usar un VPS?
Moodle es una plataforma de aprendizaje digital, también conocida como LMS (Learning Management System), que permite crear, gestionar y ofrecer cursos en línea. De hecho, es el sistema más usado en todo el mundo para educación virtual, no solo por su flexibilidad y funcionalidad, sino también porque es gratuito y de código abierto.
Por ejemplo, imagina que quieres dar clases online, hacer capacitaciones empresariales o incluso montar una academia virtual… Moodle te da todas las herramientas para hacerlo posible.
🔹 Ventajas de usar un VPS frente a hosting compartido
Un VPS es como tener un pedacito de internet solo para ti. En comparación con un hosting compartido, es más seguro, más rápido y te da control total sobre tu instalación. Además, en un VPS puedes instalar lo que necesites, configurarlo a tu gusto y escalar recursos cuando lo necesites.
Y eso no es todo. Hay otro detalle importante: usaremos PHP-FPM junto con Apache. Gracias a esta combinación, no solo se mejora el rendimiento de Moodle, sino que también se permite manejar más usuarios al mismo tiempo de forma eficiente. Podrías decir que es como ponerle un motor turbo a tu plataforma.
En resumen:
✅ Moodle = Plataforma poderosa para enseñar y aprender.
✅ VPS = Control total y mejor desempeño.
✅ PHP-FPM + Apache = Moodle más rápido y estable.
🛠️ ¿Qué necesitas antes de comenzar?
Antes de meternos de lleno en la instalación de Moodle, es fundamental asegurarnos de que todo esté preparado. Esta parte es clave, ya que te ayudará a evitar sorpresas o errores en el camino.
✅ Requisitos mínimos:
- Ganas de aprender 🧠: No necesitas ser un experto. Sin embargo, sí debes tener disposición para seguir los pasos con atención.
- Un VPS con Ubuntu 22.04 LTS ☁️: Puedes usar cualquier proveedor, como por ejemplo, DigitalOcean, Vultr, AWS o uno local.
- Especificaciones recomendadas: Al menos 1–2 vCPU y 2 GB de RAM (aunque 4 GB es ideal para un mejor rendimiento con Moodle).
- Acceso con permisos de sudo 🔐: De esta forma, podrás ejecutar los comandos necesarios como administrador del sistema.
- Un nombre de dominio 🌍: Por ejemplo, tuplataforma.com. Esto te permitirá configurar un certificado SSL fácilmente y darle un aspecto más profesional a tu sitio.
💡 Tip adicional: Si solo quieres practicar o hacer pruebas, también puedes usar una máquina virtual local (como VirtualBox) con Ubuntu Server. ¡Funciona perfectamente!
🚀 Paso 1: Actualiza Ubuntu antes de instalar Moodle en Ubuntu VPS paso a paso
Antes de instalar cualquier cosa, en primer lugar, es importante asegurarnos de que tu VPS esté completamente actualizado. Esto es como actualizar las apps de tu móvil: ayuda a que todo funcione mejor y evita problemas de seguridad.
🔌 Cómo conectarte por SSH
Si aún no lo has hecho, conéctate a tu VPS usando SSH desde tu terminal (en Linux o Mac) o desde programas como PuTTY (en Windows). El comando básico es:
ssh ubuntu@tu.ip.publica
💡 Usuario por defecto: En la mayoría de las instalaciones de Ubuntu (especialmente en VPS), el usuario por defecto suele ser el que se creó durante la instalación inicial. En muchos casos, sobre todo si contrataste el VPS a través de un proveedor como DigitalOcean, Vultr o AWS, ese usuario suele llamarse simplemente ubuntu. Si no estás seguro, pregunta a tu proveedor o revisa la documentación que te proporcionaron al crear la instancia.
🚀 Actualiza tu servidor Ubuntu
Ejecuta estos comandos uno por uno (solo tienes que copiarlos y pegarlos):
sudo apt update
sudo apt upgrade -y
sudo apt autoremove -y
No te preocupes por lo que hace cada comando exactamente:
sudo
es como pedir permiso para hacer cambios importantes en el servidor.apt update
busca si hay actualizaciones disponibles.apt upgrade
descarga e instala esas actualizaciones.
Todo esto hará que tu servidor esté listo para trabajar con Moodle sin problemas.
🔄 Reinicia tu servidor (opcional pero recomendado)
Después de actualizar, es buena idea reiniciar tu servidor para aplicar todos los cambios correctamente, especialmente si el sistema operativo hubiera instalado una nueva versión del Kernel.
sudo reboot
Espera unos segundos (más o menos 60-180 segundos) antes de volverte a conectar por SSH.
🌐 Paso 2: Instala Apache (servidor web)
Apache es uno de los servidores web más utilizados en el mundo. Se encargará de mostrar las páginas de Moodle a los usuarios que accedan desde su navegador. En este paso lo instalaremos, configuraremos e haremos algunas pruebas para asegurarnos de que funciona correctamente.
🔧 Instalación de Apache
sudo apt install -y apache2
Una vez instalado, a continuación, activa Apache para que inicie automáticamente:
sudo systemctl enable apache2
Ahora, inicia el servicio (aunque probablemente ya esté corriendo):
sudo systemctl start apache2
Deberías ver algo como active (running)
. Puedes salir de esta pantalla presionando la tecla q .
🔓 Configuración del firewall (UFW)
Ubuntu viene con un firewall llamado UFW (Uncomplicated Firewall) , que por defecto bloquea gran parte del tráfico. Necesitamos abrir los puertos necesarios para que los usuarios puedan acceder a tu sitio Moodle.
Ejecuta estos comandos para permitir el tráfico HTTP (puerto 80) y HTTPS (puerto 443):
sudo ufw allow 'Apache Full'
Confirma que las reglas se han aplicado correctamente:
sudo ufw status
Deberías ver algo similar a esto:
Status: active
To Action From
-- ------ ----
Apache Full ALLOW Anywhere
Apache Full (v6) ALLOW Anywhere (IPv6)
✅ Prueba de funcionamiento
Para asegurarte de que Apache está sirviendo páginas correctamente, abre un navegador y visita la dirección IP pública de tu VPS, http://tu.ip.publica .
Deberías ver la página por defecto de Apache («It works!»), lo cual confirma que el servidor web está listo para alojar Moodle.

🗃️ Paso 3: Instala MySQL 8 (base de datos)
Moodle necesita un motor de base de datos para almacenar y gestionar toda la información del sistema: usuarios, cursos, calificaciones, actividades, entre otros. MySQL es una opción popular y compatible, y en este caso usaremos MySQL 8.0 , ya que ofrece mejor rendimiento, seguridad y compatibilidad con Moodle.
🔧 Instalación de MySQL
sudo apt update
sudo apt install -y mysql-server
Una vez instalado, activa el servicio para que inicie automáticamente al encender el servidor y arráncalo:
sudo systemctl enable mysql
sudo systemctl start mysql
💡 Nota: Es posible que veas que algunos comandos se repiten en tutoriales o scripts. Esto ocurre cuando se ejecutan por error o falta claridad sobre si ya se ha instalado algo. Aquí solo necesitas ejecutarlos una vez.
🔐 Securiza tu instalación de MySQL
MySQL viene con una utilidad llamada mysql_secure_installation
que te ayuda a mejorar la seguridad de tu base de datos. Ejecútala con el siguiente comando:
sudo mysql_secure_installation
Este asistente te preguntará lo siguiente:
- Si deseas configurar la contraseña del usuario root de MySQL (recomendado).
- Si quieres eliminar las bases de datos anónimas.
- Si deseas deshabilitar el acceso remoto al root.
- Si quieres eliminar el acceso al usuario test.
Responde según tus necesidades. En entornos de producción, siempre es recomendable responder Sí (Y) a todas las opciones de seguridad.
⚠️ Importante: Al finalizar, no olvides guardar tus credenciales. Las usarás más adelante al configurar Moodle.
🔧 Paso 4: Instalando PHP 8.3 para Moodle en Ubuntu VPS
PHP es el lenguaje en el que está construido Moodle. Es decir, sin PHP, Moodle no puede funcionar.
Vamos a instalar PHP 8.3 y algunas extensiones necesarias. También usaremos PHP-FPM , una versión más moderna y eficiente que mejora el rendimiento del servidor web.
Instala y verifica PHP-FPM en Ubuntu
Por defecto, Ubuntu 22.04 no trae PHP 8.3, así que vamos a añadir un repositorio confiable:
📦 Añade un repositorio para tener PHP 8.3
sudo apt install -y software-properties-common
sudo add-apt-repository ppa:ondrej/php -y
sudo apt update
Este repositorio (el famoso ppa:ondrej/php
) es ampliamente usado por desarrolladores y ofrece versiones actualizadas de PHP.
💾 Instala PHP 8.3 y sus extensiones
Ejecuta este comando para instalar PHP 8.3 junto con todas las extensiones que Moodle necesita para funcionar correctamente:
sudo apt install -y php8.3 php8.3-fpm php8.3-mysql php8.3-pdo php8.3-xml php8.3-curl php8.3-gd php8.3-intl php8.3-mbstring php8.3-soap php8.3-zip php8.3-xmlrpc php8.3-bcmath php8.3-sodium php8.3-opcache
⚙️ ¿Qué hace cada extensión?
No te preocupes por los nombres raros: son como «herramientas» que Moodle usa para hacer cosas como subir archivos, trabajar con imágenes, conectarse a la base de datos, etc.
✅ Verifica que PHP esté instalado correctamente:
Para confirmar que PHP 8.3 se instaló correctamente ejecutaremos el siguiente comando:
php -v
Deberías ver algo como esto:

Comprueba también que PHP-FPM esté funcionando:
sudo systemctl status php8.3-fpm
Y activa su inicio automático al reiniciar el servidor:
sudo systemctl enable php8.3-fpm
⚙️ Ajustes clave del archivo php.ini
para Moodle
Ahora vamos a hacer algunos pequeños cambios en la configuración de PHP para adaptarla a Moodle. Puedes editar el archivo php.ini
con tu editor favorito, por ejemplo:
sudo nano /etc/php/8.3/fpm/php.ini
Revisa y ajusta los siguientes valores para evitar problemas de carga, especialmente al subir archivos grandes:
memory_limit = 512M ; Cuánta memoria puede usar PHP
post_max_size = 100M ; Tamaño máximo de formularios
upload_max_filesize = 100M ; Tamaño máximo de archivos que puedes subir
max_execution_time = 300 ; Tiempo máximo que puede tardar un script
max_input_time = 300 ; Tiempo máximo para recibir datos
max_input_vars = 9999 ; Límite superior para campos en formularios
default_charset = "UTF-8" ; Codificación correcta para tildes y símbolos
💡 Puedes aumentar estos valores si planeas subir archivos muy grandes o usar cursos con muchos recursos.
💾 Guarda y cierra:
- Para guardar: presiona Ctrl + O , luego Enter.
- Para salir: Ctrl + X .
Después de guardar los cambios, reinicia PHP-FPM para que la nueva configuración tenga efecto:
sudo systemctl restart php8.3-fpm
✅ ¡Listo! PHP 8.3 ya está instalado y listo para usar con Moodle. Ahora Moodle podrá cargar rápido, manejar más usuarios y soportar archivos grandes.
🔗 Paso 5: Conectando Apache con PHP-FPM para instalar Moodle
Ahora que tenemos Apache y PHP instalados, necesitamos hacer que «hablen» entre sí.
Apache recibe las peticiones de los navegadores, pero cuando hay un archivo .php
(como los de Moodle), necesita pasárselo a PHP-FPM para que lo procese y devuelva el resultado al usuario.
🔧 Activamos los módulos necesarios en Apache
Ejecuta este comando para activar los módulos que permiten esta conexión:
sudo a2enmod proxy_fcgi setenvif rewrite headers
Estos módulos hacen lo siguiente:
proxy_fcgi
: permite conectar Apache con PHP-FPM.setenvif
: ayuda a configurar variables según ciertas condiciones.rewrite
: necesario para que Moodle use direcciones web más limpias y fáciles de leer.headers
: nos servirá más adelante para mejorar la seguridad del sitio.
🔁 Reinicia Apache para aplicar los cambios
sudo systemctl restart apache2
Este reinicio asegura que Apache cargue los nuevos módulos y esté listo para trabajar con PHP-FPM.
✅ ¡Listo! Ahora Apache sabe cómo enviarle trabajo a PHP-FPM cada vez que se necesite ejecutar código PHP. Esto hará que Moodle funcione rápido y sin errores.
🧩 Paso 6: Configura el VirtualHost en Apache para instalar Moodle en Ubuntu VPS
Para que los usuarios puedan acceder a Moodle escribiendo un dominio (como tucurso.com
) en su navegador, necesitas configurar un VirtualHost en Apache.
Configura Apache para tu dominio personalizado
¿Necesito un dominio sí o sí? No, pero es muy recomendable. Además de hacer tu sitio más profesional, un dominio te permitirá obtener fácilmente un certificado SSL con Let’s Encrypt en los próximos pasos.
Puedes registrar un dominio económico en Namecheap, DonDominio, Hostinger, OVH o cualquier proveedor de confianza. Luego, apúntalo al VPS creando un registro A en tu panel DNS, apuntando a la IP del servidor.
💡 Si no sabes cuál es la IP pública de tu servidor, ejecuta este comando:
Bashcurl ip.me
Te mostrará la dirección IP que debes usar en tu panel de DNS.
Crea y habilita el VirtualHost de Moodle
Después de completar estos pasos previos, vamos a crear nuestro VirtualHost.
📁 Paso 1: Crea la carpeta donde vivirá Moodle
Primero, crea la carpeta donde vivirá tu instalación de Moodle:
sudo mkdir -p /var/www/html/moodle
Esta será la carpeta raíz de tu instalación de Moodle.
📄 Paso 2: Crea el archivo de configuración del VirtualHost
A continuación, crea un nuevo archivo de configuración para tu sitio Moodle en Apache:
sudo nano /etc/apache2/sites-available/moodle.conf
Y añade este contenido (ajusta tudominio.com
por el tuyo):
<VirtualHost *:80>
ServerAdmin admin@tudominio.com
DocumentRoot /var/www/html/moodle/
ServerName tudominio.com
ServerAlias www.tudominio.com
<Directory /var/www/html/moodle/>
Options Indexes FollowSymLinks
Require all granted
AllowOverride All
DirectoryIndex index.php index.html
</Directory>
<FilesMatch \.php$>
SetHandler "proxy:unix:/run/php/php8.3-fpm.sock|fcgi://localhost/var/www/html/moodle"
</FilesMatch>
</VirtualHost>
🔁 Importante:
Cambia todas las apariciones de tudominio.com por tu dominio real.
Si usaste otro nombre de usuario o ruta, ajusta la línea DocumentRoot y la carpeta /var/www/html/moodle/ según corresponda.
Guarda los cambios con Ctrl + O , pulsa Enter y luego Ctrl + X para salir.
⚙️ Paso 3: Desactiva el sitio por defecto y activa el vhost de Moodle
Apache trae un sitio predeterminado que ya no necesitamos:
sudo a2dissite 000-default.conf
Y activamos nuestro nuevo sitio:
sudo a2ensite moodle.conf
🔁 Reinicia Apache para aplicar los cambios
sudo systemctl restart apache2
Este reinicio hace que Apache use tu nueva configuración.
✅ ¡Listo! Ya has creado el VirtualHost para Moodle , y tu servidor está listo para recibir visitas a través de tu dominio.
🗃️ Paso 7: Creando el Espacio para Moodle en la Base de Datos
Moodle necesita un lugar seguro donde guardar toda su información: usuarios, cursos, calificaciones… Ese lugar es la base de datos.
Este paso es esencial para instalar Moodle en Ubuntu VPS de forma estable y segura, ya que una base de datos mal configurada puede provocar errores más adelante.
Vamos a crear:
- Una base de datos llamada
moodle
- Un usuario especial solo para Moodle
- Y le daremos permisos limitados a esa base de datos (por seguridad)
🔐 Accede a MySQL
Ejecuta este comando para entrar al entorno de MySQL:
sudo mysql -u root -p
Te pedirá la contraseña del usuario root de MySQL que definiste durante la instalación.
📦 Crea la base de datos
Dentro de MySQL, ejecuta estas órdenes una por una:
CREATE DATABASE moodle DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
Este comando crea una base de datos llamada moodle
y asegura que soporte caracteres especiales como tildes, símbolos y hasta emojis 😊.
👤 Crea un usuario dedicado para Moodle
Elige un nombre de usuario y una contraseña segura (y apúntalos):
CREATE USER 'tu_usuario_moodle'@'localhost' IDENTIFIED BY 'tu_contraseña_segura';
Ejemplo:
CREATE USER 'moodleuser'@'localhost' IDENTIFIED BY 'ClaveSuperSegura123!_.';
🔐 Asígnale permisos al usuario
Ahora le damos permisos específicos al usuario sobre la base de datos moodle
:
GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, CREATE TEMPORARY TABLES, DROP, INDEX, ALTER
ON moodle.* TO 'tu_usuario_moodle'@'localhost';
💾 Guarda los cambios y sal de MySQL
Finaliza con este comando:
FLUSH PRIVILEGES;
EXIT;
✅ ¡Listo! Ya tienes una base de datos y un usuario listos para que Moodle empiece a usarlos. Con este paso completado, estás un paso más cerca de instalar Moodle en Ubuntu VPS con éxito.
📥 Paso 8: Descargar Moodle para instalarlo en tu VPS Ubuntu
Moodle es una plataforma de código abierto, lo que significa que puedes descargarla y ejecutarla tú mismo en tu propio servidor.
En esta sección vamos a descargar Moodle 4.5.4+ directamente desde su repositorio oficial usando Git, una herramienta muy útil para desarrolladores y administradores.
🌐 Moodle es la plataforma de aprendizaje de código abierto más utilizada en el mundo, diseñada para que educadores, administradores y estudiantes creen entornos personalizados de aprendizaje.
Este paso es fundamental si tu objetivo es instalar Moodle en Ubuntu VPS de forma profesional, utilizando siempre la versión más reciente y segura del software.
🛠️ Instala Git si no lo tienes
sudo apt install -y git
📁 Navega a la carpeta raíz de Apache
cd /var/www/
📦 Descarga Moodle con Git
Usa este comando para descargar la última versión estable, en este caso Moodle 4.5.4+.
sudo git clone https://github.com/moodle/moodle.git moodle
cd moodle
sudo git checkout MOODLE_405_STABLE
sudo git pull
✅ Este comando descarga el repositorio de Moodle entero, luego cambia a la rama MOODLE_405_STABLE, que es la actual rama estable LTS de Moodle desde abril de 2025.
⚠️ Si estás leyendo esto tiempo después, asegúrate de usar la rama correcta para la versión actual (por ejemplo:MOODLE_51_STABLE
).
🧾 Cambia los permisos de la carpeta
Apache (el servidor web) necesita tener permiso para trabajar con los archivos de Moodle:
sudo chown -R www-data:www-data /var/www/moodle
sudo chmod -R 755 /var/www/moodle
Estas órdenes hacen que el usuario www-data
(usado por Apache) sea el dueño de la carpeta y pueda leer y escribir en ella.
✅ ¡Listo! Moodle ya está descargado y preparado para la instalación. En el siguiente paso comenzaremos la instalación web desde el navegador y verás cómo todo lo anterior encaja para instalar Moodle en Ubuntu VPS de forma limpia y funcional.
🧺 Paso 9: Creando la «Despensa» de Moodle (moodledata
)
Moodle necesita un lugar especial donde guardar todo lo que suben profesores y estudiantes: documentos, imágenes, vídeos, archivos adjuntos…
Es como la despensa o almacén de tu plataforma educativa.
Por razones de seguridad, esta carpeta no debe estar dentro de la carpeta web (es decir, fuera del directorio /var/www/moodle
). Así evitamos que cualquiera pueda acceder a esos archivos desde internet.
📁 Paso 1: Crea la carpeta moodledata
Ejecuta este comando:
sudo mkdir /var/www/moodledata
Este comando crea una nueva carpeta en el servidor que servirá como almacenamiento privado para Moodle.
🔐 Paso 2: Dale permisos a Apache
Apache necesita tener acceso a esta carpeta para poder leer y escribir archivos. Ejecuta estos comandos:
sudo chown -R www-data:www-data /var/www/moodledata
sudo chmod -R 770 /var/www/moodledata
chown
: le da el control de la carpeta al usuariowww-data
, que es el que usa Apache.chmod 770
: permite que solo el propietario (Apache) y usuarios del mismo grupo puedan acceder a ella. Es más seguro que usar777
❗ Importante:
Nunca useschmod 777
en esta carpeta. Sería como dejar la puerta abierta para que cualquiera entre a tu sistema.770
es suficiente y mucho más seguro.
✅ ¡Listo! Ahora Moodle tiene su espacio privado para guardar los archivos que se suban desde la plataforma.
🔒 Paso 10: Instalando un Certificado SSL con Let’s Encrypt
Ahora que tu servidor ya tiene Moodle instalado y funcionando con Apache, es hora de protegerlo con HTTPS usando un certificado SSL gratuito de Let’s Encrypt.
Si todavía no tienes un certificado SSL , te recomiendo encarecidamente usar Let’s Encrypt , una autoridad certificadora gratuita, automatizada y de confianza .
Configura Certbot y genera tu certificado gratuito
Vamos a instalar Certbot, la herramienta oficial de Let’s Encrypt, y emitir tu primer certificado:
📦 Paso 1: Instala Certbot
Certbot es una herramienta que facilita enormemente la obtención e instalación de certificados SSL gratuitos.
Ejecuta este comando para instalarlo junto con el plugin de Apache:
sudo apt install -y certbot python3-certbot-apache
Este paquete incluye todo lo necesario para integrar automáticamente los certificados con tu sitio web.
🔐 Paso 2: Solicita tu certificado SSL
Ejecuta este comando (cambia tudominio.com
por tu dominio real):
sudo certbot --apache -d tudominio.com -d www.tudominio.com
Si no usaste el subdominio www
, simplemente ejecuta:
sudo certbot --apache -d tudominio.com
Durante la instalación:
- Te pedirá tu correo electrónico para recibir notificaciones importantes (opcional pero recomendado).
- Deberás aceptar los términos de servicio .
- Podrás elegir si deseas redirigir automáticamente todo el tráfico desde HTTP a HTTPS (recomendado).
Selecciona la opción de redirección y deja que Certbot haga su magia.
🔄 Paso 3: Confirma la configuración automática
Una vez terminado, Certbot habrá modificado automáticamente la configuración de Apache para usar tu nuevo certificado SSL, y también habrá activado la redirección a HTTPS si así lo elegiste.
Si quieres asegurarte, reinicia Apache:
sudo systemctl restart apache2
🔍 Paso 4: Prueba tu conexión segura
Abre tu navegador y visita:
https://tudominio.com
Verás un candado 🔒 en la barra de direcciones. ¡Tu conexión ya es segura!
🕰️ Paso 5: Renovación automática del certificado
Los certificados de Let’s Encrypt duran 90 días , pero no te preocupes: al instalar Certbot, ya se configura automáticamente un temporizador para renovar los certificados antes de que expiren.
Además, puedes probar cómo funciona esta renovación con:
sudo certbot renew --dry-run
Si no aparece ningún error, ¡todo está listo y tu certificado se renovará solo!
✅ ¡Listo! Tu plataforma Moodle ahora tiene conexión segura HTTPS gracias a Let’s Encrypt.
Tus usuarios pueden acceder tranquilos y Moodle estará protegido frente a conexiones inseguras.
🔗 Más información sobre Let’s Encrypt:
- 👉 https://letsencrypt.org/es/
- 👉 https://certbot.eff.org/ (sitio oficial de Certbot)
🌐 Paso 11: Instalar Moodle en Ubuntu VPS desde el Navegador Paso a Paso
Ahora que has preparado todo el entorno (Apache, PHP, MySQL, la base de datos y la carpeta moodledata
), es momento de comenzar la instalación real de Moodle desde el navegador.
Este paso es como un asistente gráfico: Moodle se conectará a la base de datos, creará las tablas necesarias y te permitirá configurar los ajustes iniciales de tu plataforma.
🧭 Paso 1: Accede desde tu navegador
Abre tu navegador web y visita la dirección de tu dominio con http://
, por ejemplo:
http://tudominio.com
Si aún no apuntas tu dominio, también puedes probar accediendo desde la IP pública de tu VPS:
http://tu.ip.publica
Moodle detectará que es la primera vez que accedes y comenzará automáticamente el asistente de instalación .
🗺️ Paso 2: Selecciona el idioma
En la primera pantalla, selecciona el idioma en el que deseas instalar Moodle (por ejemplo, Español ) y haz clic en «Siguiente» .

📁 Paso 3: Confirma las rutas
Moodle ya debería haber detectado automáticamente estas carpetas:
- Dirección web :
http://tudominio.com
- Ubicación del sitio en el servidor :
/var/www/moodle
- Carpeta de datos (
moodledata
) :/var/www/moodledata
Si todo está correcto, haz clic en «Siguiente» .

🗃️ Paso 4: Selecciona el tipo de base de datos
Elige MySQL mejorado ( native/mysqli ) como motor de base de datos y haz clic en «Siguiente» .

🔐 Paso 5: Configura la conexión a la base de datos
Introduce los siguientes datos:
- Nombre de host :
localhost
- Nombre de la base de datos :
moodle
- Usuario de la base de datos :
tu_usuario_moodle
(el que creaste antes) - Contraseña de la base de datos :
tu_contraseña_segur
a
Haz clic en «Siguiente» .

⚙️ Paso 6: Comienza con la instalación
Acepta el contrato de Licencia de Moodle y confirma que has leído los términos y condiciones.

Una vez aceptado el contrato de licencia de Moodle, este realizará una serie de comprobaciones de versiones de PHP, MySQL y otros parámetros del PHP.ini que previamente hemos modificado para que pasen la comprobación y poder comenzar a instalar Moodle.

Una vez realizadas las comprobaciones y viendo que funcionan, podemos continuar instalando Moodle, para ello apretaremos en el botón Continuar y dejaremos que el programa de instalación continúe. Este paso puede ser que tarde unos 5 minutos, así que te recomiendo hacer una pausa y tomarte un café.
En el caso que las validaciones no las hayas superado, el instalador te indicará en donde falla tu sistema y qué valores debes modificar.
Si has seguido este tutorial paso a paso, no deberías tener problemas.

Una vez que haya terminado de instalarse Moodle, te lo indicará, tendrás que apretar un botón azul con el texto Siguiente, cuando lo hagas, pasaremos al paso 7.
👤 Paso 7: Crea el usuario administrador
Ahora crearás la cuenta del administrador principal de tu plataforma . Esta es una cuenta muy importante, así que usa credenciales seguras.
Rellena estos campos:
- Nombre completo
- Nombre de usuario
- Correo electrónico
- Contraseña
Haz clic en «Siguiente» .

🏁 Paso 8: Configura tu sitio
Escribe el nombre de tu sitio (por ejemplo, «Plataforma EduTec») y selecciona:
- País
- Zona horaria
- Formato del curso (deja el predeterminado si no sabes qué elegir)
Haz clic en «Guardar cambios» o «Siguiente» según corresponda.

🕒 Paso 9: Registra el sitio, opcional pero recomendable
Al finalizar la instalación, Moodle te ofrece la posibilidad de registrar tu sitio con Moodle HQ. Este paso es opcional, pero altamente recomendable, ya que te permite:
- Recibir alertas de seguridad y notificaciones sobre nuevas versiones de Moodle.
- Estar al día con noticias importantes y mejoras.
- Aumentar la visibilidad de tu plataforma si decides listarla públicamente.
- Acceder a la app oficial de Moodle para administradores.
Solo necesitas indicar el nombre de tu plataforma, país e idioma, y marcar si deseas recibir actualizaciones. No se comparten datos personales y puedes elegir no hacer público tu sitio.
✅ Si prefieres omitirlo por ahora, puedes hacer clic en «Saltar» y continuar con el uso de Moodle sin problema.

✅ ¡Listo! Has completado con éxito la instalación de Moodle desde el navegador .
Ya puedes iniciar sesión como administrador y empezar a personalizar tu plataforma.

🕒 Paso 12: Configura el Cron en tu VPS tras instalar Moodle en Ubuntu
Moodle necesita hacer tareas en segundo plano: enviar correos, actualizar datos, limpiar archivos antiguos, notificar eventos…
Pero, ¿quién le recuerda que haga estas cosas?
Ese es el trabajo de Cron, como un ayudante automático que se asegura de que Moodle nunca se olvide de nada importante.
Si estás siguiendo esta guía para instalar Moodle en Ubuntu VPS, configurar correctamente el cron es uno de los pasos más importantes para asegurar que tu plataforma funcione sin errores a largo plazo.
Vamos a configurarlo para que funcione automáticamente cada minuto.
⚙️ Paso 1: Edita el cron del usuario www-data
El usuario que ejecuta Apache en Ubuntu es www-data
. Para configurar el cron como ese usuario, ejecuta:
sudo crontab -u www-data -e
Si aparece un menú preguntando qué editor usar, selecciona nano (es el más fácil para principiantes).
📝 Paso 2: Añade la línea de Cron para Moodle
Una vez dentro del editor nano, baja al final del archivo y añade esta línea:
* * * * * /usr/bin/php /var/www/moodle/admin/cli/cron.php >/dev/null
Esta línea significa:
👉 «Cada minuto (* * * * *
), ejecuta el script cron.php
de Moodle usando PHP».
/usr/bin/php
: es la ubicación del programa intérprete PHP./var/www/moodle/admin/cli/cron.php
: es el script encargado de ejecutar las tareas programadas de Moodle.>/dev/null
: evita que se muestan mensajes innecesarios por pantalla.
💾 Paso 3: Guarda los cambios
Para guardar:
- Pulsa Ctrl + O
- Luego Enter
Para salir:
- Pulsa Ctrl + X
✅ Paso 4: Verifica que funciona
Inicia sesión en Moodle como administrador y ve a:
Administración del sitio > Servidor > Tareas programadas
En la columna «Última ejecución» , deberías ver cómo se actualiza cada minuto, lo cual confirma que el cron está funcionando correctamente, algo como lo que se visualiza en esta captura de un Moodle en producción.

✅ ¡Listo! Has configurado con éxito el ayudante secreto de Moodle. Esta parte es clave para quienes quieren instalar Moodle en Ubuntu VPS con una configuración completa, estable y profesional.
🔒 Paso 13: Protegiendo tu Servidor con Fail2ban y Consejos de Seguridad
Ahora que tienes Moodle funcionando, es momento de asegurarlo bien. En este paso aprenderás a proteger tu servidor contra intentos de intrusión y a mantener tu plataforma segura y actualizada.
🚧 13.1. Fail2ban: El Portero Inteligente de tu Servidor
Fail2ban es una herramienta que actúa como un portero de seguridad: revisa los logs del sistema y bloquea automáticamente las direcciones IP que intentan acceder de forma maliciosa o repetitiva (como en ataques por fuerza bruta).
📦 Instalación de Fail2ban
Ejecuta estos comandos:
sudo apt install fail2ban -y
sudo systemctl enable fail2ban
sudo systemctl start fail2ban
Esto instala Fail2ban, lo activa al iniciar el sistema y lo pone en marcha inmediatamente.
⚙️ Configura Fail2ban
En lugar de modificar directamente el archivo original, crearemos uno personalizado:
sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
sudo nano /etc/fail2ban/jail.local
Dentro de ese archivo, busca y modifica estas secciones:
🔐 [sshd] – Protección contra ataques SSH
[sshd]
enabled = true
# port = ssh ; Cambia si usas otro puerto
# maxretry = 3 ; Bloquea tras 3 intentos fallidos
# bantime = 1d ; Bloqueo de 1 día
Este filtro protege tu acceso SSH, evitando que robots o atacantes entren al servidor probando contraseñas.
🌐 [apache-*] – Protección básica para Apache
Agrega o verifica que estén activados estos filtros:
[apache-auth]
enabled = true
# maxretry = 5
# bantime = 1h
[apache-badbots]
enabled = true
# maxretry = 2
# bantime = 2d
[apache-noscript]
enabled = true
# maxretry = 2
# bantime = 1d
Estos filtros ayudan a bloquear bots maliciosos y accesos no autorizados a tu sitio web.
💡 Nota: Moodle tiene su propio sistema de bloqueo de cuentas, así que no necesitas configurar específicamente un filtro para Moodle a menos que tengas requisitos avanzados.
🔄 Reinicia Fail2ban para aplicar cambios
sudo systemctl restart fail2ban
✅ Verifica que está funcionando
Para ver el estado general de Fail2ban:
sudo fail2ban-client status
Y para ver detalles sobre la protección de SSH:
sudo fail2ban-client status sshd
Verás cuántas IPs han sido bloqueadas y por qué motivo.
🛡️ 13.2. Más Consejos para un Moodle Seguro y Estable
La seguridad no termina aquí. Aquí tienes algunos consejos clave para mantener tu Moodle fuerte y seguro:
🔑 Acceso SSH más seguro
- Cambia el puerto SSH (opcional): Si cambias el puerto por defecto (22), recuerda actualizar también UFW y la configuración de Fail2ban.
- Usa claves SSH : Es mucho más seguro que usar solo contraseña. Busca cómo generar y usar claves SSH si aún no lo haces.
🔥 Cortafuegos (UFW)
Ya lo usaste para abrir puertos de Apache. Asegúrate de que esté activo:
sudo ufw enable
sudo ufw status
Permite únicamente los servicios necesarios:
OpenSSH
(para acceso remoto)Apache Full
(HTTP/HTTPS)
🔄 Mantén todo actualizado
sudo apt update && sudo apt upgrade -y
Mantén actualizado tu sistema, PHP, MySQL, Apache y, por supuesto, Moodle y sus plugins.
🔐 Contraseñas seguras
- Contraseña del administrador de Moodle : Debe ser única, larga y compleja.
- Políticas de contraseña : Ve a
Administración > Seguridad > Políticas del sitio
y exige contraseñas seguras a tus usuarios. - Bloqueo de cuentas : Actívalo para evitar ataques por fuerza bruta.
En esta guía tienes cómo aplicar políticas de seguridad más estrictas en Moodle y cómo habilitar el segundo factor de autenticación, lo que blindará aún más la seguridad de tu Moodle.
📢 Informes y ajustes de seguridad en Moodle
- Registro de tu sitio :
Ve a Administración > Registro para recibir alertas de seguridad importantes. - Informe de seguridad :
Ve a Administración > Informes > Vista general de seguridad para detectar posibles riesgos. - Seguridad HTTP :
En Administración > Seguridad > Seguridad HTTP , activa:- Sólo conexión HTTPS
- Cookies seguras ( si ya utilizas HTTPS siempre )
🧩 Plugins y permisos
- Instala solo los plugins necesarios , y desde fuentes confiables.
- Evita permisos 777 : Usa permisos más restrictivos.
- Protege config.php después de la instalación:
- sudo chmod 444 /var/www/moodle/config.php
💾 Copias de seguridad: Tu mejor amiga
Haz copias periódicas de:
- Carpeta Moodle:
/var/www/moodle/
- Carpeta moodledata:
/var/www/moodledata/
- Base de datos MySQL
Y lo más importante:
✅ ¡Prueba de vez en cuando que puedes restaurarlas!
🚀 Optimización del rendimiento
Cuando tengas muchos usuarios, considera ajustar:
- MySQL (con herramientas como
mysqltuner
) - Apache (
mpm_event
+ PHP-FPM) - PHP (ajustar memoria y tiempos)
✅ ¡Listo! Has terminado de proteger tu servidor y has aprendido a mantener Moodle seguro y actualizado.
🎯 Conclusión: ¡Felicidades, has creado tu propia plataforma educativa!
Si has llegado hasta aquí, enhorabuena: has logrado instalar Moodle en Ubuntu VPS desde cero. Además, has configurado un servidor web seguro, rápido y listo para enseñar, aprender y compartir conocimiento.
Desde el primer paso hasta el último ajuste de seguridad, has construido una plataforma sólida que puede servir como base para cursos online, capacitaciones empresariales, formación escolar o cualquier proyecto educativo que tengas en mente.
Sin embargo, esto no es el final…
Es solo el comienzo.
¿Qué hacer después de instalar Moodle en Ubuntu VPS con éxito
?
Ahora que has conseguido instalar Moodle en tu VPS con Ubuntu, puedes:
🧩 Añadir nuevos cursos y recursos interactivos.
🎨 Personalizar el diseño y el tema de tu sitio.
🔌 Instalar plugins útiles para mejorar la experiencia de tus usuarios.
👥 Invitar a profesores y estudiantes a usar tu nueva plataforma.
📈 Escalar tu instalación según crezca tu comunidad.
Por otro lado, recuerda que Moodle es una herramienta viva: mantenerla actualizada es esencial para su rendimiento y seguridad. Para ayudarte con eso, te recomiendo mi guía dedicada:
👉 Mantén tu Moodle al día: Guía profesional para una actualización con éxito
🎓 En resumen, con esta guía no solo aprendiste a instalar Moodle en Ubuntu VPS, sino que diste el primer paso hacia el control total de tu entorno digital de aprendizaje.
¡Ahora te toca brillar!
📚 Sigue aprendiendo sobre Moodle
Ahora que ya sabes cómo instalar Moodle en Ubuntu VPS, es el momento de seguir profundizando. En mi blog encontrarás más guías prácticas, avanzadas y enfocadas a sacar el máximo rendimiento a tu plataforma educativa.
👉 Explora todos mis contenidos sobre Moodle aquí:
https://www.andresmartinezsoto.eu/category/moodle/
Algunas lecturas recomendadas:
🔄 Mantén tu Moodle al Día: Guía Profesional para una actualización con éxito
Aprende cómo actualizar Moodle de forma segura y sin errores, con Git, backups y control de versiones. Perfecto después de una instalación nueva.
🐳 Instala Moodle con Docker: Flexibilidad Total y Entornos Reproducibles
Una alternativa moderna a la instalación en VPS. Ideal para quienes buscan portabilidad, pruebas o despliegues rápidos.
🤖 Dale superpoderes a tu Moodle con IA local: Cómo integrar Ollama en tu servidor
Agrega inteligencia artificial con modelos como Mistral o phi sin depender de la nube. Guía completa desde cero.
🔐 ¡Blindaje Extra para tu Moodle! Guía de Configuración MFA y Consejos de Seguridad Esenciales
Protege tu plataforma educativa con autenticación multifactor y buenas prácticas de seguridad.
⚙️ Automatización Avanzada en Moodle: Cron Jobs, Scripts PHP y Tareas Programadas
Guía para llevar la automatización de tu Moodle al siguiente nivel. Ideal tras completar la instalación base.
📰 ¿Quieres más?
Seguiré publicando nuevas guías sobre Moodle para ayudarte a optimizar, personalizar y escalar tu plataforma.
Suscríbete a mi blog o vuelve pronto para no perderte nada.
Tu Moodle puede ir mucho más lejos… y te mostraré cómo.
🙏 Gracias por leerme.
Me alegra poder ayudarte a construir algo grande con Moodle. ¡Nos vemos en el próximo artículo!
🚀 ¿Listo para instalar tu propia plataforma Moodle?
Has llegado hasta aquí porque quieres montar tu propia plataforma educativa con Moodle, y eso es genial.
Pero si tras leer esta guía aún te quedan dudas, falta tiempo o simplemente prefieres contar con ayuda experta, no estás solo.
💡 ¿Por qué contactar con nosotros?
Te ayudamos a:
- Instalar Moodle desde cero en tu VPS.
- Configurar Apache, MySQL, PHP y el entorno seguro necesario.
- Ajustar Moodle para tus necesidades: idioma, plugins, integraciones, diseño…
- Dejarte todo listo para empezar a crear cursos desde el primer día.
👉 Sin complicaciones, paso a paso y adaptándonos a tu nivel técnico.

📩 ¿Cómo podemos ayudarte?
Cuéntanos cuáles son tus objetivos:
¿Es para una escuela? ¿Una empresa? ¿Un proyecto personal?
Nosotros nos encargamos del resto.
📩 Contáctanos hoy mismo y comencemos juntos tu proyecto Moodle.
Tu plataforma educativa está más cerca de lo que piensas.