Cómo instalar Moodle en Rocky Linux 8

En este artículo explicamos cómo instalar Moodle en Rocky Linux 8 paso a paso, de tal forma que puedas trabajar o experimentar con este potente sistema de e-learning sobre tu servidor o VPS Rocky Linux.

Antes de instalar Moodle en Rocky Linux 8

Para poder seguir los pasos de esta guía de instalación de Moodle en Rocky Linux 8 es importante cumplir los siguientes requerimientos básicos:

  • Un sistema Rocky Linux 8 actualizado.
  • Una pila tipo LAMP, servicio web con motor de bases de datos y PHP.
  • Acceso a terminal de consola con un usuario con privilegios de sudo.
  • Conexión a Internet.

Si no dispones aún del entorno mínimo puede ser útil consultar antes nuestras guías de instalación de la pila LAMP en Rocky Linux 8 y de instalación de PostgreSQL en Rocky Linux 8. En este tutorial realizaremos una instalación sencilla de Moodle, como parte del sitio web por defecto del servidor Rocky Linux 8, pero es fácil de adaptar a algo más avanzado como servidores virtuales, acceso seguro sobre HTTPS, etc., para lo que puede ser útil también nuestra guía de instalación y configuración de Apache en Rocky Linux 8.

En caso de tener todo preparado, ya podemos regular la altura de nuestra mesa, abrir un navegador y una terminal de consola, y empezar con el trabajo.

Necesitaremos algunas herramientas que podemos obtener desde los repositorios del sistema, por lo que los actualizamos:

~$ sudo yum update

E instalamos los paquetes necesarios:

~$ sudo yum install -y policycoreutils-python-utils tar wget

Cómo descargar Moodle para Rocky Linux 8

Vamos a descargar Moodle para Rocky Linux 8 desde la sección de descarga de la última versión en el sitio oficial del proyecto, donde encontramos el paquete tanto en formato .zip como .tar.gz:

como descargar moodle para rocky linux 8

Los enlaces mostrados conducen a una página de descarga automática. Si trabajamos de forma remota podemos copiar el enlace y utilizarlo en consola con el comando wget:

~$ wget https://download.moodle.org/download.php/direct/stable400/moodle-latest-400.tgz

Cómo instalar Moodle en Rocky Linux 8

Para instalar Moodle en Rocky Linux 8 debemos completar una serie de preparativos del sistema, de modo que el instalador web posteriormente no encuentre problemas durante su ejecución. Vamos a ver detalladamente estos preparativos a continuación.

Archivos de Moodle

Descomprimimos el paquete que hemos descargado directamente en su ruta de instalación definitiva:

~$ sudo tar xf moodle-latest-400.tgz -C /var/www/html

Y creamos un directorio para los datos de Moodle:

~$ sudo mkdir /var/www/moodledata

Moodle necesita escribir en ambos directorios, así que cambiamos la propiedad de los mismos al usuario con el que corre el servicio web:

~$ sudo chown -R apache: /var/www/html/moodle /var/www/moodledata/

SELinux

Si tenemos SELinux activado en Rocky Linux 8 (lo que ocurre por defecto), tendremos que crear un contexto de lectura/escritura para el servidor web sobre los archivos de Moodle, ya que no bastará con haber cambiado el propietario de los mismos:

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

Y:

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

Puedes ignorar el aviso mostrado en el comando anterior.

Aplicamos los nuevos contextos con el comando restorecon:

~$ sudo restorecon -R /var/www/html/moodle /var/www/moodledata/

Por otro lado, Moodle necesita acceder a Internet a través del servidor web, así que debemos permitir esta operación:

~$ sudo setsebool -P httpd_can_network_connect on

Base de datos

Moodle necesita trabajar sobre una base de datos de nuestro servidor Rocky Linux 8, admitiendo varios de los motores más usados. Veremos cómo preparar algunos de ellos.

PostgreSQL

Creamos un rol con contraseña:

~$ sudo -iu postgres createuser -P moodle

Y creamos la base de datos asociándola al rol anterior:

~$ sudo -iu postgres createdb moodle -O moodle

MySQL/MariaDB

Conectamos al servicio con el cliente de consola mysql y el usuario administrador que suelas utilizar:

~$ mysql -u root -p

Creamos la base de datos para Moodle:

> create database moodle charset utf8mb4 collate utf8mb4_unicode_ci;

Creamos el usuario que trabajará con la base de datos:

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

Concedemos permisos suficientes al usuario sobre la base:

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

Y cerramos la conexión:

> exit

Servicio web

Creamos una configuración personalizada de Apache para Moodle:

~$ sudo nano /etc/httpd/conf.d/moodle.conf

El contenido sería el siguiente:

<Directory /var/www/html/moodle>
        AllowOverride all
</Directory>

<IfModule proxy_fcgi_module>
        Timeout 180
        ProxyTimeout 180
</IfModule>

Permitimos el uso de configuraciones guardadas en archivos .htaccess en el directorio de Moodle y aumentamos el tiempo máximo de espera en las conexiones entre el servicio web y el servicio PHP.

Guardamos el archivo y recargamos la configuración del servicio web:

~$ sudo systemctl reload httpd

PHP

Moodle necesita la presencia en Rocky Linux 8 de ciertas extensiones de este lenguaje, así que las instalamos:

~$ sudo yum install -y php-curl php-gd php-intl php-soap php-xmlrpc php-zip

También debemos hacer algún ajuste en el archivo php.ini:

~$ sudo nano /etc/php.ini

Buscamos la siguiente directiva:

...
;max_input_vars = 1000
...

La activamos eliminando el carácter ; al inicio de línea y cambiando el valor por defecto por 5000:

...
max_input_vars = 5000
...

Guardamos los cambios y recargamos la configuración del servicio PHP-FPM:

~$ sudo systemctl reload php-fpm

Instalador web

Ahora es el momento de acceder al instalador web de Moodle para Rocky Linux 8 desde un navegador, donde indicaremos la dirección que corresponda a la forma elegida para integrar la aplicación en el servicio web. En este tutorial usaríamos la dirección IP, nombre DNS, dominio, localhost (si accedemos localmente), etc. añadiendo la ruta de instalación relativa a la raíz de documentos del servicio web (moodle/ en este caso).

Por ejemplo, la máquina Rocky Linux 8 sobre la que hemos preparado este tutorial es accesible en el subdominio rocky8.local.lan y hemos instalado Moodle en la ruta relativa moodle/ sobre el directorio web raíz /var/www/html/, por lo que usaremos http://rocky8.local.lan/moodle como URL.

como instalar moodle en rocky linux 8

En la primera página del instalador seleccionaremos el idioma para Moodle.

A continuación confirmamos la ruta de instalación:

instalacion de moodle en rocky linux 8

Si hubiéramos creado el directorio de datos en una ruta alternativa, la sustituiremos adecuadamente en el formulario mostrado.

Seguidamente elegimos el motor de bases de datos sobre el que vamos a trabajar:

instalar moodle sobre rocky linux 8

Ojo, que no es lo mismo MariaDB y MySQL, son tipos distintos.

Elegido el tipo de bases de datos, configuramos la conexión:

instalador de moodle para rocky linux 8

Indicamos el nombre de la base de datos, usuario y contraseña tal como los creamos en pasos anteriores.

Se nos mostrará la licencia de uso:

instalando moodle en rocky linux 8

Debemos confirmar expresamente que hemos leído y comprendido los términos y condiciones.

Una página de comprobación de requisitos mostrará los resultados de dicha comprobación:

Si has seguido los pasos anteriores se cumplirán todos estos requisitos y podrás continuar con la instalación.

Comenzará el verdadero proceso de instalación, mostrando una lista de tareas realizadas y su resultado:

Este proceso puede tomar unos minutos, dependiendo de la potencia de la máquina Rocky Linux 8 utilizada. Por ello ampliamos los tiempos de espera anteriormente.

Terminado este proceso configuraremos el usuario administrador:

También asignaremos un nombre al nuevo sitio Moodle:

Además de otros datos debemos indicar una dirección de correo electrónico para contacto de soporte.

Finalmente la instalación termina y se inicia la sesión de administrador automáticamente, mostrándose el área personal:

moodle en rocky linux 8

Todo está listo para comenzar con la configuración del sitio y la creación de contenido.

Post-instalación

Vamos a ver algunas tareas más de configuración de Moodle que no se realizan durante la instalación convencional.

Cron

Moodle necesita realizar ciertas tareas de mantenimiento en segundo plano, por lo que hay que crear una tarea específica para el servicio Cron de Rocky Linux 8:

~$ sudo nano /etc/cron.d/moodle

El contenido será la siguiente línea:

*/1 * * * * apache /usr/bin/php /var/www/html/moodle/admin/cli/cron.php

Una vez guardado este archivo, la tarea se ejecutará regularmente a intervalos de 1 minuto. Puede parecerte un ritmo excesivo, pero es lo que indica la documentación de Moodle.

Ghostscript

Si quieres poder trabajar con documentos PDF en Moodle es necesario instalar el paquete ghostscript en Rocky Linux 8:

~$ sudo yum install -y ghostscript

Terminada la instalación de este paquete y sus dependencias, desde al área personal accedemos secuencialmente a «Administración del sitio / Extensiones / Módulos de Actividad / Anotar PDF«.

En la página que se abre seguimos el enlace «Prueba del PATH de ghostscript» y nos mostrará una nueva página de resultado de la comprobación.

configuracion de moodle en rocky linux 8

Conclusión

Ahora que ya sabes cómo instalar Moodle en Rocky Linux 8 ya puedes empezar a practicar con este popular CMS orientado al e-learning. En pocos minutos podrás desplegar tanto un sitio para pruebas sobre tu máquina personal como un sitio en producción sobre un servidor o VPS en Internet.

¡Apoya comoinstalar.me!

Si ya funciona Moodle en tu sistema gracias a esta guía y quieres agradecérnoslo, siempre es bien recibida cualquier mínima contribución al mantenimiento de este sitio y la creación de más artículos y tutoriales.

Puedes ayudarnos dejando una propina de tan sólo 1 $ desde PayPal:

O, si te sientes especialmente agradecido, puedes invitarnos a un café:

¡Gracias!

Valora esta entrada

4.8/5 - (5 votos)

5 comentarios en «Cómo instalar Moodle en Rocky Linux 8»

  1. Estuve un rato instalando y sin problema, solo que me faltaba Sodium. Para instalar en Rocky hay que bajar primero EPEL de sudo dnf install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm Luego Instalar las librerías de Sodium desde dnf dnf install php-cli libsodium php-pear php-devel libsodium-devel make Y después con PECL sudo pecl channel-update pecl.php.net sudo pecl install libsodium editamos el php.ini sudo vim /etc/php.ini extension=sodium.so o el Sodium.ini que está en /etc/php.d/sodium.ini reiniciamos php y listo. Estuve batallando un ratillo con eso, ojalá este comentario sirva de ayuda para alguien con mi mismo problema.

    Responder
    • Uno de los requisitos para instalar Moodle en Rocky Linux 8 es tener instalada y configurada la pila LAMP con una versión de PHP más reciente que la que viene incluida en la distribución. Siguiendo los pasos adecuados (explicados en la guía dejada como referencia en el apartado de requerimientos) se instala automáticamente el repositorio EPEL y Sodium queda instalado y disponible. Por tanto, no sería necesario realizar los pasos adicionales que describes.

      Responder
  2. ¡¡¡Excelente!!! Por si a alguien le sirve: Tuve muchos inconvenientes para instalar Moodle en Centos, Fedora y ahora Rocky Linux, siguiendo estos tutoriales. Mis problemas iniciaban con el «Instalador web», arrojando errores críticos y obligándome a abortar la instalación de Moodle, una y otra vez. Descubrí que, al eliminar TODAS las extensiones y plugins del navegador utilizado y eliminando también algunas restricciones que por defecto traen los más conocidos navegadores, pude terminar con éxito la instalación.

    ¡¡¡Bendiciones y un millón de gracias!!!

    Responder

Deja un comentario