Esta guía explica cómo instalar Moodle por primera vez. Ahonda en detalles de 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, ¡normalmente yo instalo Moodle en unos pocos minutos!
Tómese su tiempo y lea este documento cuidadosamente, esto le ahorrará tiempo después.
Moodle está desarrollado principalmente en Linux usando Apache, MySQL y PHP (la también denominada plataforma LAMP), aunque es revisado regularmente con PostgreSQL y en en los sistemas operativos Windows XP y Mac OS X y Netware 6.
Los requisitos de Moodle son:
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 otra empresa.
Si quiere instalar Moodle en su propio ordenador y todo esto le parece un poco complicado, entonces vea nuestra guía para 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 en http://moodle.org/download/
Tras descargar y descomprimir el archivo, o revisar los archivos vía CVS, tendrá un directorio llamado "moodle", que contiene varios archivos y carpetas.
Puede tanto colocar la carpeta completa en su directorio de documentos de su servidor web, en cuyo caso el sitio estará localizado en http://suservidor.com/moodle, como copiar todos los contenidos directamente en el directorio principal de documentos del servidor web, en cuyo caso el sitio será simplemente http://suservidor.com.
A continuación hay un breve resumen de los contenidos del directorio Moodle, para ayudarle a orientarse:
config.php - El ÚNICO archivo que necesita editar para empezar a
trabajar
version.php - Define la versión actual del código de
Moodle
index.php - La página principal del sitio
Moodle también necesita algo de espacio en su disco duro para almacenar los archivos que vayan a ser cargados, tales como la documentación de los cursos y las fotos de los usuarios.
Crée un directorio para esto en cualquier parte. Por seguridad, es mejor que este directorio NO sea accesible direcamente 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 all
AllowOverride None
Para asegurarse de que Moodle puede guardar los archivos subidos, en ese directorio, revise que el servidor web (por ejemplo Apache) tiene permiso de escritura en ese directorio. En las máquinas Unix, esto significa establecer que el dueño del directorio sea algo como "nobody" o "apache".
En muchos servidores de alojamiento compartido, probablemente usted tendrá que restringir todo acceso a los archivos de 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.
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 (crackers realmente) descubren la contraseña todo su sistema de base de datos estaría en peligro, en vez de sólo una base de datos.
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 reload
Ejemplo 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
(Para MySQL yo recomiendo vivamente el uso de phpMyAdmin para manejar sus bases de datos. Puede hacer todo ésto mediante una interfaz web.
Desde la versión 1.0.8, Moodle soporta prefijos en las tablas, de manera que puede compartir de forma segura una base de datos con tablas desde otras aplicaciones.
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.htm
Tan 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 sean pasados por 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 on
En 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 = On magic_quotes_runtime = Off file_uploads = On short_open_tag = On session.auto_start = Off session.bug_compat_warn = Off
Si 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).
DirectoryIndex index.php index.html index.htm
<IfDefine APACHE2>
AcceptPathInfo on
</IfDefine>
php_value magic_quotes_gpc On
php_value magic_quotes_runtime Off
php_value file_uploads On
php_value short_open_tag On
php_value session.auto_start Off
php_value session.bug_compat_warn Off
Tambié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
Ahora usted puede editar el archivo de configuración, config.php, usando un editor de textos. Este archivo es usado por todos los otros archivos en Moodle.
Para comenzar, haga una copia de config-dist.php y llámelo config.php. Hacemos esto para que su config.php no pueda ser sobrescrito en caso de que actualice Moodle posteriormente.
Edite config.php para especificar los detalles de al base de datos que acaba de definir (incluyendo un prefijo de tabla - tenga en cuenta que esto lo EXIGE PostgreSQL), así como la dirección del sitio, el directorio archivos de sistema y el directorio de datos. El mismo archivo contiene instrucciones detalladas y ejemplos.
Después de haber hecho esto, el resto de la instalación es mediante una interfaz web. Para el resto de este documento de instalación vamos a asumir que su sitio está en: http://ejemplo.com/moodle
La página de administración debe estar ahora funcionando en: http://ejemplo.com/moodle/admin. Si intenta acceder a la página principal de su sitio se encontrará automáticamente en ella de todas maneras. 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.
(Moodle también intentará poner algunas cookies en su navegador. Si tiene configurado su navegador para avisarle antes de aceptar las cookies, entonces debe aceptar las cookies de Moodle, o Moodle no podrá funcionar de forma apropiada.)
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 estos:
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 que ha definido 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 crée 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). Éstos 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:
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 "pulso" de manera que el script pueda llevar a cabo funciones en determinados períodos definidos para cada módulo.
Tenga en cuenta que al 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.
Usted puede llamar a la página desde una línea de comandos tal como hizo en el ejemplo de arriba. Por ejemplo, puede usar una utilidad Unix como 'wget':
wget -q -O /dev/null http://ejemplo.com/moodle/admin/cron.php
Advierta 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/null
Como 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
(Windows) C:\apache\php\php.exe C:\apache\htdocs\moodle\admin\cron.php
En un sistema Unix: Use cron. Edite las opciones de cron desde la línea de comandos usando "crontab -e" y añada una línea como la siguiente:
*/5 * * * * wget -q -O /dev/null http://example.com/moodle/admin/cron.php
Normalmente, 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).
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".
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"
Version: $Id$