Moodle 1.8.1 en Debian 4.0 Etch

Debian Etch incluye en sus repositorios el paquete Moodle en su versión 1.6.3. Si deseamos instalar la última versión estable, que hoy es la 1.8.1., debemos hacerlo sin ayuda del instalador Sinaptic.

La cosa no es compleja, pero hay varios recovecos en los que podemos quedarnos atascados. Este método funcionará también en otras distribuciones basadas en Debian, como Ubuntu, Max o Guadalinex. Vayamos por partes.

1. Instalar programas necesarios.

Moodle necesita tres elementos para funcionar: un servidor web (emplearemos Apache), una base de datos (utilizaremos MySQL) y un intérprete de PHP (en nuestro caso PHP5).

Los instalaremos utilizando Sinaptic (Escritorio > Administración > Gestor de paquetes Sinaptic). Para ello los buscamos (arriba a la derecha), los seleccionamos haciendo doble clic, aceptamos los cambios adicionales requeridos (dependencias), y cuando terminamos de seleccionar, le damos a aplicar (arriba, un poco más a la izquierda). El sistema descargará e instalará lo necesario. Los paquetes que debemos instalar son:

A) apache2

Sinaptic nos señalará sus dependencias, a saber: apache2-mpm-worker, apache2-utils apache2.2-common, libapr1, libaprutil1, libpq4, libsqlite3-0.

B) mysql-server

Sus dependencias: libbdb-mysql-perl, libdbi-perl, libmysqlclient15off, libnet-daemon-perl, libplrpc-perl, mysql-client-5.0, mysql-common, mysql-server-5.0

C) php5

Sus dependencias: apache2-mpm-prefork, libapache2-mod-php5, php5-common

D) php5-mysql

E) php5-curl

F) php5-gd

Sus dependencias: libgd2-xpm, libt1-5.
2. Descargar Moodle 1.8.1

Lo haremos desde la página oficial: http://download.moodle.org/

Elegiremos la versión en formato .tgz, que es la nativa para GNU/Linux.

3. Reubicar Moodle y descomprimirlo

El servidor web Apache sólo muestra las páginas web contenidas en una carpeta, concretamente en /var/www. Por eso debemos trasladar el archivo que hemos descargado a esa carpeta. En esa carpeta, como en todas las importantes para el sistema, sólo puede escribir el administrador. Si no queremos copiar a través de la terminal, podemos simplemente abrir una terminal de root (Aplicaciones > Accesorios > Terminal de root) y escribir “nautilus” (sin las comillas). Se nos abrirá una ventana del navegador de archivos con permisos de administrador.

Vamos en esta ventana con permisos de administración a /var/www (le damos a subir hasta llegar al directorio raíz, y ahí buscamos /var, y dentro de él /var/www).

Arrastramos el paquete desde el escritorio hasta /var/www.

Descomprimimos el paquete .tgz (botón derecho > Extraer aquí). Nos aparecerá una carpeta llamada “Moodle”. Podemos borrar el paquete .tgz, aunque no es necesario.

4. Crear una base de datos para Moodle

Para ello abrimos una terminal de root (recuerda: Aplicaciones > Accesorios > Terminal de root) y escribimos “mysql” (sin comillas). Ahora estamos trabajando en MySQL. Escribimos este comando para crear una base de datos para Moodle. No te preocupes: será la única vez que manejes la base de datos, porque funcionará sin que te des cuenta. El comando en cuestión:

CREATE DATABASE moodle DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;

Nos dirá que vale. Hemos creado una base de datos llamada “moodle”. Ahora vamos a crear un usuario con autorización apra hacer y deshacer en ella:

GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP,INDEX,ALTER ON moodle.*
TO moodleuser@localhost IDENTIFIED BY ‘yourpassword';

Ojo: el programa en el que estoy escribiendo esto transforma automáticamente las comillas simples en comillas simples tipográficas, de modo que es posible que si se copia y se pega haya que borrarlas en la terminal y volverlas a escribir.

Donde pone “moodleuser@localhost” podemos poner “paquitoelchocolatero@localhost”. Será el nombre del propietario de la base de datos. Por supuesto, donde pone ‘yourpassword’ podemos poner la contraseña que queramos.

Por último, salimos de MySQL escribiendo:

quit

5. Ejecutar el instalador de Moodle (install.php)

Abrimos un navegador y nos dirigimos a la dirección: http://localhost/moodle/install.php

Como ya se habrá intuido, “localhost” es nuestro propio equipo, concretamente la carpeta que se comparte mediante el servidor web (recuerda el paso 3: /var/www). El instalador, por tanto, se encuentra dentro de la carpeta “moodle” que está en /var/www.

Explicaciones aparte, el caso es que escribimos en la barra de direcciones de un navegador (yo he probado con Iceweasel y con Firefox, que es lo mismo). Nos irá haciendo una serie de preguntas que, o bien sabremos contestar, o bien están bien con las opciones por defecto.

Nos surgirá un error: “El ‘Directorio de Datos’ no pudo ser encontrado o creado. Corrija la ruta o cree el directorio manualmente”. Debemos crear como root la carpeta /var/moodledata y dar permisos de escritura a todo el mundo. Para crear una carpeta como root (administrador) seguimos el procedimiento del paso 3 para tener una ventana del navegador de archivos con permisos de administración (Aplicaciones > Accesorios > Terminal de root y escribir “nautilus”), y luego: botón derecho > Crear nueva carpeta > renombrarla como “moodledata”.

Para cambiar los permisos de la carpeta: botón derecho sobre ella > Propiedades > Pestaña “Permisos” > activar todas las casillas (lectura, escritura y ejecución).

Volvemos a cargar http://localhost/moodle/install.php en el navegador. Es posible que sea necesario vaciar el caché (en Iceweasel o Firefox: Herramientas > limpiar información privada).

En la pantalla en la que elegimos base de datos para Moodle, dejamos MySQL y metemos el usuario (lo de paquitoelchocolatero@localhost, pero sin @localhost) y la contraseña que creamos al hacer la base de datos (paso 4).

Tendremos otro error: “El script instalador no ha podido crear automáticamente un archivo config.php con las especificaciones elegidas. Por favor, copie el siguiente código en un archivo llamado config.php y coloque ese archivo en el directorio raíz de Moodle”. Pues lo hacemos, descargamos el archivo y lo trasladamos desde el escritorio, donde estará después de descargarlo, hasta la carpeta /var/www/moodle, siguiendo el procedimiento del paso 3 (es decir, como root).

6. Modificar config.php

La línea:

$CFG->wwwroot = ‘http://localhost/moodle';

debe incluir la IP de nuestro servidor, así:

$CFG->wwwroot = ‘http://192.168.0.89/moodle';

Si no sabemos cual es la IP de nuestro equipo, podemos verla en Escritorio > Administración > Red. Si tenemos IP dinámica, es mejor (no sé si imprescindible) cambiarla por una IP fija.

Así, para entrar desde otro equipo de nuestra red escribiremos en el navegador:

http://192.168.0.89/moodle

7. Disfrutar de Moodle

En otro artículo explicaré cómo hacer que nuestro servidor se vea desde fuera de nuestra red local, para lo que hay que modificar la configuración del router, y, casi seguro, buscar una estrategia para que nuestra IP dinámica exterior funcione como una IP fija.

Para hacer esta guía he utilizado las indicaciones sobre instalación de la página oficial de Moodle, adaptándolas al caso.

Publicado en Linux
8 Comentarios en “Moodle 1.8.1 en Debian 4.0 Etch
  1. Jorge dice:

    Hola Felipe
    gracias por tu procedimiento
    Me gustaría si me pudieses contestar una pregunta:
    cuando desde el navegador marco http://localhost/moodle/install.php me indica que es un script en php y me pregunta que deberia hacer iceweasel con ese archivo. Quizas sea un pregunta estupida, hace muy pocos días que me introducido en el debian. Llevo un par de días con el asunto y me he decidido a preguntarte
    muchas gracias
    saludos
    Jorge

  2. Jorge:

    No recuerdo que el navegador me preguntase nada por el estilo. ¿Qué opciones te ofrece?

  3. abraham dice:

    Hola.. te felicito por tu articulo… es claro y directo. Tengo un problema… mis usuarios no pueden registrarse y en todo momento me sale un error de que no hay conexion con el servidor… problemas con la carpeta /localhost/moodle/login/index.php y para registro con sign…. cual seria el problema?…. he abierto el puerto de corta fuego… he desahabilitado selinux…. gracias…

  4. leginario dice:

    Buenos dias, tu articulo fue de gran ayuda para la instalacion del moodle solo que ahora necesito ayuda para que otros usuarios tanto de mi red local como de otra parte puedan accesar a moodle, entro desde mi red local pero moodle aparece totalmente desconfigurado como le hago para que se vea bien tal cual como esta en el servidor te agradeceria si me puedes ayudar a configurarlo.

    28 de marzo de 2008

    Éste es el hilo en el que a mí me ayudaron a resolver el problema que tienes tú ahora. Espero que te sirva:

    http://moodle.org/mod/forum/discuss.php?d=50839#p232229

    Saludos

  5. Tabare dice:

    MUCHAS GRACIAS!!!

    Un abrazo
    Tabare

  6. Jesus dice:

    Hola mira e seguido tus pasos y cuando le doy al install.php me sale una ventana diciendo k no tengo ninguna aplicacion para abrirlo k si kiero k lo descargue como puedo hacer para abrir bien el php?
    Saludos

  7. Lo siento, no sé ayudarte. A mí me pasa eso de vez en cuando con la página de Ubuntu-es, pero al rato vuelve a funcionar y no he averiguado los motivos.

    Suerte :)

  8. jesus dice:

    Hola ya solucione eso y fue poniendo la direccion de mi IP en vez de localhost. Ahora sale el siguiente error:
    Missing file: /var/www/moodle/lib/adodb/drivers/adodb-mysql.inc.php

    ADONewConnection: Unable to load database driver ”

    Fatal error: Call to a member function SetFetchMode() on a non-object in /var/www/moodle/install.php on line 166

    He mirado por ahi y me dice que esque faltan permisos al usuario de la base de datos pero le e puesto todos y sigue asi. Mi base de datos se llama mysql x si acaso influyera y no tengo ninguna mas.
    En la linea del install.php k me dice el error pone lo siguiente:
    $db->SetFetchMode(ADODB_FETCH_ASSOC);

    Saludos

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos necesarios están marcados *

*

Puedes usar las siguientes etiquetas y atributos HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>