GNU/Linux >> Linux Esercitazione >  >> Cent OS

Come installare la piattaforma di apprendimento Moodle con Nginx in CentOS 8

Moodles è il sistema di gestione dell'apprendimento più popolare al mondo per la creazione di solidi siti di apprendimento online. È dotato di una gamma di attività e strumenti didattici tra cui è possibile scegliere, supporta la gestione della valutazione e viene fornito con certificati personalizzati. Consente inoltre la comunicazione con i tuoi studenti in tempo reale con un potente strumento di videoconferenza. Inoltre, è predisposto per dispositivi mobili, così i tuoi studenti possono imparare dai loro dispositivi mobili.

Articolo correlato :Come installare la piattaforma di apprendimento Moodle in Ubuntu

Requisiti del server Moodle

  • Sistema operativo :un'installazione minima del server CentOS 8 o RHEL 8 con lo stack LEMP installato.
  • Spazio su disco :200 MB per Moodle e 5 GB è probabilmente un minimo realistico per l'archiviazione dei contenuti.
  • Responsabile del trattamento :consigliato 1GHz (min), 2GHz dual-core o superiore.
  • Memoria :512 MB (min), si consiglia 1 GB o più. 8 GB in più sono probabili su un server di produzione di grandi dimensioni.

In questa pagina

  • Creazione di un record DNS di dominio per il sito Web Moodle
  • Installazione della piattaforma di apprendimento Moodle nel server CentOS 8
  • Configurazione di NGINX per servire il sito Web Moodle
  • Completa l'installazione di Moodle tramite il programma di installazione Web
  • Abilita HTTPS sul sito Moodle utilizzando Let's Encrypt

Creazione di un record DNS di dominio per il sito Web Moodle

1. Inizia creando un sottodominio che gli utenti utilizzeranno per accedere a Moodle sito di apprendimento online. Ad esempio, se il tuo nome di dominio è testprojects.me , puoi creare un sottodominio chiamato learning.testprojects.me .

Apri il DNS avanzato del tuo nome di dominio impostazioni e aggiungi un A registrare come mostrato nell'immagine seguente.

Installazione di Moodle nel server CentOS 8

2. Prima di installare Moodle , assicurati di avere le estensioni PHP richieste sul tuo server, puoi eseguire il seguente comando per installarle:

# 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. Quindi, crea un database per Moodle applicazione come segue.

# mysql -u root -p

Quindi crea il database, l'utente del database e crea una password sicura per l'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. Ora scarica l'ultima versione di Moodle (3.9 nel momento in cui scrivo) dal sito ufficiale del progetto moodle, estrai il file di archivio e spostalo nella tua webroot (/var/www/html/ ), quindi imposta le autorizzazioni e la proprietà appropriate per consentire al server web di accedere alla directory di Moodle, come segue.

# 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. Quindi, crea i moodledata directory che è la posizione dei file caricati o creati da Moodle interfaccia, quindi assegna le autorizzazioni e la proprietà appropriate per consentire al server web l'accesso in lettura e scrittura ad esso:

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

6. Quindi, passa a Moodle directory di installazione e creare un config.php dal file di esempio config.dist.php fornito, quindi aprilo per modificarlo per configurare alcune impostazioni chiave per il tuo Moodle piattaforma, come i parametri di connessione al database e la posizione del sito e dove può trovare la directory moodledata:

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

Imposta il tipo di database corretto, l'host del database corretto, il nome del database e l'utente del database e la password dell'utente.

$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. Imposta anche l'URL utilizzato per accedere a Moodle sit, specifica la posizione del wwwroot dove si trovano i tuoi file web Moodle e anche il dataroot (la directory moodledata):

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

Configurazione di NGINX per servire il sito web Moodle

8. In questa sezione, devi configurare NGINX per servire il tuo Moodle applicazione. Devi creare un blocco server per esso nella configurazione NGINX come mostrato.

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

Copia e incolla la seguente configurazione nel file di configurazione del blocco del server. Sostituisci il nome del server con il tuo nome di sottodominio creato sopra e il fastcgi_pass dovrebbe puntare a php-fpm (nota che su CentOS 8 , PHP-FPM accetta FastCGI richieste utilizzando l'indirizzo definito in /etc/nginx/conf.d/php-fpm.conf configurazione).

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;
}
}

Salva il file e chiudilo.

9. Quindi controlla NGINX configurazione per correttezza, se è Ok , riavvia nginx e php-fpm servizi per applicare le modifiche recenti:

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

10. Se hai SELinux abilitato sul tuo sistema, quindi esegui i seguenti comandi per impostare il contesto corretto per l'accesso a Moodle file web sul server:

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

11. Inoltre, assicurati che l'HTTP e HTTPS i servizi sono aperti nel firewall per consentire il traffico verso NGINX server web:

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

Completa l'installazione di Moodle tramite il programma di installazione Web

12. Per accedere a Moodle programma di installazione web, apri il browser web e naviga utilizzando il sottodominio hai creato sopra:

http://learning.testprojects.me

Una volta caricata la pagina di benvenuto, leggi i termini e le condizioni e fai clic su Continua .

13. Successivamente, il programma di installazione web verificherà se il tuo sistema soddisfa i requisiti per l'esecuzione di Moodle sito della versione specificata. Puoi scorrere verso il basso per visualizzare ulteriori informazioni.

14. Il programma di installazione si lamenterà di HTTPS non essendo abilitato, ignora per ora quell'errore (nella prossima sezione mostreremo come abilitare HTTPS su Moodle) e fai clic su Continua , per avviare l'effettiva installazione dei file web.

15. Ora il programma di installazione avvierà l'effettiva installazione di Moodle file come mostrato nella schermata seguente. Al termine, fai clic su Continua .

16. Nel passaggio successivo, devi aggiornare il tuo Moodle account amministratore del sito aggiornando nome utente, password, nome e cognome e indirizzo e-mail. Quindi scorri la pagina verso il basso e fai clic su Aggiorna profilo .

17. Quindi aggiorna le impostazioni della prima pagina del sito Moodle. Quindi scorri verso il basso e fai clic su Aggiorna per iniziare a utilizzare il tuo sito Moodle.

18. Successivamente, devi registrare il tuo sito seguendo le istruzioni sullo schermo. Puoi accedere alla dashboard facendo clic su Dashboard.

Configurazione di HTTPS sul sito Moodle utilizzando Let's Encrypt

HTTPS aggiunge il primo livello di sicurezza al tuo sito per consentire comunicazioni sicure tra i tuoi utenti e Moodle applicazione (in particolare NGINX server web che riceve richieste e fornisce risposte).

Puoi acquistare un certificato SSL/TLS da una CA commerciale o utilizzare Let's Encrypt che è gratuito e riconosciuto da tutti i moderni browser web. Per questa guida utilizzeremo Let's Encrypt .

19. Il Crittografiamo La distribuzione dei certificati viene gestita automaticamente utilizzando il certbot attrezzo. Puoi installare certbot e altri pacchetti richiesti con il seguente comando:

# dnf install certbot python3-certbot-nginx

20. Quindi esegui il comando seguente per ottenere un Let's Encrypt certificato e chiedi a Certbot di modificare il tuo NGINX configurazione automaticamente per servirlo ( configurerà anche HTTP da reindirizzare automaticamente a HTTPS ).

# certbot --nginx

21. Quindi esegui il comando seguente per abilitare il rinnovo automatico di Let's Encrypt SSL/TLS certificato:

# 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. Successivamente, aggiorna la configurazione di Moodle per iniziare a utilizzare HTTPS .

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

cambia il wwwroot URL da HTTPHTTPS :

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

23. Ultimo ma non meno importante, conferma che il tuo Moodle il sito è ora in esecuzione su HTTPS .

Per ora è tutto! Per ulteriori informazioni e opzioni di configurazione per eseguire la tua nuova piattaforma di apprendimento, vai al sito Web Moodle e leggi la documentazione ufficiale.


Cent OS
  1. Come installare WordPress con Nginx su CentOS 7

  2. Come installare phpMyAdmin con Nginx su CentOS 7

  3. Come installare Nginx con il modulo RTMP su CentOS 7

  4. Come installare phpMyAdmin con Nginx su CentOS 7 / RHEL 7

  5. Come installare Sitemagic CMS su CentOS 7 – Con Nginx

Come installare phpMyAdmin con Nginx su CentOS 8 / RHEL 8

Come installare Nginx con ngx_pagespeed su CentOS

Come installare Nginx con PHP-FastCGI su CentOS 6

Come installare Magento con Nginx su CentOS 7

Come installare Laravel con Nginx su CentOS 8

Come installare la piattaforma di apprendimento Moodle in Ubuntu 20.04