Está en la página 1de 20

Preparativos previos antes 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.

En primer lugar actualizamos la información de los repositorios:

 ~$ sudo yum -y update

 ~$ sudo yum -y update

Ya podemos descargar e instalar todos los módulos de PHP necesarios mediante yum:

 ~$ sudo yum -y install php-curl php-mbstring php-opcache php-zip php-xml php-gd


php-intl php-xmlrpc php-soap php-mysqli

 ~$ sudo yum -y install php-curl php-mbstring php-opcache php-zip php-xml php-gd


php-intl php-xmlrpc php-soap php-mysqli

Para que la nueva configuración entre en efecto, recargamos la configuración del servidor
web:

 ~$ sudo systemctl reload httpd

 ~$ sudo systemctl reload httpd

Preparación de la base de datos

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:

 El uso del sistema de archivos Barracuda para las tablas.


 La opción innodb_file_per_table debe estar activada.
 Que la opción innodb_large_prefix esté activada también.

Haremos estos cambios editando el archivo de configuración del servidor (recordamos que
en esta guía usamos MariaDB):

 ~$ sudo nano /etc/my.cnf.d/server.cnf

 ~$ sudo nano /etc/my.cnf.d/server.cnf


En la sección server añadiremos estas líneas:

 ...
 [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 systemctl restart mariadb

 ~$ sudo systemctl restart mariadb

Solucionada la configuración general, es el momento de crear la base de datos, el usuario


con su contraseña y los permisos de este sobre aquella:

 ~$ 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
 ~$

Anotaremos el nombre de la base de datos, el usuario y la contraseña para utilizarlos más


adelante.

Cómo descargar Moodle para CentOS 7


Vamos a descargar Moodle para CentOS 7, concretamente la última versión disponible
en su sitio web oficial:
En la sección principal de la zona de descargas del stio de Moodle encontraremos los
enlaces de la última versión disponible (https://download.moodle.org/releases/latest/):
Siguiendo el enlace llegaremos a los enlaces de los paquetes que disponemos para
descargar cada versión de Moodle:
Dependiendo de en qué momento accedamos a esta página veremos que junto a la versión
oficial estable inicial (en este caso la 3.7) se encuentra una versión más actualizada que la
original (en este momento la 3.7+), y es la que debemos descargar, ya que contiene
actualizaciones y correcciones.

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

Cómo instalar Moodle en CentOS 7


Moodle se instala físicamente sobre dos carpetas, una para los archivos de la aplicación
web y otra para los datos. Esta última debe ser accesible por el servidor web en modo
lectura/escritura, pero no debe estar disponible vía web.

En esta guía te propongo instalar Moodle bajo la ruta /var/www/moodle/, siendo


/var/www/moodle/moodle/ la carpeta de archivos web y /var/www/moodle/moodledata/ la
carpeta de datos.

Por tanto creamos en primer lugar la carpeta principal, /var/www/moodle/:

 ~$ sudo mkdir /var/www/moodle

 ~$ sudo mkdir /var/www/moodle

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:

 ~$ sudo chown :apache /var/www/moodle/


 ~$ sudo chmod g+w /var/www/moodle/

 ~$ sudo chown :apache /var/www/moodle/


 ~$ sudo chmod g+w /var/www/moodle/

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:

 ~$ sudo chcon -Rv -t httpd_sys_rw_content_t /var/www/moodle/

 ~$ sudo chcon -Rv -t httpd_sys_rw_content_t /var/www/moodle/

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/

 ~$ sudo tar xzf moodle-latest-37.tgz -C /var/www/moodle/

Y ya tendremos la ruta /var/www/moodle/moodle/ con los archivos de la aplicación. Sólo


nos queda dar permisos de escritura al servidor web a este directorio, ya que en él se
almacenará el archivo de configuración de Moodle:

 ~$ sudo chown :apache /var/www/moodle/moodle


 ~$ sudo chmod g+w /var/www/moodle/moodle

 ~$ sudo chown :apache /var/www/moodle/moodle


 ~$ sudo chmod g+w /var/www/moodle/moodle

Creación de un servidor virtual específico para la aplicación 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.

Creamos el archivo moodle.centos7.local.conf en la ruta en la que nuestro servidor web lea


los archivos de configuración de servidores virtuales con un contenido mínimo como este:

 <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 esta primera pantalla elegimos el idioma de la instalación y continuamos. La siguiente


pantalla nos pide confirmar las rutas de acceso e instalación de Moodle:
En principio no hay que cambiar ningún dato, aunque podríamos cambiar el nombre de la
carpeta de datos de Moodle. Lo mejor es dejar todo como está y continuar.

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.

Llega el momento de suministrar los datos de conexión al sistema de bases de datos:


Recuperamos los datos de conexión que creamos anteriormente, y los introducimos en el
formulario: el nombre de la base de datos, el usuario que la administra y su
correspondiente clave. El resto de valores los dejamos por defecto 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 llegamos a una pantalla de comprobación de requisitos. Si has instalado


todo lo necesario y realizado todos los cambios de configuración, obtendrás una pantalla
parecida a esta:
En este caso, el único aviso es el relativo al protocolo HTTPS, que no estamos usando por
simplicidad de la guía. En un entorno real de trabajo debes configurar el servidor web por
seguridad con cifrado SSL.

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.

En la siguiente pantalla es el turno de configurar el usuario administrador del sistema:


Introduciremos en el formulario toda la información obligatoria y aquella adicional que
consideremos oportuna y actualizaremos los cambios.

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.

También podría gustarte