Cómo instalar la plataforma de aprendizaje Moodle con Nginx en CentOS 8

Moodle es el sistema de gestión de aprendizaje más popular del mundo para crear sitios sólidos de aprendizaje en línea. Tiene una variedad de actividades y recursos educativos para elegir, admite la gestión de evaluaciones y viene con certificados personalizados. También permite la comunicación en tiempo real con sus estudiantes mediante una poderosa herramienta de videoconferencia. También está preparado para dispositivos móviles, por lo que sus estudiantes pueden aprender desde sus dispositivos móviles.

Requisitos del servidor Moodle

  • sistema operativo: Una instalación mínima del servidor CentOS 8 o RHEL 8 con la pila LEMP instalada.
  • Espacio en disco duro: 200 MB para Moodle y 5 GB es probablemente un mínimo realista para almacenar contenido.
  • procesador: Se recomienda 1 GHz (mínimo), 2 GHz de doble núcleo o más.
  • memoria: 512 MB (min), se recomienda 1 GB o más. Es probable que 8 GB o más estén en un servidor de producción grande.

Cree una entrada de dominio DNS para el sitio web de Moodle

1. Primero, cree un subdominio que los usuarios usarán para acceder al Moodle Sitio de aprendizaje en línea. Por ejemplo, si su nombre de dominio es testprojects.mepuedes crear un subdominio llamado learning.testprojects.me.

Abra el nombre de dominio extendido DNS Configuración y agregue un A Grabe como se muestra en la siguiente imagen.

Agregar un registro para el dominio de Moodle
Agregar un registro para el dominio Moodle

Instalar Moodle en el servidor CentOS 8

2. Antes de la instalación MoodleAsegúrese de tener las extensiones PHP necesarias en su servidor. Puede ejecutar el siguiente comando para instalarlos:

# dnf install php-common php-iconv php-curl php-mbstring php-xmlrpc php-soap php-zip php-gd php-xml php-intl php-json libpcre3 libpcre3-dev graphviz aspell ghostscript clamav

3. A continuación, cree una base de datos para Moodle Aplicación de la siguiente manera.

# mysql -u root -p

Luego cree la base de datos, el usuario de la base de datos y la contraseña segura para usar.

MariaDB [(none)]> CREATE DATABASE moodledb;
MariaDB [(none)]> GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,CREATE TEMPORARY TABLES,DROP,INDEX,ALTER ON moodledb.* TO 'moodleadmin'@'localhost' IDENTIFIED BY '[email protected]';
MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> exit

Cuarto Descarga la última versión de ahora Moodle ((3.9 En el momento de escribir este artículo, extraiga el archivo del sitio web oficial del Proyecto Moodle y muévalo a su webroot (/var/www/html/) y luego establezca los permisos y la propiedad adecuados para permitir que el servidor web acceda al directorio de Moodle de la siguiente manera.

# wget -c https://download.moodle.org/download.php/direct/stable39/moodle-latest-39.tgz
# tar -xzvf  moodle-latest-39.tgz
# mv moodle /var/www/html/
# chmod 775 -R /var/www/html/moodle
# chown nginx:nginx -R /var/www/html/moodle

5. A continuación, cree el Moodledata Directorio en el que se encuentran los archivos que fueron cargados o creados por el archivo Moodle Asigne los permisos y la propiedad adecuados al servidor web para que el servidor web tenga acceso de lectura y escritura a él:

# mkdir -p /var/www/html/moodledata
# chmod 770 -R /var/www/html/moodledata
# chown :nginx -R /var/www/html/moodledata

Sexto A continuación, ve a eso Moodle Directorio de instalación y crear un config.php Archivo del ejemplo config.dist.php Archivo, luego ábralo para editarlo y configurar algunos ajustes clave para el suyo Moodle Plataforma, como B. Parámetros de conexión a la base de datos y ubicación del sitio y dónde se encuentra el directorio de Moodledata:

# cd /var/www/html/moodle/
# cp config-dist.php config.php
# vim config.php

Establezca el tipo de base de datos correcto, el host de la base de datos, el nombre correcto de la base de datos y el usuario y contraseña de la base de datos del usuario.

$CFG->dbtype    = 'mariadb';      // 'pgsql', 'mariadb', 'mysqli', 'sqlsrv' or 'oci'
$CFG->dblibrary = 'native';     // 'native' only at the moment
$CFG->dbhost    = 'localhost';  // eg 'localhost' or 'db.isp.com' or IP
$CFG->dbname    = 'moodledb';     // database name, eg moodle
$CFG->dbuser    = 'moodleadmin';   // your database username
$CFG->dbpass    = '[email protected]zzwd0L2';   // your database password
$CFG->prefix    = 'mdl_';       // prefix to use for all table names

Séptimo También configure la URL que usa para acceder a la suya Moodle sentarse, esto le da el lugar de wwwroot dónde se encuentran los archivos web de Moodle, y también el Raíz de datos (el directorio de Moodledata):

$CFG->wwwroot   = 'http://learning.testprojects.me';
$CFG->dataroot  = '/var/www/html/moodledata';

Configuración de NGINX para servir el sitio web de Moodle

Octavo. En esta sección necesitas configurar NGINX para servir el tuyo Moodle Solicitud. Debe crear un bloque de servidor para esto en la configuración de NGINX como se muestra.

# vim /etc/nginx/conf.d/moodle.conf

Copie la siguiente configuración y péguela en el archivo de configuración del bloque del servidor. Reemplazar eso Nombre del servidor con tu Nombre del subdominio creado arriba, y el fastcgi_pass debería señalar PHP Fpm (Tenga en cuenta que en CentOS 8, PHP-FPM aceptado FastCGI Solicitudes que utilizan en el /etc/nginx/conf.d/php-fpm.conf Construcción).

server{
   listen 80;
    server_name learning.testprojects.me;
    root        /var/www/html/moodle;
    index       index.php;

    location / {
        try_files $uri $uri/ /index.php?$query_string;
    }

    location ~ ^(.+.php)(.*)$ {
        fastcgi_split_path_info ^(.+.php)(.*)$;
        fastcgi_index           index.php;
        fastcgi_pass            php-fpm;
        include                 /etc/nginx/mime.types;
        include                 fastcgi_params;
        fastcgi_param           PATH_INFO       $fastcgi_path_info;
        fastcgi_param           SCRIPT_FILENAME $document_root$fastcgi_script_name;
}
}

Guarde el archivo y ciérrelo.

9. Entonces mira eso NGINX Configuración para la corrección si es Okay, iniciar el Nginx y PHP Fpm Servicios para aplicar los últimos cambios:

# nginx -t
# systemctl restart nginx
# systemctl restart php-fpm

10. Si usted tiene SELinux Habilite los siguientes comandos en su sistema para establecer el contexto correcto para acceder al sistema Moodle Archivos web en el servidor:

# setsebool -P httpd_can_network_connect on
# chcon -R --type httpd_sys_rw_content_t /var/www/html

11. También asegúrese de que el HTTP y HTTPS Los servicios están abiertos en el firewall para permitir el uso del tráfico. NGINX Servidor web:

# firewall-cmd --permanent --zone=public --add-service=http 
# firewall-cmd --permanent --zone=public --add-service=https
# firewall-cmd --reload

Complete la instalación de Moodle usando el instalador web

12. Acceso al Moodle Abra su navegador web y navegue con el Subdominio Creaste arriba:

http://learning.testprojects.me

Una vez que se cargue la página de bienvenida, lea los términos y condiciones y haga clic en Seguir.

Instalador web de Moodle
Instalador web de Moodle

13 A continuación, el instalador web verifica que su sistema cumpla con los requisitos para ejecutar un Moodle Sitio web de la versión especificada. Puede desplazarse hacia abajo para ver más información.

Prueba de requisitos del servidor Moodle
Prueba de requisitos del servidor Moodle

14 El instalador se quejará HTTPS Si esta opción no está marcada, ignore este error por ahora (la siguiente sección muestra cómo habilitar HTTPS en Moodle) y haga clic en Seguirpara iniciar la instalación real de los archivos web.

Error de HTTPS de Moodle
Error de HTTPS de Moodle

quince. Ahora, el programa de instalación inicia la instalación real del Moodle Archivos como se muestra en la siguiente captura de pantalla. Cuando termine, haga clic en Seguir.

Instalación de Moodle
Instalación de Moodle

dieciséis. El siguiente paso es actualizar el tuyo Moodle cuenta de administrador del sitio actualizando el nombre de usuario, contraseña, nombre y apellido y dirección de correo electrónico. Luego, desplácese hacia abajo en la página y haga clic en Actualización del perfil.

Detalles del sitio Moodle
Detalles del sitio Moodle

17 Luego actualice la configuración de la página principal del sitio Moodle. Luego desplácese hacia abajo y haga clic Actualizar para usar su sitio Moodle.

Configuración de Moodle para la página de inicio
Configuración de Moodle para la página de inicio

18 A continuación, deberá registrar su sitio siguiendo las instrucciones en pantalla. Puede cambiar al panel haciendo clic en el panel.

Instalación web de Moodle completada
Instalación web de Moodle completada

Configure HTTPS en el sitio de Moodle usando Let’s Encrypt

HTTPS Agrega la primera capa de seguridad a su sitio para permitir una comunicación segura entre sus usuarios y el usuario Moodle Aplicación (especialmente la NGINX Servidor web que recibe solicitudes y da respuestas).

Puede comprar o utilizar un certificado SSL / TLS de una autoridad de certificación comercial Vamos a cifrar Es gratis y reconocido por todos los navegadores web modernos. Para esta guía usaremos Vamos a cifrar.

19 los Vamos a cifrar El aprovisionamiento de certificados se gestiona automáticamente con el certbot Herramienta. Puedes instalar certbot y otros paquetes requeridos con el siguiente comando:

# dnf install certbot python3-certbot-nginx

Vigésimo Luego ejecute el siguiente comando para obtener un Vamos a cifrar Certificado y deja que Certbot edite el tuyo NGINX Configuración automática para operarlo (también está configurado HTTP ser redirigido automáticamente a HTTPS).

# certbot --nginx
Habilitar HTTPS en Moodle
Habilitar HTTPS en Moodle

21 Luego ejecute el siguiente comando para habilitar la renovación automática del Encriptemos SSL / TLS Certificado:

# echo "0 0,12 * * * root python3 -c 'import random; import time; time.sleep(random.random() * 3600)' && certbot renew -q" | sudo tee -a /etc/crontab > /dev/null

22 A continuación, actualice su configuración de Moodle para usarlo HTTPS.

# vim /var/www/html/moodle/config.php

cambia eso wwwroot URL de HTTP a HTTPS::

$CFG->wwwroot   = 'https://learning.testprojects.me';

23. Finalmente, reconoce que su Moodle El sitio continúa ahora HTTPS.

El sitio de Moodle se ejecuta bajo HTTPS
El sitio de Moodle se ejecuta bajo HTTPS

¡Eso es todo por ahora! Puede encontrar más información y opciones de configuración para ejecutar su nueva plataforma de aprendizaje en el sitio web de Moodle y en la documentación oficial.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *