como instalar moodle en centos 7

Cómo instalar Moodle en CentOS 7

En esta entrada vamos a ver cómo instalar Moodle en CentOS 7 paso a paso, con lo que podremos trabajar con la plataforma de eLearning más usada en entornos de intranet, pero también muy utilizada a través de Internet. Con esta guía prepararás todos los requisitos básicos de tu servidor o VPS CentOS para que la instalación transcurra sin problemas, dejando el servicio listo para empezar a crear tus propios cursos y recursos online.

Antes de instalar Moodle en CentOS 7

Para poder seguir esta guía de instalación de Moodle en CentOS 7 necesitaremos cumplir una serie de requisitos:

  • Un sistema CentOS 7 actualizado.
  • Una pila LAMP o LEMP, es decir, servidor web con PHP y motor de bases de datos MySQL o MariaDB.
  • El paquete policycoreutils-python.
  • Acceso por terminal como root o usuario con permisos de sudo.
  • Conexión a Internet.

En esta guía el servidor web es Apache y el sistema de bases de datos es MariaDB, pero podrías usar perfectamente Nginx, MySQL, etc.

Si cumples todos estos requisitos entonces es hora de abrir una terminal y ponernos manos a la obra.

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:

como instalar moodle en centos 7

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/):

descargar moodle para centos 7

Siguiendo el enlace anterior llegaremos a los enlaces de los paquetes de que disponemos para descargar cada versión de Moodle:

descargas de moodle para centos 7

Dependiendo de en qué momento accedamos a esta página veremos que junto a la versión oficial estable inicial se encuentra una versión más actualizada que la original, 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/stable38/moodle-latest-38.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 instalaremos Moodle como parte del sitio web por defecto de CentOS 7, bajo la ruta /var/www/html/moodle/, siendo /var/www/html/moodle/ la carpeta de archivos web y /var/www/moodledata/ la carpeta de datos.

Descomprimimos el paquete de Moodle que acabamos de descargar en su ubicación final:

~$ sudo tar xzf moodle-latest-38.tgz -C /var/www/html/

Para que el servidor web pueda escribir en la nueva carpeta que se acaba de crear, cambiaremos la propiedad de esta al usuario y grupo al con el que se ejecuta el servidor web (apache para Apache en CentOS 7):

~$ sudo chown -R apache:apache /var/www/html/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 -R -t httpd_sys_rw_content_t /var/www/html/moodle/

Y protegemos este nuevo contexto de futuros cambios:

~$ sudo semanage fcontext -a -t httpd_sys_rw_content_t "/var/www/html/moodle(/.*)?"

Ahora crearemos el directorio de datos de Moodle:

~$ sudo mkdir /var/www/moodledata

Igualmente cambiaremos el propietario:

~$ sudo chown apache:apache /var/www/moodledata/

Y aplicaremos también un contexto para SELinux de lectura/escritura para el servidor web:

~$ sudo chcon -t httpd_sys_rw_content_t /var/www/moodledata/

Igualmente, protegemos este contexto:

~$ sudo semanage fcontext -a -t httpd_sys_rw_content_t "/var/www/moodledata(/.*)?"

Preparación de PHP

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

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

Para que las nuevas extensiones entren en funcionamiento, recargamos la configuración del servidor web:

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

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

...
[server]
...
innodb_file_format = Barracuda
innodb_file_per_table = 1
innodb_large_prefix = on
...

Y reiniciamos el servicio:

~$ 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. Conectamos con nuestro usuario administrador de MariaDB/MySQL:

~$ mysql -u root -p

Empezaremos creando la base de datos:

> create database moodle;

Para MySQL 5.x ó MariaDB, creamos el usuario así:

> create user moodle@localhost identified by 'XXXXXXXX';

Pero para MySQL 8 nos aseguramos de que use el plugin compatible:

> create user moodle@localhost identified with mysql_native_password by 'XXXXXXXX';

En cualquier caso, concedemos al usuario los permisos necesarios sobre la base de datos:

> grant all privileges on moodle.* to moodle@localhost;

Y antes de cerrar el cliente, recargamos la tabla de permisos:

> flush privileges;
> exit

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

El instalador web de Moodle en CentOS 7

Ya podemos introducir en el navegador la URL que corresponda, según hayamos decidido integrar Moodle en nuestro servicio web. En este ejemplo, el servidor CentOS 7 es accesible desde el dominio centos7.local, así que la URL http://centos7.local/moodle/ servirá:

como instalar moodle en centos 7

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:

instalar moodle en centos 7

En principio no hay que cambiar ningún dato, a no ser que hayas creado el directorio de datos de Moodle en otra ruta. 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:

instalacion de moodle en centos 7

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:

moodle en centos 7

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:

moodle para centos 7

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.

En caso de dudas, sugerencias, notificación de errores, etc. sobre esta guía, déjame un comentario.

¡Apoya este sitio!

El proceso de instalar y configurar Moodle en CentOS 7 puede llegar a ser una auténtica locura, pero si has llegado hasta aquí te habrás ahorrado unos cuantos dolores de cabeza. Si sientes unas increíbles ganas de agradecérnoslo, cualquier mínima contribución al mantenimiento de este sitio es muy bien recibida. ¡Gracias!

Valora esta entrada

1 estrella2 estrellas3 estrellas4 estrellas5 estrellas (2 votos, promedio: 5,00 de 5)
Cargando…

Deja un comentario

Este sitio web utiliza cookies para que usted tenga la mejor experiencia de usuario. Si continúa navegando está dando su consentimiento para la aceptación de las mencionadas cookies y la aceptación de nuestra política de cookies.

ACEPTAR
Aviso de cookies