Cómo instalar Moodle 5.2 en Windows
10 de agosto de 2026 · 8 min de lectura
¿Se puede instalar Moodle 5.2 en Windows?
Sí. Moodle 5.2 puede instalarse en Windows para pruebas, desarrollo, formación o uso interno pequeño. Para producción seria, Linux suele ser más sencillo de mantener porque Moodle se desarrolla y despliega sobre todo en pilas tipo LAMP.
La discusión Moodle.org “Moodle 5.2 Windows Install” tiene 54 respuestas y muestra el patrón: IIS, WAMP, versiones PHP y paquetes Windows. Windows puede funcionar, pero el camino tiene más trampas pequeñas.
Elige el camino correcto
| Objetivo | Mejor camino |
|---|---|
| Prueba local rápida | Paquete Windows de Moodle, XAMPP o WAMP |
| Aprender administración Moodle | Instalación local Windows |
| Producción en Windows Server | IIS + FastCGI + PHP soportado + base soportada |
| LMS público que crecerá | VPS Linux o hosting Moodle gestionado |
La página Installing Moodle dice que Moodle se desarrolla principalmente en Linux. La documentación IIS también señala que Apache tiene más apoyo de comunidad.
Requisitos Moodle 5.2
| Componente | Mínimo Moodle 5.2 |
|---|---|
| PHP | 8.3.0 |
| MariaDB | 10.11.0 |
| MySQL | 8.4 |
| PostgreSQL | 16 |
| Microsoft SQL Server | 2019 |
max_input_vars | 5000 |
| Arquitectura PHP | 64 bits |
En Windows, instala PHP de 64 bits. Con IIS, usa normalmente PHP Non Thread Safe con FastCGI.
Opción A: Moodle 5.2 en IIS
1. Activa IIS y CGI
En características de Windows, activa:
- Internet Information Services
- World Wide Web Services
- Application Development Features
- CGI
Comprueba después que http://localhost responde.
2. Instala PHP para FastCGI
Descarga una versión PHP compatible con Moodle 5.2 desde los builds oficiales de Windows. Extrae en una ruta estable:
C:\PHPInstala el Visual C++ Redistributable que pida tu build PHP.
3. Registra PHP en IIS
En IIS Manager, añade un module mapping:
| Ajuste | Valor |
|---|---|
| Request path | *.php |
| Module | FastCgiModule |
| Executable | C:\PHP\php-cgi.exe |
| Name | PHP-FastCGI |
En request restrictions, invoca el handler solo si la petición corresponde a un archivo o carpeta. Sube el timeout de FastCGI para que la instalación no muera a mitad.
4. Configura php.ini
Activa extensiones comunes:
extension=curl
extension=fileinfo
extension=gd
extension=intl
extension=mbstring
extension=mysqli
extension=openssl
extension=pdo_mysql
extension=soap
extension=sodium
extension=zip
zend_extension=opcacheDefine:
max_input_vars = 5000
upload_max_filesize = 128M
post_max_size = 128M
memory_limit = 256M
max_execution_time = 300
cgi.force_redirect = 0
fastcgi.impersonate = 1Añade tu zona horaria real:
date.timezone = Europe/Madrid5. Instala la base de datos
MariaDB o PostgreSQL son opciones habituales. Para MariaDB/MySQL:
CREATE DATABASE moodle DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;Da al usuario Moodle permisos solo sobre esa base.
6. Separa código y datos
Usa una estructura como:
C:\inetpub\moodle
C:\moodledataEl sitio IIS debe apuntar a:
C:\inetpub\moodle\publicno a la carpeta padre.
7. Configura documento por defecto y routing
Añade index.php como documento por defecto. Instala IIS URL Rewrite si hace falta. Después de instalar, ejecuta el check del router.
Si falla, lee Moodle 5.2: el router no está configurado correctamente.
Opción B: WAMP o XAMPP
Úsalo para una prueba local, no para producción pública.
- Usa PHP 8.3 o superior.
- Activa extensiones requeridas.
- Pon
max_input_varsen 5000. - Crea la base en
utf8mb4. - Mantén
moodledatafuera de la carpeta web. - Apunta el virtual host a
public. - Configura el router.
El error habitual es extraer Moodle en htdocs y visitar la carpeta padre. En Moodle 5.2, el virtual host debe apuntar a public.
Errores comunes en Windows
| Síntoma | Causa probable |
|---|---|
| El check de entorno bloquea | PHP, extensión o base no soportada |
| 404 tras instalar | Raíz apunta al padre y no a public |
| PHP se descarga | Handler PHP no registrado |
| Instalador expira | Timeout PHP o FastCGI bajo |
| Subidas fallan | Límites PHP, permisos o ruta temporal |
| Selector de archivos gira | Caché, JavaScript, repositorio, router o permisos |
Composer vendor directory not found | Falta vendor |
| Cron no corre | Tarea programada no configurada |
Para Composer, lee Moodle: Composer vendor directory not found.
No olvides cron
Moodle necesita cron para foros, finalización, notificaciones, limpieza, tareas programadas y tareas ad hoc. En Windows, usa el Programador de tareas con el php.exe correcto.
C:\PHP\php.exe C:\inetpub\moodle\admin\cli\cron.phpEjecútalo una vez manualmente y confirma que termina.
FAQ
¿Moodle 5.2 está soportado en Windows?
Puede ejecutarse en Windows si cumple requisitos. Para instalaciones grandes, Moodle recomienda Linux o un sistema tipo Unix.
¿IIS o Apache en Windows?
IIS si necesitas integración Microsoft. Para producción Moodle común, Linux con Apache o Nginx suele ser más fácil.
¿Dónde debe apuntar IIS?
A C:\inetpub\moodle\public, no a C:\inetpub\moodle.

Escrito por Choaib Mouhrach
Fundador e ingeniero de software sénior
Diseño y desarrollo plataformas de aprendizaje a medida para organizaciones con procesos complejos de formación y certificación. En lugar de unir plugins y herramientas de terceros, creo sistemas adaptados a la forma real de trabajar de cada negocio, reduciendo la carga administrativa y mejorando la experiencia del alumnado.
Tu producto de aprendizaje merece su propia plataforma.
Si quieres ofrecer una experiencia de aprendizaje construida en torno a tu producto, tus alumnos y tus objetivos, estás en el lugar correcto. Construimos plataformas que te dan el control y la flexibilidad para crecer sin límites.