De Instalar Moodle
De Instalar Moodle
De Instalar Moodle
Aunque partimos de una pila LAMP, Moodle requiere una larga lista de módulos PHP
presentes en el sistema, por lo que debemos asegurarnos de tenerlos instalados. Y eso es lo
que vamos a hacer a continuación.
Ya podemos descargar e instalar todos los módulos de PHP necesarios mediante yum:
Para que la nueva configuración entre en efecto, recargamos la configuración del servidor
web:
Moodle necesita acceder al sistema de bases de datos para manejar y almacenar los datos
del servicio. Por este motivo necesitaremos tener preparados una base de datos en exclusiva
para Moodle y un usuario con suficientes privilegios para administrarla.
Previamente, Moodle necesita que el sistema de tablas de MySQL o MariaDB cumpla estos
requisitos:
Haremos estos cambios editando el archivo de configuración del servidor (recordamos que
en esta guía usamos MariaDB):
...
[server]
...
innodb_file_format = Barracuda
innodb_file_per_table = 1
innodb_large_prefix
...
...
[server]
...
innodb_file_format = Barracuda
innodb_file_per_table = 1
innodb_large_prefix
...
Y reiniciamos el servicio:
~$ sudo mysql
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 2
Server version: 5.5.60-MariaDB MariaDB Server
Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
MariaDB [(none)]> create database moodle;
Query OK, 1 row affected (0.00 sec)
MariaDB [(none)]> create user moodle@localhost identified by 'XXXXXXXX';
Query OK, 0 rows affected (0.02 sec)
MariaDB [(none)]> grant all privileges on moodle.* to moodle@localhost;
Query OK, 0 rows affected (0.00 sec)
MariaDB [(none)]> flush privileges;
Query OK, 0 rows affected (0.00 sec)
MariaDB [(none)]> exit;
Bye
~$
~$ sudo mysql
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 2
Server version: 5.5.60-MariaDB MariaDB Server
Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
MariaDB [(none)]> create database moodle;
Query OK, 1 row affected (0.00 sec)
MariaDB [(none)]> create user moodle@localhost identified by 'XXXXXXXX';
Query OK, 0 rows affected (0.02 sec)
MariaDB [(none)]> grant all privileges on moodle.* to moodle@localhost;
Query OK, 0 rows affected (0.00 sec)
MariaDB [(none)]> flush privileges;
Query OK, 0 rows affected (0.00 sec)
MariaDB [(none)]> exit;
Bye
~$
Disponemos de paquetes en formato .tgz y .zip. En esta guía usaremos el paquete .tgz. Al
pinchar el enlace correspondiente nos lleva a la página que inicia automáticamente la
descarga, pero también ofrece un enlace por si la descarga no se iniciara.
Si tienes abierto el navegador en la máquina CentOS que estás configurando te puede
interesar la descarga automática. En mi caso copiaré el enlace alternativo para usarlo en la
terminal remota con la que administro la máquina CentOS 7. De hecho, descargo el paquete
con el comando wget:
~$ wget https://download.moodle.org/download.php/direct/stable37/moodle-latest-
37.tgz
~$ wget https://download.moodle.org/download.php/direct/stable37/moodle-latest-
37.tgz
Para que el servidor web pueda escribir en esa carpeta cambiaremos su grupo al mismo con
el que se ejecuta el servidor web (apache) y daremos permisos de escritura al grupo:
Si CentOS 7 tiene activada la seguridad SELinux, habrá que dar un paso más. Como el
contexto de estos archivos y carpetas es de sólo lectura, es necesario aplicar un contexto de
lectura/escritura para que el servidor web pueda escribir además de leer:
Ahora tenemos el directorio de Moodle listo, sólo falta descomprimir dentro del mismo el
paquete que hemos descargado antes:
~$ sudo tar xzf moodle-latest-37.tgz -C /var/www/moodle/
Aunque puedes encajar tu servicio Moodle como quieras dentro de tus aplicaciones y
contenidos web, por simplicidad en esta guía usaremos un servidor virtual para el
subdominio de ejemplo moodle.centos7.local.
<VirtualHost *:80>
ServerName moodle.centos7.local
DocumentRoot /var/www/moodle/moodle
<Directory /var/www/moodle/moodle>
Options -Indexes
AllowOverride all
</Directory>
</VirtualHost>
<VirtualHost *:80>
ServerName moodle.centos7.local
DocumentRoot /var/www/moodle/moodle
<Directory /var/www/moodle/moodle>
Options -Indexes
AllowOverride all
</Directory>
</VirtualHost>
Por simplicidad no he añadido seguridad SSL a través de protocolo HTTPS, pero es casi
obligatorio configurar el servicio con este tipo de seguridad.
Recargada la configuración del servidor web, ya podemos entrar en la URL base del
servidor virtual que acabamos de configurar (en este ejemplo http://moodle.centos7.local),
donde ya reside la aplicación web de instalación de Moodle:
En la siguiente pantalla tenemos que seleccionar el controlador de base de datos con que
trabajará Moodle:
Podemos ven que en el desplegable aparecen por un lado las opciones disponibles y por
otro las no disponibles en nuestro sistema. En este ejemplo seleccionamos el controlador
nativo, ya que usamos MariaDB Server, y continuamos.
Si hemos sido cuidadosos durante la concesión de permisos del servidor web, se creará
automáticamente toda la configuración de Moodle y quedará almacenada.
Una nueva pantalla nos informará sobre los términos de la licencia y tendremos que
confirmar que hemos leído y comprendido dichos términos:
Continuamos y ahora es cuando comienza la verdadera instalación. Una nueva pantalla irá
informando sobre el resultado de la instalación de todos los módulos y componentes de
Moodle:
Todo debería marchar sin problemas, y en la parte inferior de la página podemos encontrar
el botón para continuar.
El siguiente formulario recoge información general sobre nuestro nuevo sitio Moodle:
Actualizada dicha información llegaremos al área personal y de administración de nuestro
nuevo sitio Moodle en CentOS 7, concretamente a la pantalla de registro del sitio en
Moodle.net, cosa que no es necesaria:
Si no deseas registrar el sitio, hay un enlace con el texto Skip bajo el botón de registro.
En cualquier caso, al continuar Moodle nos ofrecerá un asistente o tour del área personal:
Con esto ya tenemos Moodle instalado en CentOS 7 y comienza la ardua tarea de creación
de cursos, gestión de usuarios, etc.
Conclusión
Ahora que ya sabes cómo instalar Moodle en CentOS 7 tienes a tu servicio una de las
plataformas de eLearning más reconocidas del panorama.
Todo lo relativo a administración y uso de Moodle queda fuera del alcance de este tutorial.
Esta es una materia densa y extensa para la que hay muchos recursos, independientes del
sistema operativo sobre el que se aloje Moodle.