Itinerario
- ¿Qué es Moodle?
- Cumpliendo requisitos de Moodle
- Configuración MySQL
- Preparando instalador de Moodle para ser ejecutado
- Proceso de instalación de Moodle (mediante interfaz Web)
- Proceso de Configuración y Adaptación de Moodle
- Creación de Usuarios
- Crear Cursos
- Matricular usuarios en cursos
- Seleccionar tema visual para la plataforma
- Incluir logo de la institución en la plataforma
- Crear Backups del estado actual de la plataforma
¿Qué es Moodle?
Moodle es una plataforma de código abierto desarrollada en PHP con el motor de bases de datos MySQL. Dicho software esta dedicado a la enseñanza online permitiendo crear y gestionar cursos/asignaturas, mientras que alumnos pueden consumir los contenidos de los cursos en los que están matriculados.
Cada usuario independientemente de su rol (sea docente, alumno o admin), tiene una credencial de acceso al sistema.
Dentro de cada curso el docente que posea los permisos podrá gestionar el material que visualizan los alumnos, recursos externos y además tiene la posibilidad de generar instancias de “Tarea”, en la cual el estudiante debe subir el trabajo realizado antes de una determinada fecha.
Entonces, Moodle es un Gestor de Contenidos (CMS), esto quiere decir que el usuario es el encargado de agregar/modificar/borrar contenidos en la plataforma, por otro lado existen muchos CMS open source que pueden ser instalados en nuestro servidor o hosting.
Cumpliendo requisitos de Moodle
Para implementar el servicio principal que sera nuestra plataforma educativa, primero deberemos cumplir con los requisitos de este CMS:
-
PHP 7
- Dependencias del lenguaje PHP (necesario dado que el Back-End de este CMS está construido en este lenguaje).
-
MySQL (en su versión mas reciente)
- Motor de base de datos donde se almacenara la información generada con el CMS.
-
Apache2
- Para brindar servicios web.
Para cumplir con estos requerimientos instalaremos el siguiente software con nuestro gestor de paquetes:
apache2 mysql-server php7.2 php7.2-curl php7.2-zip php7.2- mysqli php7.2-xml
En caso de que nuestro Ubuntu Server no tenga los repositorios de php, deberemos agregarlos de esta manera:
add-apt-repository ppa:ondrej/php
add-apt-repository universe
Configuración MYSQL
Para poder implementar Moodle, deberemos crear una base de datos y usuario en MYSQL al que daremos todos los permisos necesarios para que la plataforma Moodle pueda realizar toda su gestión de datos.
Para esto haremos lo siguiente:
mysql -u root -p
Con esto accedemos como root a nuestro servicio y podremos ejecutar sentencias SQL.
Es importante tener en cuenta que para todas las sentencias SQL que vayamos a ejecutar en el servidor deberemos poner al final un punto y coma.
Una vez hecho esto deberemos crear una base de datos:
create database moodle;
Luego procederemos a crear el usuario y darle los privilegios:
create user ‘admin’@’%’ identified by ‘clave’;
grant all privileges on moodle.* to ‘admin’@’%’ identified by ‘clave’;
Con esta ultima sentencia damos todos los privilegios posibles al usuario admin, pero solo para la base de datos moodle (en todas sus tablas). Con el comodín % especificamos que estos privilegios se aplican para el usuario conectándose desde cualquier red (además de la red LAN).
Para finalizar haremos un volcado de privilegios y saldremos del prompt de mysql:
flush privileges;
exit
Preparando instalador de Moodle para ser ejecutado
Para proceder con la instalación de Moodle deberemos descargar dicha plataforma haciendo lo siguiente (posiblemente al momento de ver esta guía exista una versión más reciente):
wget https://download.moodle.org/stable35/moodle-3.5.2.tgz
Los archivos tgz (al igual que los tar.gz y tar.bz2) son archivadores que empaquetan conjuntos de archivos, con el comando tar y algunos parámetros podemos operar con ellos fácilmente.
En este caso particular ejecutaremos el siguiente comando:
tar -xzvf moodle-3.5.2.tgz
Con cada uno de los parámetros especificados hacemos lo siguiente:
- x – Extraer (si no especifico ruta lo extrae en la que estoy posicionado)
- z – Se utiliza para especificar el formato (en este caso GZIP)
- v – Muestra todas las operaciones que realiza
- f – Nombre y ruta del archivo a desempaquetar (o a crear, en el caso de estar empaquetando).
Ahora hay que colocar la carpeta moodle que resulta de esa descompresión, en el directorio/var/www/html .
cp -r moodle /var/www/html/moodle
También deberemos crear el directorio donde moodle almacenara toda su información (además de lo guardado en la base de datos).
mkdir /var/moodledata
Debemos ceder ciertos permisos para poder ejecutar la plataforma por primera vez e instalarla:
chown -R www-data /var/moodledata
chmod -R 755 /var/www/html/moodle
Para finalizar otro detalle que puede ser molesto es tener que agregar el “/moodle” al final de la dirección, por lo cual procederemos a simplificarlo, ya que el servicio principal de nuestro servidor sera Moodle.
Entonces esto deberemos editar el fichero /etc/apache2/sites-enabled/000-default.conf
Aquí el valor del parámetro DocumentRoot deberá ser el siguiente:
DocumentRoot /var/www/html/moodle
Dado que es allí donde esta nuestra carpeta de Moodle.
Para finalizar reiniciamos el servicio apache:
service apache2 restart
Proceso de instalación de Moodle (mediante interfaz Web)
Ahora una vez finalizado lo anterior, si entramos en nuestro navegador (desde un cliente remoto en la LAN), podremos encontrarnos con lo siguiente:

No es necesario colocar al finalizar la url el “/moodle”, y nos encontramos que ya esta disponible el proceso de instalación mediante interfaz web de la plataforma.
Simplemente escogemos el idioma y continuamos.

Nos muestra el directorio de moodle (que ya preconfiguramos) y la dirección web impuesta en el servidor DNS.
Importante: Nuestro directorio de datos con permisos es /var/moodledata (el cual deberemos poner en el 3er campo).


Ahora deberemos escoger el motor de base de datos, el cual sera MySQL. Luego debemos configurar la instancia de conexión con la base de datos.
- Nuestra database sera moodle (ya que creamos una con ese nombre).
- Nuestro user admin (ya que ese es el que creamos y le asignamos permisos).
- La clave correspondiente al usuario
- El puerto por defecto que utiliza MySQL es 3306 (en ningún momento lo cambiamos).
Generalmente Moodle luego de este paso genera un archivo de configuración PHP, el cual guarda en el directorio donde están todos sus archivos (/var/www/html/moodle).

En mi caso particular sucedió esto, por lo cual deberemos seleccionar todo el contenido y guardarlo en el siguiente fichero:
/var/www/html/moodle/config.php
Una vez terminado este paso nos aparece una pantalla en la cual debemos leer detenidamente los términos y condiciones de la licencia GNU de esta plataforma, si estamos de acuerdo continuamos (obviamente).
Luego de creado el config.php es fundamental ver el parámetro wwwroot, el cual debe contener nuestra direccion ip publica + puerto para que nuestra plataforma sea accesible desde internet (en caso de no tener ip estática, podemos utilizar un NoIP o un DynDNS).

Ahora la pantalla nos muestra que librerías tenemos de php funcionando OK, y cuales nos faltan o debemos revisar. En caso de que nos falten paquetes de PHP deberemos instalarlos tal como lo pide esta pantalla, luego reiniciar el servicio apache2 y hacer el proceso de instalación desde 0.
En mi caso voy a instalar los siguientes paquetes:
php7.2-gd php7.2-intl php7.2-mbstring php7.2-xmlrpc php7.2-soap
Un pequeño TIP a tener en cuenta es que todos los nombres de las librerías de php se conforman por PHP + Versión + – [nombre librería].
A continuación nos aparece una pantalla en la que se cargan todos los módulos relacionados a la plataforma (simplemente esperamos a que carguen y continuamos).
Luego la siguiente pantalla nos solicita datos sobre el usuario admin (que son mas bien opcionales).


En esta pantalla que vemos lo más importante a resaltar es si queremos habilitar el registro abierto a cualquier usuario de la web, o si deseamos administrar nosotros unicamente los usuarios existentes (En mi caso no permito que se registre nadie).
Una vez logrado todo este proceso finalizamos la instalación de la plataforma, y ahora pasamos al siguiente procedimiento, que es el de configuración y adaptación de la misma a nuestras necesidades.
Proceso de Configuración y Adaptación de Moodle
Antes que nada quiero aclarar que mantener una plataforma de este tipo lleva toda una labor compleja, mas allá de que la misma nos facilite todo por interfaz web.
Decidí hacer esta acotación porque Moodle realmente es una plataforma con mucho potencial, y el post se haría mucho más largo para detallar todas las posibilidades que la misma nos brinda, por lo cual me voy a limitar a detallar los ítems más indispensables para poder implementar la misma y que sea funcional a nuestro propósito.
En este manual de implementación vamos a centrarnos en lo siguiente:
- Crear usuarios
- Crear cursos
- Matricular usuarios en cursos
- Seleccionar tema visual para la plataforma
- Incluir logo de la institución en la plataforma
- Crear Backups del estado actual de la plataforma
Ahora si algún usuario intenta acceder vía ip de nuestro servidor web, tendrá la posibilidad de loguearse.
Estando autenticados como admin, deberemos acceder a la solapa Administración del sitio y nos aparecerán las siguientes posibilidades:

Creación de Usuarios
En si no nos va a interesar tanto en esta instancia la solapa “administración del sitio”, pero vamos a ir a “Usuarios” y crear algunos alumnos y docentes.

Si ingresamos en la opción de “agregar un usuario” tendremos la siguiente interfaz:
Curiosamente podemos escoger método de autenticación (entre los que esta la posibilidad de usar un servidor LDAP.
Al editar un usuario podemos suspenderle la cuenta (en caso deba una determinada cantidad de cuotas).
Luego de agregar los usuarios podremos visualizarlos a todos y buscar entre ellos inclusive con filtros.


Crear Cursos
Si nos dirigimos a Administración del sitio >> Cursos >> Administrar cursos y categorías
Aquí podremos gestionar tanto los cursos, como las categorías que los engloban.

Aquí ya me encargue de borrar los datos que vienen por default y crear algunas categorías.
Ahora voy a generar algunos cursos referentes a Tecnología (haciendo click en esta categoría).
Al generar un nuevo curso, la base de datos nos permite ingresar la siguiente información:

Otros aspectos que podemos ingresar son:
- Imagen de resumen del curso (supongo que la deben usar para mostrar el temario)
- Tamaño max de los archivos que puedan subir los alumnos

Así podemos repetir el proceso con el resto de los cursos de las otras categorías.
Matricular usuarios en cursos
Ahora algo que nos interesa es poder matricular de manera rápida a todos los alumnos que se inscribieron en nuestro curso.
Para esta implementación de prueba iremos a Administración del sitio >> Cursos >> Administrar cursos y categorías >> [Escogemos la categoría del curso] >> [Escogemos el curso al que debemos matricular estudiantes].
Luego entramos en Usuarios matriculados, y accedemos a uno de los dos botones de Matricular usuarios:

Entonces nos aparecerá la siguiente interfaz:

Podemos ir seleccionando a los estudiantes, dándoles su rol correspondiente (así que también podemos matricular docentes al curso), también podemos escoger el inicio del curso (el cual seteamos al crear el mismo).

Para finalizar aquí tenemos la lista de usuarios matriculados al curso, los cuales podemos filtrar en caso de tener muchos.
Seleccionar tema visual para la plataforma
Si nos dirigimos a Administración del sitio >> Temas >> Selector de Temas , tendremos la posibilidad de cambiar la visual de nuestra plataforma.

Podemos asignar un tema visual distinto según en que dispositivo se use la plataforma.
Incluir logo de la institución en la plataforma
Si nos dirigimos a Administración del sitio >> Apariencia >> Logotipo , tendremos una interfaz para subir el logo de la institución educativa:

Con esto logramos darle imagen institucional a nuestra implementación de Moodle.
Crear Backups del estado actual de la plataforma
Algo muy importante es poder hacer respaldos de toda la información que manejamos en nuestro Moodle, para mayor seguridad.
Si ingresamos en Administración del sitio >> Cursos >> Copias de Seguridad >> Copia de Seguridad programada :

Nos encontraremos que Moodle tiene la posibilidad de hacer respaldos los días de la semana que deseemos, a la hora escogida, en el directorio que las necesitemos y también teniendo la posibilidad de borrar los respaldos mas viejos, para que no se nos llene el disco duro.