Esta guía explica cómo instalar Moodle por primera vez. Profundiza en detalles en algunos de los pasos, con la finalidad de cubrir una amplia variedad de pequeñas diferencias entre las opciones de los diversos servidores web, de manera que este documento puede parecer largo y complicado. No se desanime por esto, ¡una vez que sabe como hacerlo puede instalar Moodle en unos pocos minutos!
Si tiene problemas por favor lea este documento cuidadosamente, la mayoría de los problemas habituales se responden aquí. Si aún después de esto continua con problemas, puede buscar ayuda en Ayuda de Moodle
Otra opción es contactar una empresa de alojamiento web que pueda mantener Moodle para usted, de forma que pueda despreocuparse de todo esto y centrarse en la formación. Secciones de este documento:
- Requisitos
- Descarga y copia de archivos
- Estructura del sitio
- Ejecutar el fichero de instalación para crear el config.php
- Ir a la página de administración para finalizar con la configuración
- Configurar el cron
- Crear un nuevo curso
Moodle está desarrollado principalmente en Linux usando Apache, MySQL y PHP (la también denominada plataforma LAMP), aunque también es probado regularmente con PostgreSQL y en los sistemas operativos Windows XP, Mac OS X y Netware 6.
Los requisitos de Moodle son los siguientes:
La mayoría de los servicios de alojamiento web (hosting) soportan todo esto por defecto. Si ha contratado los servicios de alguno de los pocos servicios de alojamiento web que no soportan estas características pregúnteles por qué, y considere la posibilidad de trasladar su sistema a otro sitio.
Si quiere instalar Moodle en su propio ordenador y todo esto le parece un poco complicado, entonces vea nuestra guía: Instalar Apache, MySQL y PHP. Le proporcionará instrucciones paso a paso para instalar todo ésto en las plataformas más utilizadas.
Existen dos formas de obtener Moodle, como un paquete comprimido y a través de CVS. Esto se explica con detalle en la página de descarga: http://moodle.org/download/
Tras descargar y descomprimir el archivo, o recibir los archivos vía CVS, tendrá un directorio llamado "moodle", que contiene archivos y carpetas.
Puede o bien colocar la carpeta completa en el directorio de documentos de su servidor web, en cuyo caso el sitio estará localizado en http://suservidor.com/moodle, o bien copiar todos los contenidos directamente en el directorio principal de documentos del servidor web, en cuyo caso el sitio será simplemente http://suservidor.com.
Si descarga Moodle a su ordenador local y posteriormente lo sube a su sitio web, es normalmente mejor subirlo como un solo archivo y posteriormente descomprimirlo en el servidor. Los paneles de control de los servidores de alojamiento web como Cpanel le permiten descomprimir archivos en el "Administrador de Archivos".
Puede saltarse sin problemas esta sección, ya que a continuación hay un breve resumen de los contenidos del directorio Moodle, para ayudarle a orientarse:
config.php - contiene la configuración básica. Este archivo no viene con Moodle - usted lo creará install.php - el archivo que ejecutará para crear config.php version.php - define la versión actual del código de Moodle index.php - la página principal del sitio
- admin/ - código para administrar todo el servidor.
- auth/ - módulos para la autenticación de usuarios.
- blocks/ - módulos para los pequeños bloques laterales de muchas páginas
- calendar/ - todo el código para manejar y mostrar calendarios
- course/ - código para presentar y gestionar los cursos.
- doc/ - documentación de ayuda de Moodle. (Por ejemplo esta página).
- files/ - código para presentar y gestionar los archivos cargados.
- lang/ - textos en diferentes idiomas, un directorio por idioma.
- lib/ - librerías del código fundamental de Moodle.
- login/ - código para manejar las entradas y creación de cuentas.
- mod/ - todos los principales módulos de los cursos de Moodle están aquí.
- pix/ - gráficos genéricos del sitio.
- theme/ - paquetes de temas/pieles para cambiar la apariencia del sitio.
- user/ - Código para mostrar y gestionar los usuarios.
Para ejecutar el archivo de instalación (install.php), solo tiene que intentar acceder a la URL principal de Moodle usando un navegador web, o acceder a http://suservidor/install.php directamente.
(El Instalador intentará establecer una cookie de sesión. Si aparece una ventana de aviso en su navegador asegúrese de aceptar esa cookie)
Moodle detectará qué configuración es necesaria y le guiará a través de algunas pantallas para ayudarle a crear un nuevo archivo de configuración llamado config.php. Al final del proceso Moodle intentará escribir el archivo en su localización correcta, pero si no es posible puede presionar un botón para bajarlo desde el instalador y entonces subir config.php al directorio principal de Moodle en el servidor.
Durante el proceso, el instalador comprobará las características de su servidor y le dará sugerencias sobre la manera de solucionar algunos problemas. En la mayoría de los casos estas sugerencias deberían de ser suficientes, pero si se queda atascado, siga leyendo para encontrar más información sobre algunas cosas habituales que le deberían permitir continuar.
4.1 Configuración general del servidor web
En primer lugar, asegúrese de que su servidor web está preparado para usar index.php como página por defecto (quizás además de index.html, default.htm y otras).
En Apache, esto se logra usando un parámetro DirectoryIndex en su archivo httpd.conf. El mío normalmente aparece como sigue:
DirectoryIndex index.php index.html index.htmTan sólo asegúrese de que index.php está en la lista (y preferiblemente al principio de la lista, por una cuestión de eficacia).
En segundo lugar, si usted está usando Apache 2, entonces debe activar la variable AcceptPathInfo, la cual permite a los scripts que le sean pasados argumentos como http://server/file.php/arg1/arg2. Esto es esencial para permitir que existan enlaces relativos entre sus recursos, y también proporciona un rendimiento mejorado para las personas que usan su sitio Moodle. Puede activar esto añadiendo estas líneas a su archivo httpd.conf.
AcceptPathInfo onEn tercer lugar, Moodle requiere que PHP tenga activadas una serie de opciones para funcionar. En la mayoría de los servidores éstas ya están activadas. Sin embargo, algunos servidores PHP (y algunas de las más recientes versiones de PHP) pueden estar configurados de forma diferente. Estas están definidas en el archivo de configuración de PHP (normalmente llamado php.ini):
magic_quotes_gpc = 1 (preferible, pero no es necesario) magic_quotes_runtime = 0 (necesario) file_uploads = 1 session.auto_start = 0 session.bug_compat_warn = 0Si usted no tiene acceso en su servidor a httpd.conf o php.ini, o tiene Moodle en un servidor con otras aplicaciones que requieren una configuración diferente, entonces usted puede ANULAR todas las opciones por defecto.
Para hacer esto, necesita crear un archivo llamado .htaccess en el directorio principal de Moodle que contiene definiciones para estas opciones. Esto sólo funciona para servidores Apache y solo cuando están permitidas las anulaciones (overrides) en la configuración principal.
DirectoryIndex index.php index.html index.htm <IfDefine APACHE2> AcceptPathInfo on
</IfDefine>
php_flag magic_quotes_gpc On
php_flag magic_quotes_runtime Off
php_flag file_uploads On
php_flag session.auto_start Off
php_flag session.bug_compat_warn OffTambién puede usted definir cosas como el tamaño máximo de los archivos que podrán enviarse:
LimitRequestBody 0 php_value upload_max_filesize 2M
php_value post_max_size 2M
La forma más sencilla de hacerlo es copiar el archivo de ejemplo que hay en lib/htaccess y editarlo de acuerdo con sus necesidades. Ese archivo contiene más instrucciones. Por ejemplo, en Unix:
cp lib/htaccess .htaccess
4.2 Crear una base de datos
Tendrá que crear una base de datos vacía (por ejemplo "moodle") en su sistema de base de datos, junto con un usuario especial (por ejemplo "moodleuser") que tenga acceso a esa base de datos (y sólo a esa base de datos). Si quisiera podría usar el usuario "root", pero esto no es recomendable en un sistema de producción: si los hackers descubren la contraseña todo su sistema de base de datos estaría en peligro, en vez de sólo una base de datos.
Si está usando un hospedaje web, probablemente tendrán un panel de control vía web donde podrá crear su base de datos.
El sistema Cpanel es uno de los más populares. Para crear una base de datos en Cpanel,
- Haga click en el icono "Bases de Datos ".
- Teclee "moodle" en el campo base de datos y haga click en "Añadir Base de Datos".
- Teclee un nombre de usuario y contraseña (no uno que use en cualquier sitio) en los apartados respectivos y haga click en "Añadir Usuario".
- Ahora use el botón "Añadir Usuario a la Base de datos" para darle a esta nueva cuenta de usuario "TODOS" los permisos en la nueva base de datos.
- Note que el nombre de usuario y el nombre de la base de datos puede estar prefijado por su nombre de cuenta en Cpanel. Al introducir esta información en el instalador de Moodle - use los nombres completos.
Si tiene acceso a la línea de comandos de Unix puede hacer estas mismas cosas escribiendo comandos.
Ejemplo de líneas de comando para MySQL:
# mysql -u root -p > CREATE DATABASE moodle; > GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP,INDEX,ALTER ON moodle.* TO moodleuser@localhost IDENTIFIED BY 'yourpassword'; > quit # mysqladmin -p reloadEjemplo de líneas de comando para PostgreSQL:
# su - postgres
> psql -c "create user moodleuser createdb;" template1
> psql -c "create database moodle;" -U moodleuser template1
> psql -c "alter user moodleuser nocreatedb;" template1
4.3 Crear un directorio de datos
Moodle también necesita algo de espacio en su disco duro para almacenar los archivos que vayan a ser cargados, tales como los documentos de los cursos y las fotos de los usuarios.
El instalador de Moodle intenta crear este directorio por usted pero si esto falla tendrá que crear un directorio para este propósito de forma manual.
Por seguridad, es mejor que este directorio NO sea accesible directamente desde la web. La manera más sencilla de conseguir esto es simplemente colocarlo FUERA del directorio web, en caso contrario protéjalo creando un archivo en el directorio de datos llamado .htaccess, conteniendo la siguiente línea:
deny from allPara asegurarse de que Moodle puede guardar los archivos subidos en ese directorio, revise que el servidor web (por ejemplo Apache) tiene permiso de lectura, escritura y ejecución en el mismo. En las máquinas Unix, esto significa establecer que el dueño del directorio sea algo como "nobody" o "apache" y entonces dar a ese usuario permisos de lectura, escritura y ejecución.
En los sistemas Cpanel puede usar el "Administrador de Archivos" para encontrar la carpeta, hacer click en ella, y escoger "Cambiar Permisos". En muchos servidores de alojamiento compartido, probablemente usted tendrá que restringir todo acceso a archivos a su "grupo" (para evitar que los clientes de otros sitios web alojados allí vean o cambien sus archivos), pero proporcione pleno acceso de lectura/escritura a cualquiera (lo que permitirá que el servidor web acceda a sus archivos).
Hable con el administrador de su servidor si tiene algún problema al establecer esto de forma segura. En particular, algunos sitios que usan una característica de PHP conocida como "Safe Mode" puede requerir que el administrador cree este directorio adecuadamente para usted
Una vez que config.php ha sido correctamente creado en el paso anterior, al intentar acceder a la página principal de su sitio se encontrará en la página "admin" durante el resto de la configuración.
La primera vez que acceda a la página de administración, se le presentará la licencia GPL que necesariamente tendrá que aceptar para poder continuar con la configuración.
Ahora Moodle empezará a preparar su base de datos y a crear tablas para almacenar los datos. En primer lugar, se crean las tablas principales de la base de datos. Verá una serie de sentencias SQL seguidas de mensajes de estado (en color verde o rojo) parecidos a éstos:
CREATE TABLE course ( id int(10) unsigned NOT NULL auto_increment, category int(10) unsigned NOT NULL default '0', password varchar(50) NOT NULL default '', fullname varchar(254) NOT NULL default '', shortname varchar(15) NOT NULL default '', summary text NOT NULL, format tinyint(4) NOT NULL default '1', teacher varchar(100) NOT NULL default 'Teacher', startdate int(10) unsigned NOT NULL default '0', enddate int(10) unsigned NOT NULL default '0', timemodified int(10) unsigned NOT NULL default '0', PRIMARY KEY (id)) TYPE=MyISAM
SUCCESS...y cosas así, seguidas de: Main databases set up successfully.
Si usted no ve esto, quiere decir que hay algún problema con la base de datos o las opciones de configuración definidas en config.php. Revise que PHP no esté restringido por un "safe mode" (a menudo los alojamientos web comerciales tienen establecido el modo seguro). Puede revisar las variables PHP creando un pequeño archivo que contenga <? phpinfo() ?> y mirándolo con un navegador. Revise todo esto e intente entrar en la página de nuevo.
Desplácese a la parte de abajo de la página y presione el enlace "Continuar".
A continuación verá una página similar que establece todos las tablas requeridas por cada módulo de Moodle.Como antes, todas deben aparecer en verde.
Desplácese nuevamente a la parte de abajo de la página y seleccione el enlace "Continuar".
Ahora usted debe ver un formulario en el que puede definir más variables de configuración para su instalación, tales como el idioma por defecto, el servidor SMTP y cosas por el estilo. No se preocupe demasiado de tener todo correcto ahora, siempre podrá volver y editar esto más adelante usando la interfaz de administración. Desplácese a la parte de abajo de la página y seleccione el enlace "Guardar cambios".
Si (y sólo si) usted se encuentra atascado en esta página o en la siguiente, incapaz de continuar, entonces su servidor probablemente tiene lo que yo llamo el problema del la referencia defectuosa ("buggy referrer"). Esto es fácil de arreglar: sólo tiene que desactivar la opción "secureforms" del formulario, luego intente de nuevo entrar en la página.
La siguiente página es un formulario en el que usted puede definir parámetros para su sitio Moodle y la página principal, tales como el nombre, formato, descripción y ese tipo de cosas. Rellénelo (siempre podrá volver y cambiar esto después) y luego haga clic en "Guardar cambios".
Finalmente, se le pedirá que cree un usuario administrador de máximo nivel para el futuro acceso a la página de administración. Rellene los detalles con su propio nombre, dirección de correo electrónico, etc. y haga clic en "Guardar cambios". No todos los campos son obligatorios, pero si olvida rellenar un campo importante se le avisará.
Asegúrese de recordar el nombre de usuario y contraseña que ha elegido para la cuenta de la administración, ya que serán necesarias para acceder a la página de administración en el futuro.(Si por alguna razón se interrumpe su instalación, o hay un error del sistema de algún tipo que le impida entrar usando la cuenta de admininstrador, normalmente podrá entrar usando el usuario "admin", con contraseña "admin".)
Una vez conseguido esto usted puede volver a la página principal de su sitio. Ésta contiene una serie de enlaces dispuestos en un menú que aparece en la parte izquierda de la página (estos elementos también aparecen en una página aparte de Administración). Estos elementos sólo son visibles para usted ya que ha entrado como el usuario administrador. Toda su gestión de administración puede desde ahora hacerse desde este menú, como por ejemplo:
- Crear y borrar cursos
- Crear y editar cuentas de usuario
- Administrar cuentas de profesores
- Cambiar opciones del sitio, como temas, etc.
Pero con esto no ha finalizado la instalación aún. Queda aún una cosa muy importante por realizar (vea la próxima sección relativa al cron).
Algunos módulos de Moodle requieren revisiones continuas para llevar a cabo tareas. Por ejemplo, Moodle necesita revisar los foros de discusión para poder enviar copias de los mensajes a las personas que están suscritas.
El script que hace todo esto está en el directorio admin, y se llama cron.php. Sin embargo, no puede funcionar por sí mismo, de manera que usted tiene que establecer un mecanismo en el que este script se ejecute regularmente (por ejemplo, cada cinco o diez minutos). Esto proporciona un "latido" de manera que el script pueda llevar a cabo funciones en determinados períodos definidos para cada módulo.
Tenga en cuenta que la máquina que ejecuta el cron no tiene que ser necesariamente la misma en la que está ejecutando Moodle. Por ejemplo, si usted tiene un servicio de alojamiento web limitado que no tiene cron, usted puede elegir ejecutar el cron en otro servidor o en su ordenador personal. Lo que importa es que el archivo cron.php sea llamado regularmente.
La carga de este script no es muy alta, así que un intervalo de 5 minutos es razonable generalmente, pero si ésto le preocupa, puede reducir el periodo de tiempo a algo así como 15 minutos o incluso 30 minutos. Es mejor no hacer el intervalo de tiempo demasiado largo, ya que el retrasar el envío de mensajes de correo puede reducir la actividad del curso.
Primero, pruebe que el script funcione directamente desde su navegador:
http://ejemplo.com/moodle/admin/cron.php
Ahora, usted necesita establecer alguna manera de ejecutar el script automáticamente y regularmente.
En sistemas Windows
La manera más sencilla es usar esta pequeá aplicación moodle-cron-for-windows.zip que hace todo esto de forma muy sencilla. También puede probar a usar la aplicación integrada en Windows "Tareas programadas".
En los servidores de alojamiento web (hosting)
Su panel de control web puede tener una página web que le permita configurar este proceso de cron. Consulte a su administrador para obtener detalles sobre su funcionamiento.
Hay diferentes programas de línea de comandos que puede usar para llamar la página desde la línea de comandos. No todos ellos pueden estar disponibles en un determinado servidor.
Por ejemplo, puede usar una utilidad Unix como 'wget':
wget -q -O /dev/null http://ejemplo.com/moodle/admin/cron.phpAdvierta en este ejemplo que la salida se elimina (en /dev/null).
Es lo mismo usando lynx:
lynx -dump http://ejemplo.com/moodle/admin/cron.php > /dev/nullComo alternativa puede usar una versión de PHP compilada para ejecutarse desde la línea de comandos. La ventaja de hacer esto es que las entradas a su servidor web no se llenan con constantes solicitudes a cron.php. La desventaja es que necesitará tener acceso a una versión de línea de comandos de PHP.
/opt/bin/php /web/moodle/admin/cron.php
Todo lo que hace Cpanel es proporcionar una interfaz web a una utilidad Unix conocida como crontab. Si tiene una línea de comandos, puede establecer el crontab usted mismo usando el comando:
crontab -ey después añadiendo uno de los comandos de arriba, como:
*/5 * * * * wget -q -O /dev/null http://example.com/moodle/admin/cron.phpNormalmente, el comando "crontab" le enviará al editor 'vi'. Se entra en "modo de inserción" presionando "i", después teclee la línea de arriba, luego salga del modo de inserción presionando ESC. Se guardan los cambios y se sale tecleando ":wq", se puede salir también sin guardar usando ":q!" (sin las comillas).
Ahora que Moodle está funcionando de manera apropiada, puede crear un curso.
Seleccione "Crear un nuevo curso" desde la página "Admin" (o desde los enlaces de administración en la página principal).
Rellene el formulario, prestando especial atención al formato del curso. En este momento no tiene que preocuparse demasiado por los detalles, pues todo puede ser cambiado después por el profesor.
Presione "Guardar cambios", aparecerá un nuevo formulario en el que puede asignar profesores al curso. Desde este formulario sólo pueden añadirse cuentas de usuarios existentes, si necesita una cuenta para un profesor debe pedirle al profesor que crée su cuenta él mismo (vea la página de entradas) o créela usted utilizando la opción "Añadir nuevo usuario" en la página Admin.
Una vez hecho esto, el curso está listo para ser personalizado y puede accederse al mismo a través del enlace "Cursos" en la página principal.
Para obtener más detalles sobre la creación de cursos, vea el "Manual del Profesor"
Si le gusta Moodle, por favor considere hacer una donación para ayudarnos a cubrir nuestros costes
Version: $Id$