Cómo instalar Moodle en modo local
Publicado por Luis en 21 Diciembre 2006
Moodle es un gestor de contenidos o CMS (Content Management System) enfocado específicamente a la enseñanza y el aprendizaje en entornos virtuales. Por eso, a diferencia de otros CMS de tipo portal, como Joomla o Drupal, se suele denominar a este tipo de software LMS, acrónimo de Learning Management System o, cambiando el significado del anterior acrónimo CMS por el de Course Management System.
La aplicación principal de Moodle es la gestión de cursos a distancia o la formación on-line. Este tipo de LMS son la plataforma idónea para la enseñanza en entornos virtuales. En términos de software, se trata de una aplicación web, que puede correr en cualquier servidor dotado de un intérprete PHP capaz de manejar una base de datos MySQL. Una característica que lo diferencia de otros CMS es la de crear cuestionarios de tipo test, a partir de un fichero de texto importado.
Entre las características de Moodle destaca la posibilidad de construir por parte de los usuarios diccionarios de términos o glosarios, así como publicaciones colectivas tipo wiki, lo que proporciona la posibilidad de establecer y compartir en grupo significados comunes y especializados. Además, cuando en un artículo aparece una palabra que se encuentra en un glosario, se genera automáticamente un enlace que facilita la consulta.
Moodle es un software libre, que puede obtenerse en el sitio web de su comunidad de desarrolladores.
Antes de instalar Moodle
Con carácter previo a la instalación de Moodle, debemos disponer en nuestra máquina de una plataforma APM operativa, es decir, de un servidor web Apache, un intérprete de scripts PHP y un gestor de bases de datos MySQL. Una forma sencilla de lograrlo es utilizar una paquete APM completo, como AppServ, WAMP o EasyPHP, cuya instalación se describe también en otro artículo de este blog.
Antes de instalar EasyPHP hay que cuidar que no queden rastros de anteriores instalaciones de MySQL y, especialmente, de los archivos de configuración my.cnf o my.ini. También hay que eliminar anteriores instalaciones de PHP y, especialmente, sus archivos de configuración php4ts.dll y php.ini. Tampoco está de más limpiar el registro de Windows con una aplicación adecuada como RegCleaner.
A continuación, vamos a crear una base de datos en MySQL para utilizarla con Moodle. Tecleamos en el navegador http://localhost/mysql/ y entramos en MySQL con el nombre root y la contraseña en blanco. Ponemos un nombre a nuestra base de datos, tecnología por ejemplo, y pulsamos Crear
Instalando Moodle
Nos bajamos, desde la página de descarga de Moodle, el archivo zip de la última versión estable disponible. Una vez bajado, descomprimimos el archivo zip en algún directorio de nuestro disco duro. Copiamos la carpeta moodle, resultante de la descompresión, en la carpeta web de nuestra plataforma APM cuya ruta es, si se trata de EasyPHP por ejemplo, C:\Archivos de programa\EasyPHP\www.
A partir de ahora, ya podemos acceder al programa de instalación vía web, tecleando en el navegador: http://localhost/moodle
Configuración de Moodle
Moodle almacena los archivos subidos por los usuarios en una carpeta que debe llamarse moodledata. Dicha carpeta sólo debe ser accesible para el servidor y para ningún otro usuario de la red. Por esta razón vamos a crear dicha carpeta en, por ejemplo, C:/moodledata.
En segundo lugar editaremos, con el bloc de notas o cualquier otro editor de texto plano, el archivo de muestra config-dist.php y lo guardaremos con el nombre config.php, después de haber introducido correctamente los siguientes parámetros de configuración de la base de datos:
$CFG->dbtype = ‘mysql’; Tipo de base de datos: MySQL
$CFG->dbhost = ‘localhost’; Nombre del servidor de la base de datos
$CFG->dbname = ‘tecnologia’; Nombre de la base de datos
$CFG->dbuser = ‘root’; Usuario
$CFG->dbpass = ”; Contraseña
$CFG->dbpersist = true; ¿Deben reutilizarse las conexiones?
$CFG->prefix = ‘mdl_’; Prefijo para todos los datos
También debemos introducir, en el archivo config.php, las rutas correctas:
$CFG->wwwroot = ‘http://localhost/moodle’;
$CFG->dirroot = ‘C:\Archivos de programa\EasyPHP1-8\www\moodle’;
$CFG->dataroot = ‘C:\moodledata’;
Terminamos la instalación desde el navegador
El resto de la instalación se realiza vía web, tecleando http://localhost/moodle/admin en el navegador. Moodle tiene la ventaja de advertir, antes de iniciar la instalación propiamente dicha, de los errores de sintaxis introducidos en el fichero de configuración. Una vez resueltos, se crea la base de datos, informa de la versión instalada, se crean las tablas de cada módulo, tablas de acierto y error, la copia de respaldo, los bloques, los foros, enlaces y actividades sociales, etc.
Es un proceso minucioso del que el script de instalación informa exhaustivamente. Al final, Moodle presenta un formulario para crear la cuenta principal del Administrador y para pedirnos los parámetros principales de nuestro sitio web:

Últimos ajustes
Aún son necesarios algunos ajustes si, por ejemplo, se van a utilizar archivos zip en el almacén de documentos moodledata. En ese caso hay que activar zlib, editando el archivo php.ini de configuración de PHP que se encuentra en C:\Archivos de programa\EasyPHP\php. Para dejar la línea así:
zlib.output_compression = On
Al terminar hay que reiniciar EasyPHP.
Por último, hay que configurar las tareas que deben ser ejecutadas automáticamente cada cierto tiempo, lo que se conoce como cron. Viene explicado en la documentación de Moodle.

Joje escribió
Luis, al ser un novato en moodle, me ha servido mucho este artículo.
Luis González escribió
Gracias Joje por tu comentario. Esa es la finalidad de este blog.
Angel Luis Rodriguez Rojas escribió
Muy rapido por el tiempo he revisado esta publicacion me parece muy buena, pero sigo busacndo el instalador de moodle, ahora, guardo la direccion por si necesito ayuda.
Felicitaciones,
Rodriguez, A. L.
Beto escribió
Yo tambien usaba la moodle …. pero la verdad que Dokeos la supera ampliamente, NO HACE FALTA NIGUN TIPO DE INSTALACION Y TIENE TODOS LOS TIPOS DE HERRAMIENTAS, probala y despues me contas!!!.
Un detalle para tener en cuenta es la plataforma que tiene mayores usuarios en Castellano y ES GRATIS.
mi correo es robertotula@gmail.com
la direccion es http://campus.dokeos.com/index.php?language=spanish
Despues lo que te voy a pedir es que publiques un comentario hacia DOKEOS
Kenny escribió
Hola.
instale moodle en mi maquina local, pero cuando quiero sacarlo a internet se pone demasiado lento y no termina de cargar algunas secciones….
probe entonces con dokeos pero no puedo configurar el envio de correo…
tal vez puedas ayudarme o sugerirme alguna pagina donde pueda resolver estos inconvenientes.
Gracias
Beto escribió
Hola Kenny, no se cual es tu casilla de correo, tal vez requiera autentificacion como lo es la cuenta de yahoo. Pero bueno en fin, lo mas sano es que te contactes con la gente de Dokeos que te lo van a saber solucionar facilmente!
Cualquier cosa escribeme a mi correo robertotula@gmai.com
BeTo
BuEnOs AiReS – ArgentinA
Todos vivimos bajo el mismo cielo pero ninguno tiene el mismo horizonte.
Beto escribió
al escribir me equivoque , mi direccion es robertotula@gmail.com
luis escribió
Una pregunta, segui todos los pasos pero al ingresar http://localhost/moodle/admin/, me sale este resultado:
Could not find this file: c:\archivos de programa\easyphp1-8\www\moodle/lib/setup.php
Are you sure all your files have been uploaded?
Esperando una respuesta, gracias desde ya
Luis
maria escribió
lo conseguiste solucionar?
alirio escribió
hola, amigo luis esta muy bueno tu articulo…pero tengo un problema luego que hago todo lo que dice dicho articulo no me aparece el formulario, me salen varios errores que tienen que ver con UTF-8 y no se como acomodarlo, si ud sabe le agradezco la colaboracion.
mil gracias
Luis González escribió
Alirio:
No tengo suficiente información acerca de los errores que mencionas para saber qué puede estar sucediendo. Pero, de todos modos, yo no soy un experto en Moodle. Mi interés se enfoca exclusivamente en el uso educativo de estos gestores de e-learning.
Para resolver problemas técnicos te aconsejo que te registres en la comunidad hispana de Moodle. Plantea tus preguntas en los foros de esa comunidad o buscando información en su wiki.
jairo Pardo escribió
No son los grandes los que se comen los pequeños sino los veloces los que se comen los lentos
Nancy escribió
Una pregunta, segui todos los pasos pero al ingresar http://localhost/moodle/admin/, me sale este resultado:
Parse error: parse error, unexpected T_STRING in C:\wamp\www\moodle\config.php on line 111
que susede verifico y sigue el mismo resultado.
si alguien me puede ayudar se lo agradezco.
juan escribió
que archivo se modificaria para implimentar localmente dokeos ?????
Eduardo escribió
Hola.
Primero que nada muchas gracias Luis por la descripción del proceso de instalación de moodle, lo seguí paso a paso, cree el archivo php config.php y todo bien hasta la parte en donde hay que poner el tipo de base de datos, nombre del host, de la base de datos, etc., todo hasta ahí sin ningún problema ningún, error marcado por el instalador ni nada, al dar aceptar se queda la compu procesando y al terminar me pasa a una pantalla totalmente en blanco y abajo dice terminado, al parecer hizo la instalación pero me envía a una página en blanco.
¿podrías orientarme en que puedo hacer para solucionar esto? ¿me faltó hacer alguna otra cosa? te agradeceré mucho tu ayuda.
Saludos
Eduardo
ORLANDO escribió
DESEO SABER COMO PUEDEN ACCESAR MIS ALUMNOS POR INTERNET DESDE OTRAS MAQUINAS QUE ESTEN UBICADAS EN OTRO PAIS
GRACIAS
Fernando escribió
Todavía no he podido instalar en localhost mi moodle. Me he quedado en la fase previa de instalar easyPHP, concretamente en la creación de la base de datos. Escribo http://localhost/mysql/ y me sale: Not Found
The requested URL /mysql/ was not found on this server.
¿Me he saltado algún paso previo?
Fidelina escribió
Hola Luis: Encontré este texto e instalé la vers. 1.8.3. de Moodle. No logré que la plataforma esté en Español (a pesar de que seleccioné esa opción). ¿me podrías dar alguna pista?
Desde ya muchas gracias.
Luis González escribió
Fidelina:
Pues con tu comentario no tengo apenas información para aventurar cuál puede ser el problema. Hace ya mucho tiempo que no ando trasteando con Moodle. Busca una opción en la configuración de la plataforma para establecer el lenguaje español, porque es muy probable que, aunque hayas elegido idioma durante el trámite de la instalación, lo tengas que fijar posteriormente en la configuración.
Un saludo
Fernando escribió
Estoy igual que Fernando.
Me he quedado en la fase previa de instalar easyPHP, concretamente en la creación de la base de datos. Escribo http://localhost/mysql/ y me sale: Not Found
The requested URL /mysql/ was not found on this server.
¿Cómo puedo solucionar este problema?
Gracias por la guía
kapo escribió
Perdón por el sms de antes
Estoy igual que Fernando.
Me he quedado en la fase previa de instalar easyPHP, concretamente en la creación de la base de datos. Escribo http://localhost/mysql/ y me sale: Not Found
The requested URL /mysql/ was not found on this server.
¿Cómo puedo solucionar este problema?
Gracias por la guía
andres escribió
Hola Luis:
Gracias por la guia!
Consulta_1: En qué directorio encuentro el archivo config-dist.php y donde lo guardo?
Consulta_2: En la configuracion de la base de datos: localhost puedo cambiar por el nombre que tendrá mi site, y en user root puedo poner minombre? Esto es asì, entiendo bien?
Desde ya muchas gracias,
Salu2
Andrés
ronald escribió
no se si me pueden ayudar a instalar el moodle en mi pc no funciona que hago?????????? F1,F1,F1,F1,F1,F1,F1,F1,F1,F1,F1,F1,F1,F1,F1,F1,F1,F1,F1,F1,F1,F1,F1,F1,F1,F1,F1,F1,
jcalderon escribió
Justo lo que buscaba hoy mismo lo pongo en practica, excelente articulo.
Luis González escribió
Andrés: (1) Perdóname pero el post es de diciembre de 2006. Hace tiempo de esta historia y ya se me olvidaron los detalles y (2) cuando instalas en modo local creo que forzosamente debe llamarse localhost, aunque sí puedes poner tu nombre de usuario en lugar de root. La instalación en modo remoto (con un nombre para tu site) es ligeramente distinta de esta que se describe en modo local y está descrita en otro post de este blog.
Es buena idea que te dirijas a la comunidad hispana de usuarios de Moodle.
Un cordial saludo
Luis González escribió
JCalderon:
Me alegrará que esta información te sea útil. Pero es muy posible que, en todo el tiempo transcurrido desde su publicación, el gestor Moodle haya tenido grandes modificaciones.
Por lo tanto te aconsejo que trabajes con la versión más reciente de Moodle y que te guíes por sus propias instrucciones de instalación.
Un saludo.
formadores escribió
Hola Luis, excelente tú artículo.
Te cuento:
me encuentro en moodle Install… creo que hice todo perfecto, pero cuando llego a la pantalla en la que está comprobando los ajustes PHP, las dos últimas “opciones” me dan problemas:
Version GD: precaución. Me dice que: La librería GD debería estar presente para procesar y crear imágenes
Límite de memoria: precaución. Me dice que: el límite de memoria PHP es demasiado bajo… puede tener problemas más tarde.
A pesar de ello, continuo con el proceso de instalación… pero al poco tiempo me da error. Imagino que será por esas dos causas. Cómo puedo solucionarlo???? Necesito ayuda por favor!! Muchas gracias de antemano.
Enhorabuena por tu blog, es genial.
formadores escribió
he mirado las posibles soluciones que me da el propio moodle, pero no estoy muy seguro de tocar nada, ya que no lo veo nada claro y no quiero convertir un pequeño problema en un problemón gordo.
Por favor, podrías ayudarme, muchas gracias.
formadores escribió
Luis González escribió
Siento no haber podido responder antes, he estado fuera y sin conexión.
Estoy seguro de que la instalación de Moodle habrá mejorado en relación a la que yo hice hace ya casi dos años. Ahora me siento incapaz de ayudarte con los incidentes en la instalación. Creo que la comunidad hispana de usuarios de Moodle es la mejor fuente de ayuda a la que puedes recurrir:
Comunidad Moodle
Drupal hispano
Un cordial saludo
edu escribió
El límite de memoria PHP en su servidor es actualmente 16M.
Esto puede ocasionar que Moodle tenga problemas de memoria más adelante, especialmente si usted tiene activados muchos módulos y/o muchos usuarios.
Recomendamos que configure PHP con el límite más alto posible, e.g. 40M. Hay varias formas de hacer esto:
1. Si puede hacerlo, recompile PHP con –enable-memory-limit. Esto hace que Moodle fije por sí mismo el límite de memoria.
2. Si usted tiene acceso al archivo php.ini, puede cambiar el ajuste memory_limit a, digamos, 40M. Si no lo tiene, pida a su administrador que lo haga por usted.
3. En algunos servidores PHP usted puede crear en el directorio Moodle un archivo .htaccess que contenga esta línea:
php_value memory_limit 40M
Sin embargo, en algunos servidores esto hace que todas las páginas PHP dejen de funcionar (podrá ver los errores cuando mire las páginas) de modo que tendrá que eliminar el archivo .htaccess.
Erik escribió
Mil Gracias, estoy instalando por primera vez moodle en su versi[on 1.9.3 y me sirvio perfectamente ya que con el instalador se me quedaba la pantalla en blanco en la sección de crear base de datos.
Eric escribió
Gracias amigo me fue de mucha utilidad
Carmen Céspedes escribió
Excelente post, Dios te bendiga.
willydonaldo escribió
alguien me puede ayudar en este error
cuando estoy en el proceso de creación de la base de dato me ocurre este error, si alguien me puede colaborar le agradezco
Error de conexión con la base de datos. Por favor, compruebe los ajustes de la base de datos.
Raquel escribió
Hola, yo tengo instalado el Moodle en mi pc de casa, donde además, he instalado el módulo para JClic para poder subir actividades. Sin embargo, necesito hacer una demo en mi pc y en ese caso no tendré conexión con Internet. He probado a quitar la conexión, y al intentar navegar por Moodle, me pide conexión. ¿es posible navegar por Moodle y ejecutar las actividades JClic sin conexión a Internet? He leido que para JClic, puedo isntalarme el fichero jclicplugin.js en local (en moodle) e indicarlo en la configuración del módulo JClic..pero no me funciona…¿alguien puede ayudarme ? Muchísimas gracias de antemano.
jose escribió
hermano trato de instalarlo y me aparece esto Error al crear la base de datos. No se ha podido crear la base de datos con el nombre y ajustes suministrados
Luis González escribió
Con los pocos datos que proporcionas es muy difícil saber qué es lo que falló. De todas formas revisa estos dos puntos, que es donde la mayoría de los que lo intentan suelen tropezar:
Asegúrate de que has creado una base de datos, bajo tu control, en el gestor de datos MySQLRevisa bien los datos relativos al servidor de bases de datos (nombre del servidor, login y password del administrador) y el nombre de la base de datos
Suerte
Pedro escribió
Hola,
Estamos experimentando con la instalación de moodle en un servidor local, hasta ahí más o menos bien, bajo Windows XAMPP, etc. Lo configuro con la IP del equipo y puedo acceder desde la red interna del centro. La pregunta es, ¿yo puedo acceder desde el exterior a moodle?, me explico: aprovechando que tenemos una de nuestras adsl con ip fija, le abro el puerto 80 y lo redirecciono a la IP interna del equipo, llego a el sin problema, a la consola del XAMPP, pero cuando trato de acceder al moodle no carga bien ya que lógicamente la configuración de los enlaces hace referencia a la IP interna del servidor. ¿Se puede tener moddle en un servidor propio y a la vez poder acceder desde el exterior o simplemente es que no se puede?
Gracias
Pedro
Luis González escribió
Que hay, Pedro:
Vaya por delante la afirmación de que no tengo conocimientos suficientes para responder a tu pregunta.
Pero si fuera así, si bastase con tener un servidor propio y una IP fija para acceder a él desde Internet, toda la estructura de la ICANN, sus agentes registradores, la red de DNS y el mercado de hosting tendrían pocas razones para existir.
Así que sólo tengo preguntas:
Dices que tu ISP te asigna una IP fija. ¿Está asociada a un nombre de dominio?
¿Cómo haces para que tu IP esté en las tablas de los servidores de nombres de dominio?
Cuando un ISP te proporciona una IP fija, ¿es una IP pública o se trata de una IP privada (quizá de clase B) dentro de su red?
Es probable que conozcas ya el curso de TCP/IP de Saulo Barajas. Si no fuera así te lo recomiendo encarecidamente. Aquí te dejo el enlace
Saludos
Luis
Oscar escribió
Mejor explicado creo que no se puede encontrar. Muchas gracias por la información, me fue de gran ayuda. Saludos.
Tasha escribió
Hola….. En que sistema operativo crees que corre mejor Moodle? en Linux o Windows????????
Luis González escribió
No sé. No he hecho nunca una comparativa ni conozco a nadie que lo haya hecho.
De todos modos, cuando Moodle está en producción corre en un servidor remoto y la mayoría de los servidores web utilizan Apache bajo Linux.
Saludos
David Melero escribió
Hola a todos,
Soy bastante novato en esto de moodle y estaba intentanto instalarlo bajo ubuntu. Para instalar el mysql, el interprete php y el apache he utilizado la última versión de xampp, y parece que todo es correcto. El siguiente paso ha sido crear la base de datos con phpmyadmin. Aparentemente hasta aquí todo correcto.
El problema aparece cuando me paso a instalar moodle via web. Empiezo sin problemas, pero en un determinado momento me aparece el siguiente error relativo al config.php:
“Strict Standards: Creating default object from empty value in /opt/lampp/htdocs/moodle/config.php on line 5″
Además, mientras va generando tablas llega un momento en el que se cuelga (más bien se queda en blanco). Si vuelo a teclear /localhost/moodle en el navegador me lleva directamente a una sesión de administrador, pero no me deja hacer nada. No puedo editarlo paran ponerle contraseña, y no me deja crear uno nuevo.
Si alguien sabe que es lo que estoy haciendo mal… estaré eternamente agradecido.
Un saludo a todos
dayana escribió
cuando estoy instalando moodle2.0 me sale esto Fatal error: Maximum execution time of 30 seconds exceeded in C:\wamp\www\moodle\lib\filelib.php on line 925
ayudenme por favor
Oscar escribió
Buenas
He instalado Xampp + Moodle en un servidor del centro. Desde el interior del mismo, accedo sin problemas, pero cuando pruebo desde casa (http:///moodle) ya no tira. En el router del centro tenemos ip fija y me he asegurado de redireccionar en el router (supongo que bien) la direccion ip del proveedor al servidor interno por el puerto 80 en la configuracion NAT.
Alguien sabe si se ha de modificar algo mas en la configuracion del router o del xampp o del moodle?
Muchas gracias
OScar Garcia