Moodle con Huayra/Linux

Ya se ha discutido sobre estrategias para maximizar el aprovechamiento del servicio web que incorpora Huayra/Linux: Agragar CDPedia, Chamilo y hoy discutiremos como incorporar Moodle (a mi personalmente me gusta mucho más que Chamilo, pero eso es una opinión personal y carente de fundamentos irrebatibles, como la seguridad: se trata de una sensación.. en realidad, y seguimos entre paréntesis, creo que Chamilo directamente no me gusta).

El procedimiento que se seguirá acá, en partes, es muy similar al que se aplico para instalar Chamilo, más allá de que se opte por no instalar Chamilo se recomienda una lectura del artículo.

IMPORTANTE: se debe instalar PHP+MySQL Server

¿Qué necesito?

Una ve más: dar una lectura al artículo sobre la instalación y configuración de Chamilo sobre Huayra.

Una computadora, que actuará de servidor, con Huayra/Linux instalado, se considera (a los efectos del presente documento) una instalación recién concluida.

Si se trata de la versión 2.0 de Huayra (o posteriores, al día de la fecha: 30 de Enero de 2015) deberías leer este artículo antes de continuar.

Descargar la última versión de moodle desde la página web. En el caso de esta guía se obtuvo el archivo moodle-latest-25.zip de unos 40MB.

Instalar PHP + Mysql (¿cómo hago eso?). Verificado que PHP funciona estamos en condiciones de comenzar.

¿Cómo funciona Moodle?

Moodle no es un programa autónomo. Moodle es un entorno PHP+Mysql, funcionando sobre un servicio web. Simplemente se trata de pegar una cierta carpeta en una determinada ubicación. Hecho esto (y por única vez) se inicia (desde un navegador web) la petición de instalación/configuración.

Aclaramos que: si se trata de instalar Moodle en un servidor externo, que será accesible desde internet, se deberían considerar algunas particularidades más, del orden de la seguridad. Pero este no es el caso, este artículo versa sobra la instalación de Moodle en un equipo con Huayra/linux que funcionará dentro de una LAN escolar.

Descarga y ubicación de los archivos

Una vez descargado el archivo moodle se debe descomprimir en cualquier ubicación, en este caso en la carpeta personal del usuario (/home/alumno). Para esto es suficiente con hacer doble click sobre el archivo comprimido y luego indicar donde extraer.

Obtenemos de este modo un directorio moodle (que se encontraba comprimido) en la carpeta personal: /home/alumno, podemos observarlo en la siguiente imagen:

decomprimido

Ahora debemos cambiar esta carpeta de lugar… ¿por qué?, pues porque dentro de ella esta todo “el sistema moodle”, y como comentamos más arriba este recurso es “facilitado” a l@s usuarios por el servidor web… y como también hemos comentado, posiblemente en otro artículo, el servidor web expone sus recursos debajo de la carpeta /var/www.

Por lo tanto: debemos lograr que el directorio moodle se ubique debajo de www. Para ello debemos “mover” este directorio, lo hacemos del siguiente modo (de nuevo con un terminal)(*):

cd
sudo mv moodle/ /var/www

(*) con el comando cd; logramos “cambiar de directorio”, nos posicionamos en la caprta personal del usuario (el que haya instanciado este comando); para nuestro caso nos posicionamos en la carpeta /home/alumno.

El comando mv, permite mover un archivo o carpeta a otra ubicación. En este caso el “destino” del directorio que queremos trasladar, es la ubicación /var/www. Ya se ha dicho en reiteradas oportunidades (pero posiblemente Ud. recién se suma a las lecturas del Blog y por eso se repite): el usuario alumno NO tiene permiso de escritura en la ubucación /var/www. Por lo tanto, precediendo el comando mv con la instrucción sudo, logramos de este modo que la tarea se realice con la “identidad de root” (privilegio de superusuario).

Ya está!!! ya tenemos la carpeta moodle debajo del directorio www; y con esto es suficiente para que sea “alcanzable” por un navegador web… pero hay un detalle, que por pequeño no es poco importante (se ha discutido aquí, queda invitado a la lectura).

Debemos entonces modificar el propietario y grupo de la carpeta /var/www/moodle para que pueda funcionar con el servidor web. Este directorio, y todo su contenido debe ser propiedad del usuario www-data y del grupo con igual nombre.

hacemos lo siguiente(*):

cd /var/www
sudo chown -R www-data:www-data moodle

cambiandoGrupoPropietario

 (*) cd /var/www permite cambiar directorio pero, a diferencia de la última oportunidad en que lo hemos utilizado, esta vez va sucedido de un argumento (que es una ruta de archivo). Ese argumetno indica a que directorio queremos cambiar. Por lo tanto con ese comando y su argumento nos desplazamos al directorio www.

chown permite modificar propietario y/o grupo (nuevoPropietario:nuevoGrupo). Este comando NO modifica permisos, SINO titularidades. Con el parámetro -R, el comando se aplica de forma recursiva. Esto significa que se hace efectivo en todos los hijos de moodle (es decir todos los sub directorios y archivos) y por último: anteponiendo sudo logramos que la tarea sea realizada con privilegios de super usuario.

 Ahora si, tenemos moodle descargado, descomprimido, ubicado en el lugar correspondiente y con los directorios y archivos que corresponde con la titularidad necesaria.

Instalación/Configuración

Declaración previa

Primero, se reitera: el equipo servidor de nuestra red puede ser accedido por dirección IP o por nombre de host, lo que podemos hacer aprovechando las ventajas del demonio avahi.

¿Ventajas? nos despreocupamos de la configuración de red, si es por IP fija o dinámica, además evitamos entrar en el embrollo de explicar a nuestr@s compañer@s y estudiantes conceptos inhumanos como una dirección IP, segmentos de red, etc.

¿Desventajas?… no se me ocurre ninguna, si por ahí una dificultad: si no contamos con un servicio DNS, la única forma de acceder a nuestro equipo por nombre de host es aprovechando las ventajas de avahi, y este demonio solo corre en sistemas operativos GNU/Linux (serios, diría un amigo mio). Por lo tanto debemos garantizar que se accede a este recurso navegando desde algún GNU/Linux… ¿una buena oportunidad de capitalizar (una vez más) las ventajas de utilizar Huayra/linux en nuestra escuela…? ¿no?

Bueno, ahora debe elegir Ud. por cuál de las dos opciones se inclina… creo que está de más que recomiende yo en este párrafo.

De aquí en adelante yo utilizaré nombre de host para identificar un equipo en la red, y  el equipo que estoy utilizando para estas pruebas “ha sido nombrado”: huayra-nicolas (¿cómo modifico el nombre de mi equipo?). Por lo tanto si Ud. desea utilizar su dirección IP, en lugar del nombre de equipo deberá utilizar la correspondiente IP (desde ya que su red debe tener un esquema de IP fija para el equipo servidor).

Para poder configurar moodle de modo que quede operativo utilizamos un navegador web y en la barra de direcciones escribimos la ruta a la carpeta moodle:

http://huayra-nicolas.local/moodle                 (o su IP/moodle)

Observamos algo así:

elegirIdioma

Estamos en marcha, se selecciona el idioma (NOTA: advierto que si elijo el idioma español argentina ocurre una excepción, que de la rápida lectura que le doy, parecería tiene su origen en la falta de algún componente para ese idioma… lo evito eligiendo español universal) y continuamos, ahora debemos definir las rutas: tanto la ruta (url) como será accedido el servicio dentro de la LAN como la ruta a la carpeta donde moodle para administrar los archivos subidos.

Podemos observar la siguiente captura antes de continuar comentando particularidades:

definirRutas

 En primer lugar: no se puede modificar aquí la URL de acceso al servicio, justamente el sistema de instalación esta leyendo la URL con la cuál ud. esta trabajando. Si desea modificarla deberá reiniciar la instalación, escribiendo correctamente la URL.

En segundo lugar: podemos observar que nos solicita definir permisos para la carpeta /var/moodledata (esta es la carpeta donde moodle administra las subidas de archivos).

Esta carpeta debe ser creada por Ud. ahora, pero además de crearla debemos asignar propietario y grupo, del mismo modo en que lo hemos hecho en el punto anterior con /var/www/moodle. Entonces, desde un terminal (*):

cd /var
sudo mkdir moodledata
sudo chown www-data:www-data moodledata

(*) cd /var nos posiciona en el directorio /var (ojo: hasta aquí como usuario=alumno)

mkdir crea un directorio, pero como en esta ubicación el usuario alumno no tiene permisos de escritura, debemos anteponer sudo (para poder ejercer esta acción con permisos de superusuario)

sudo chown ya se explicó en el paso anterior,  en un enorme esfuerzo de síntesis y no simplemente por pereza, se remite a la lectura.

Si se omite esta última acción nos encontraremos con una leyenda como la siguiente:

problemaPermisos

Supongo el problema de permisos y creación de la carpeta moddledata ha sido ya subsanado, continuemos…

Ahora empezamos a definir algunos aspectos administrativos del sitio:

administracion02

 administrador

 A continuación las definiciones para la base de datos, para nosotros MySQL:
basedatos02Tanto el usuario y la contraseña para conectarse con la base de datos ha sido ya definida.

Tanto el nombre para la base de datos, como el prefijo para las tablas no veo ninguna razón para modificarlo.

(** ver nota al pie de página sobre este tema)

Aceptamos condiciones y verificamos que todo este OK.

confirmaconfirmacion02

Y con todo esto ya esta nuestro moodle funcionando en el servidor Huayra:

fuincionando

 Esto ha sido todo en materia de instalar y poner a funcionar Moodle sobre Huayra…

Será motivo de alguna otra intervención los aspectos de operabilidad de esta maravillosa plataforma.

Saludos!!! y ojalá sirva

 ————————————

(** nota sobre configuración base de datos)

Revisando el instructivo observo algo bastante inconveniente: usamos el usuario root de mysql para la aplicación moodle.

Esto no es en verdad recomendable, ¡Qué hacer entonces???

1) crear la base de datos moodle manualmente

desde un terminal ejecutamos el interprete de órdenes mysql:

mysql -u root -p

mysql inicia el interprete; -u root (porque hasta el momento el único usuario con el que contamos es root). A continuación nos pide la contraseña (la hemos elegido durante la instalación)

2) asignarle un usuario con permisos expcusivamente para esa base de datos

ahora creamos la base de datos, la llamaremos moodle:

create database moodle;

A continuación creamos un usuario que tenga, para esa base de datos (y todas sus posteriores tablas) TODOS los permisos:

grant all on moodle.* to 'usuarioMoodle'@'localhost' identified by 'miContraseñaMoodle';

Listo, ahora en la ventana indicamos los datos correspondientes

Deja un comentario

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