GNU/Linux >> Tutoriales Linux >  >> Cent OS

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 de aprendizaje en línea sólidos. Cuenta con una gama de actividades y herramientas educativas entre las que puede elegir, es compatible con la gestión de evaluaciones y se envía con certificados personalizados. También permite la comunicación con sus alumnos en tiempo real con una poderosa herramienta de videoconferencia. Además, está preparado para dispositivos móviles, por lo que sus alumnos pueden aprender desde sus dispositivos móviles.

Artículo relacionado :Cómo instalar la plataforma de aprendizaje Moodle en Ubuntu

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 :200 MB para Moodle, y 5 GB es probablemente un mínimo realista de almacenamiento de contenido.
  • Procesador :1 GHz (mín.), se recomienda 2 GHz de doble núcleo o más.
  • Memoria :512 MB (mín.), se recomienda 1 GB o más. Es probable que tenga más de 8 GB en un servidor de producción grande.

En esta página

  • Creación de un registro DNS de dominio para el sitio web de Moodle
  • Instalación de la plataforma de aprendizaje Moodle en el servidor CentOS 8
  • Configuración de NGINX para servir el sitio web de Moodle
  • Instalación completa de Moodle a través del instalador web
  • Habilite HTTPS en el sitio de Moodle usando Let's Encrypt

Creación de un registro DNS de dominio para el sitio web de Moodle

1. Comience por crear un subdominio que los usuarios usarán para acceder a Moodle sitio de aprendizaje en línea. Por ejemplo, si su nombre de dominio es testprojects.me , puede crear un subdominio llamado learning.testprojects.me .

Abra el DNS avanzado de su nombre de dominio configuración y agregue un A grabar como se muestra en la siguiente imagen.

Instalación de Moodle en el servidor CentOS 8

2. Antes de instalar Moodle , asegúrese de tener las extensiones PHP requeridas en su servidor, puede ejecutar el siguiente comando para instalarlas:

# 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 solicitud de la siguiente manera.

# mysql -u root -p

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

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

4. Ahora descarga la última versión de Moodle (3.9 en el momento de escribir este artículo) del sitio web oficial del proyecto Moodle, extraiga el archivo y muévalo a su webroot (/var/www/html/ ), luego configure los permisos y la propiedad apropiados 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 los moodledata directorio que es la ubicación de los archivos que son cargados o creados por Moodle interfaz, luego asigne los permisos y la propiedad apropiados para permitir que el servidor web tenga acceso de lectura y escritura:

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

6. A continuación, acceda a Moodle directorio de instalación y crea un config.php archivo de la muestra config.dist.php archivo provisto, luego ábralo para editarlo y configurar algunas configuraciones clave para su Moodle plataforma, como los parámetros de conexión a la base de datos y la ubicación del sitio y dónde puede encontrar el directorio 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 correcto, el nombre de la base de datos y el usuario de la base de datos y la contraseña 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

7. También establezca la URL utilizada para acceder a su Moodle sit, esto especifica la ubicación del wwwroot donde se encuentran sus archivos web de Moodle, y también la raíz de datos (el directorio moodledata):

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

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

8. En esta sección, debe configurar NGINX para servir a su Moodle solicitud. Debe crear un bloque de servidor para él en la configuración de NGINX como se muestra.

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

Copie y pegue la siguiente configuración en el archivo de configuración del bloque del servidor. Reemplace el nombre del servidor con tu nombre de subdominio creado anteriormente, y el fastcgi_pass debe apuntar a php-fpm (tenga en cuenta que en CentOS 8 , PHP-FPM acepta FastCGI solicitudes utilizando la dirección definida en /etc/nginx/conf.d/php-fpm.conf configuració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. Luego revisa el NGINX configuración correcta, si es Ok , reinicia el nginx y php-fpm servicios para aplicar los cambios recientes:

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

10. Si tiene SELinux habilitado en su sistema, luego ejecute los siguientes comandos para establecer el contexto correcto para acceder a 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. Además, asegúrese de que el HTTP y HTTPS los servicios están abiertos en el cortafuegos para permitir el tráfico a NGINX servidor web:

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

Instalación completa de Moodle a través del instalador web

12. Para acceder a Moodle instalador web, abra su navegador web y navegue usando el subdominio que 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 Continuar. .

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

14. El instalador se quejará de HTTPS no está habilitado, ignore ese error por ahora (en la siguiente sección, le mostraremos cómo habilitar HTTPS en Moodle) y haga clic en Continuar , para iniciar la instalación real de los archivos web.

15. Ahora el instalador comenzará la instalación real de Moodle archivos como se muestra en la siguiente captura de pantalla. Una vez que esté completo, haga clic en Continuar .

16. En el siguiente paso, debe actualizar su Moodle cuenta de administrador del sitio actualizando el nombre de usuario, la contraseña, el nombre y apellido y la dirección de correo electrónico. A continuación, desplácese hacia abajo en la página y haga clic en Actualizar perfil. .

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

18. A continuación, debe registrar su sitio siguiendo las instrucciones en pantalla. Puede ir al panel haciendo clic en Panel.

Configurar HTTPS en el sitio de Moodle usando Let's Encrypt

HTTPS agrega la primera capa de seguridad a su sitio para permitir comunicaciones seguras entre sus usuarios y Moodle aplicación (especialmente la NGINX servidor web que recibe solicitudes y entrega respuestas).

Puede comprar un certificado SSL/TLS de una CA comercial o usar Let's Encrypt que es gratuito y reconocido por todos los navegadores web modernos. Para esta guía, usaremos Let's Encrypt .

19. Vamos a cifrar La implementación de certificados se administra automáticamente mediante certbot herramienta. Puede instalar certbot y otros paquetes requeridos con el siguiente comando:

# dnf install certbot python3-certbot-nginx

20. Luego ejecute el siguiente comando para obtener Let's Encrypt certificado y haga que Certbot edite su NGINX configuración automáticamente para servirlo (también configurará HTTP para ser redirigido automáticamente a HTTPS ).

# certbot --nginx

21. Luego ejecute el siguiente comando para habilitar la renovación automática de Let's Encrypt 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. Luego, actualice su configuración de Moodle para comenzar a usar HTTPS .

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

cambiar el wwwroot URL de HTTPHTTPS :

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

23. Por último, pero no menos importante, confirme que su Moodle el sitio ahora se ejecuta en HTTPS .

¡Eso es todo por ahora! Para obtener más información y opciones de configuración para ejecutar su nueva plataforma de aprendizaje, visite el sitio web de Moodle y lea la documentación oficial.


Cent OS
  1. Cómo instalar WordPress con Nginx en CentOS 7

  2. Cómo instalar phpMyAdmin con Nginx en CentOS 7

  3. Cómo instalar Nginx con módulo RTMP en CentOS 7

  4. Cómo instalar phpMyAdmin con Nginx en CentOS 7 / RHEL 7

  5. Cómo instalar Sitemagic CMS en CentOS 7 – Con Nginx

Cómo instalar phpMyAdmin con Nginx en CentOS 8 / RHEL 8

Cómo instalar Nginx con ngx_pagespeed en CentOS

Cómo instalar Nginx con PHP-FastCGI en CentOS 6

Cómo instalar Magento con Nginx en CentOS 7

Cómo instalar Laravel con Nginx en CentOS 8

Cómo instalar la plataforma de aprendizaje Moodle en Ubuntu 20.04