Moodle ISPConfig · 6 min read · Nov 07, 2025
Cómo instalar Moodle en ISPConfig
Moodle es una plataforma de aprendizaje diseñada para proporcionar a educadores, administradores y estudiantes un único sistema robusto, seguro e integrado para crear entornos de aprendizaje personalizados.
Se utiliza en muchos entornos, desde la educación, el e-learning hasta las pruebas de certificación.
Personalmente, lo usaré todos los días para enseñar a mis estudiantes en un curso de sistemas operativos y tanto los profesores como los estudiantes lo adoran.
En este tutorial, aprenderemos cómo instalarlo como un sitio web dentro de ISPConfig, también con un certificado SSL de Let’s Encrypt.
El tutorial se basa en Debian 8, pero también debería funcionar bien con Ubuntu y otras distribuciones compatibles con ISPConfig.
Entonces, ¿cuáles son los requisitos previos antes de comenzar?
- ISPConfig instalado (esta guía debería estar bien https://www.howtoforge.com/tutorial/perfect-server-debian-8-4-jessie-apache-bind-dovecot-ispconfig-3-1/)
- DNS correctamente configurado para apuntar a su sitio (para nuestra prueba usamos course.servisys.it como referencia del ejemplo), esto es necesario para la correcta configuración de Let’s Encrypt
1. Configurar el DNS
En nuestro ejemplo, dijimos que usaremos el dominio course.servisys.it, así que cuando vayamos a abrir nuestro sitio de Moodle usaremos https://course.servisys.it, así que para configurar el DNS. Ve a la pestaña DNS en ISPConfig y edita tu DNS para que se vea algo como la imagen de abajo:

Atención a seleccionar un tipo de registro A. Este es un paso muy importante, porque el registro A es utilizado por Let’s Encrypt para generar el certificado SSL.
Si gestionas tu DNS en un proveedor externo, tendrás que crear el mismo tipo de registro allí.
2. Crear el sitio web
Ahora ve a la pestaña de Sitios en ISPConfig y crea un nuevo sitio web, llamado como la configuración de DNS anterior, editando las siguientes opciones:

Subdominio automático: en mi caso he cambiado de www. a ninguno porque mi dominio es course.servisys.it. Si lo configuras a www, la automatización de Let’s Encrypt intentará generar un certificado para www.course.servisys.it y fallará. Así que presta atención a esta opción.
SSL: Habilitar para SSL.
Let’s Encrypt: sí, queremos generar un certificado con esto.
PHP: Fastcgi está funcionando bien para mí.
Ahora haz clic en guardar y espera, ese certificado se emitirá correctamente.
Espera unos minutos e intenta abrir tu sitio web, en mi caso https://course.servisys.it, si todo está bien verás la barra verde!

3. Creación de la base de datos
Vamos a crear un usuario de base de datos y una base de datos para usar con Moodle.
Ve a la pestaña de sitios, luego a Usuarios de base de datos > nuevo usuario.
Selecciona el cliente asociado, elige un nombre y una contraseña, algo como esto:

Toma nota de:
- Usuario de base de datos
- Contraseña
Regresa a la pestaña de Sitios, y ahora elige Bases de datos, luego Agregar nueva base de datos, selecciona tu sitio (courses.serverisy.it), elige un nombre de base de datos y selecciona el usuario creado anteriormente, y haz clic en guardar. Algo como la captura de pantalla de abajo:

4. Modificar la configuración de MySql
La configuración predeterminada de mysql necesita algunas pequeñas modificaciones para trabajar con Moodle. Tienes que editar el archivo:
nano /etc/mysql/my.cnfy al principio, agrega la línea roja
[client]
port = 3306
socket = /var/run/mysqld/mysqld.sock
default-character-set = utf8mb4siempre en el mismo archivo, baja un poco, antes de que comience la declaración [mysqldump], y nuevamente agrega las líneas rojas
#Moodle - Matteo
innodb_file_format = Barracuda
innodb_file_per_table = 1
innodb_large_prefix
character-set-client-handshake = FALSE
character-set-server = utf8mb4
collation-server = utf8mb4_unicode_ci
[mysqldump]
quick
quote-names
max_allowed_packet = 16MEstas modificaciones son necesarias porque son requisitos previos para instalar Moodle, o durante la configuración no te permitirá continuar con la instalación.
Después de eso, reinicia MySql con:
/etc/init.d/mysql restart5. Preparando la instalación de Moodle
Ahora estamos listos para preparar la instalación de Moodle, lo haremos desde la línea de comandos porque es más rápido que FTP :)
Ve a esta página y selecciona la instalación que se adapte a tus necesidades, en un entorno de producción te sugeriría que uses la versión estable. En el momento en que estamos escribiendo, es la 3.2.2.
Así que desde la línea de comandos ve al directorio web de tu sitio, en mi caso, estos son los comandos:
cd /var/www/course.servisys.it/web rm index.htmlwget https://download.moodle.org/download.php/direct/stable32/moodle-3.2.2.tgztar -zxvf moodle-3.2.2.tgzcp -pr moodle/* ./cp -pr moodle/.* ./cuando uses el comando cd, obviamente cámbialo al nombre de tu sitio.
Hemos eliminado la página predeterminada index.html, ya que queremos que la primera página servida sea index.php.
Después de eso, necesitamos corregir la propiedad de los archivos, para ajustarlos a nuestros usuarios y grupos, para saber cuál es correcto para ti simplemente lanza un
ls -aly deberías ver muchos archivos, y algunos de los que contienen el usuario web cliente, en mi caso:
drwxr-xr-x 18 1005 1005 4096 mar 11 22:16 report
drwxr-xr-x 24 1005 1005 4096 mar 11 22:16 repository
-rwxr-xr-- 1 web42 client1 14 abr 13 17:25 robots.txt
drwxr-xr-x 2 1005 1005 4096 mar 11 22:16 rss
drwxr-xr-x 7 1005 1005 4096 mar 11 22:16 search
drwxr-xr-x 2 web42 client1 4096 abr 13 17:25 stats
drwxr-xr-x 5 1005 1005 4096 mar 11 22:16 tag
-rw-r--r-- 1 1005 1005 615 mar 11 22:16 tags.txt
drwxr-xr-x 6 1005 1005 4096 mar 11 22:16 themecomo puedes ver, mi usuario es web42 y mi grupo es client1, así que ahora corrige los permisos con:
chown -R web42:client1 *chown -R web42:client1 .*y corrige de nuevo los permisos de los directorios
chown root:root stats/ error/y luego vamos a crear un directorio moodledata que no sea accesible públicamente, para hacerlo, simplemente créalo en el directorio privado.
mkdir ../private/moodledatachown -R web42:client1 ../private/moodledata6. Instalación web de Moodle
¡Aquí vamos! Ahora podemos comenzar el último paso de la instalación, abre tu navegador, deberías obtener una página similar a esta cuando abras la URL del sitio web:

Selecciona el idioma y haz clic en siguiente.

El directorio de datos predeterminado para Moodle aparecerá como /var/www/clients/client1/web42/moodledata pero nuestro directorio está en la carpeta privada, así que altera la ruta para que use la carpeta moodle en la carpeta privada en su lugar: /var/www/clients/client1/web42/private/moodledata
Luego selecciona el tipo de base de datos, en mi caso MySql.

Luego completa con los datos de MySql.

Host de la base de datos: localhost
Nombre de la base de datos: c1_moodle
Usuario de la base de datos: c1_moodle
Contraseña de la base de datos: la que elegiste durante la creación del usuario de la base de datos
Prefijo de tabla: mdl_
Puerto de la base de datos:
Socket Unix:
Ahora haz clic y espera, después de unos segundos deberías ver las condiciones que debes aceptar.

Después de eso, Moodle realizará algunas verificaciones del sistema para probar que todo esté funcionando bien.
¡Todo debería estar en verde ahora mismo!!!

Haz clic en Continuar y aparecerán más verificaciones….

Haz clic en continuar y completa los datos del usuario administrador (Nombre, Apellido, contraseña de usuario..).

Deberías completar los datos de tu nueva plataforma de aprendizaje y pruebas :)

¡Disfruta de tus cursos!
Recibe nuevas publicaciones en tu bandeja de entrada.
No spam. Cancela la suscripción en cualquier momento.