Instalar mi primer Moodle

Este árticulo es continuación de Mi primer servidor.

Cuando hablamos de Moodle  debe entenderse que hay dos partes muy claras: una es instalarlo en un servidor y mantenerlo a nivel de sistema, y la otra es administrar su uso diario. Instalarlo y mantenerlo es relativamente sencillo y será el objeto del presente artículo. No es nuestro objetivo aquí ni administrar los cursos ni utilizarlo como profesor, solo instalarlo adecuadamente.

En cambio administrar los cursos Moodle en un Centro educativo es mucho más complejo debido a la enorme potencial que tiene, sin duda es conveniente realizar algún curso específico, de otra forma será muy complicado para la persona encargada. Además debe tenerse en cuenta que deberán hacerse  cursos al profesorado que lo vaya a utilizar pues tampoco es inmediato su uso. En resumen este potente programa de cursos virtuales precisa de una planificación para su implementación pero tiene un impresionante  nivel y reconocimiento, sin duda una de la grandes joyas del Free Software Mundial.

Vamos, pues, con la instalación que es lo más sencillo. Suponemos el servidor dinámico preparado y en funcionamiento. Tal como se ha comentado este árticulo es continuación del titulado: mi primer servidor.

Recordemos la instrucción para instalar el php necesario para Moodle es la siguiente y que en principio ya hemos instalado:

$ sudo apt install apache2 libapache2-mod-php php php-json php-mbstring php-zip php-gd php-xml php-curl php-mysql php-xmlrpc php-intl php-json php-cli php-imagick php-phpseclib php-php-gettext php-common php-imap php-bz2 php-gmp php-soap

Además, se aconseja instalar para poder ver  pdf, esquemas, etc.
 
$ sudo apt install graphviz aspell ghostscript clamav

Debe editarse el fichero php.ini

#  nano /etc/php/8.2/apache2/php.ini
 
Y dejar  la variable "max_input_vars" con un valor mínimo de  5000

 max_input_vars =5000
 
 Observar la como se ha dejado en la imagen:

 
Ahora debe reiniciarse el apache para que el cambio se lleve a efecto.

# /etc/init.d/apache2 restart

 Si no se efectúa el proceso anterior, podréis observar como durante el proceso de  instalación de Moodle se para y os pide que lo hagáis.

Descargar el Moodle en formato comprimido zip o tgz desde la web, en los trabajos en Linux siempre escogemos la compresión en tgz:


Escogemos el fichero en formato zip o tgz según preferencia.




 
Obtendremos un paquete que tendrá aproximadamente el siguiente  nombre "moodle-latest-403.tgz", ya que este va cambiando según la versión estable.

Desde el directorio  Descargas el copiamos el fichero comprimido a al directorio
 /var/www/html/

  $ cd Descargas
 
 $ sudo cp moodle-latest-403.tgz /var/www/html/

A continuación lo descomprimimos, que en el nuestro caso sera:

$ sudo cd /var/www/html

$ sudo unzip moodle-latest-403.tgz

El habrá creado un carpeta moodle en la dirección /var/www/html/moodle.
También debemos crear la carpeta /var/www/moodledata. Vigilar esta carpeta esta fuera al mismo nivel que la carpeta html y, por tanto, no será accesible desde Internet, este detalle es importante ya contiene los datos más sensibles del propio programa.

 $ sudo chown -R www-data:www-data /var/www/html/moodle

 $ sudo chmod -R 775 /var/www/html/moodle
 $ sudo  mkdir /var/www/moodledata
  
 $ sudo chown www-data /var/www/moodledata


Recordamos que Moodle requiere PHP 7.4, y como gestor de bases de datos: MariaDB 10.4 o MySQL 5.7 o Postgres 12 o MSSQL 2017 o Oracle 19c.

Ahora debemos crear la base de datos Moodle en MariaDB y asignarle un usuario con contraseña. Recordar que ya lo tenemos todo instalado y estamos  partiendo de la explicación hecha en el artículo Mi primer servidor.  Para entrar en la base de datos podemos utilizar cualquiera de los dos usuarios que hemos definido como administradores y  crear una base de datos con el nombre Moodle.

$ sudo mysql -u phpmyadmin -p
O bien;
$ sudo mysql -u root -p


> CREATE DATABASE Moodle DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;

Ahora daremos todos los privilegios sobre la base de datos Moodle al usuario que hemos venido utilizando desde el principio que es phpmyadmin con su contraseña.


> GRANT ALL PRIVILEGES ON Moodle.* TO 'phpmyadmin'@'localhost' IDENTIFIED BY 'contraseña_escogida';

> FLUSH PRIVILEGES;

> EXIT;

Ahora si accedemos a phpmyadmin  http://localhost/phpmyadmin  y podemos observar la base de datos que hemos creado.



















 
 
 
 
Recordemos que en el artículo anterior sobre mi primer servidor ya hemos añadido el usuario phpmyadmin y le hemos dado todos los privilegios para poder instlar progrmas y crear bases de datos. A continuación, para instalar el programa abrimos el navegador y escribimos la URL siguiente:

 http://localhost/moodle/install.php

Y seguiremos las instrucciones. Es importante interpretar bien lo que tiene que ir en cada casilla; sobretodo en lo que se refiere a la base de datos creada anteriormente.



















Ponemos las direcciones web en nuestro del servidor local, ya vienen puestas por defecto.
- Dirección web : http://localhost/moodle
- Directorio moodle: /var/www/html/moodle
- Directorio de datos: /var/www/moodledata



Importante: dos aspectos el nombre de la base de datos debe coincidir exactamente con la que hemos creado anteriormente (Moodle) y el usuario con el que hemos definido (phpmyadmin) junto con su contraseña, y el resto de deja tal como propone.

- Escoger el tipo de base de datos MariaDB.
- Servidor de la base de datos: localhost
- Nombre de la base de datos: Moodle
- Usuario de la base de datos: phpmyadmin
- Contraseña de la base de datos: la que se ha puesto en la instrucción superior
- Prefijo de las tablas: mdl_ suele dejarse como se indica por defecto, aunque 
  puede cambiarse.
- Puerto de datos: en blanco
- Socket Unix: en blanco
 
Si no se ha escogido bien la base de datos MariaDB y se ha dejado por defecto mysql se puede cambiar sin problemas accediendo al fichero config.php correspondiente de Moodle (/var/www/html/Moodle/config.php).

 
Aquí se definirá el usuario, la contraseña de acceso al administrador del sitio. Como en toda la serie hemos utilizado como usuario "phpmyadmin" lo podemos continuar utilizado o cambiarlo, aquí la contraseña nos obligará a poner alguna mayúscula, algún número y algún signo como (-,_, *).

- Nombre de usuario moodle:  phpmyadmin, aquí se puede poner el nombre que se quiera como administrador del sitio Moodle.

- Nueva contraseña:  contraseña_escogida.

Si queremos que este usuario phpmyadmin tenga acceso a todas las bases de datos del sistema será necesario entrar a localhost/phpmyadmin con el usuario root que ya disponemos y concedérselos.
 
El resto podéis escoger lo que os parezca, está claro que, si al final no os parece bien, esto se puede cambiar en la administración de Moodle de forma sencilla.


Ahora se nos pedirá el nombre del sitio web que estamos creando y la información del mismo, aspectos muy importantes a tener claros. El nombre del sitio es fundamental.




Todo el proceso es un poco largo dado que es mucha información importante  que ha de crearse en las bases de datos.


Copia de seguridad

Es absolutamente imprescindible tener previsto como hacer copias de seguridad de las bases de datos por lo menos una vez al día o una vez por semana, dependiendo de la actividad que tenga el sitio, pues sería un desastre de proporciones monumentales perder toda la información que se acumula en un sitio como este, por muy bueno y seguro que sea el servidor del que se dispone.
 
Phpmyadmin os permite hacer copia de seguridad de las bases de datos de forma sencilla, pero es mucho mejor aprender a automatizarla de noche cuando tiene poco o nulo uso y hacerla de forma acumulativa, que es la forma habitual. También podéis consultar la gestión de copias que se ofrece desde el propio Moodle.
 
 
Finalmente, proponemos dos manuales del propio Moodle tanto para el administrador como para el profesor,  en el caso del administrador es mejor hacer algún curso de ayuda.
 
 Manual del administrador:
 
 
El manual del profesor es bastante más sencillo y con sus ayudas es suficiente.

Manual del Profesor:
 
 
Aunque siempre aconsejamos que cree toda la infraestructura de cursos la cree el administrador de acuerdo con las directivas impuestas por las direcciones pedagógicas y  el profesorado que elabore los materiales correspondientes a su nivel de trabajo. Así la visión de conjunto del sistema será la misma y los alumnos verán lo mismo en todas las asignaturas facilitando su labor de aprendizaje. Así que no aconsejamos que el profesor  cree la estructura de los cursos, ello le tiene que venir dado.
 
NOTA. Nuestro agradecimiento a este maravilloso programa Moodle que permite preparar cursos virtuales de una forma libre y gratuita, siendo considerada por todos los profesionales como la mejor una herramienta que existe.