Kako namestiti Moodle Learning Platform v Ubuntu 20.04


Moodle je najbolj priljubljena, robustna, brezplačna in odprtokodna platforma za upravljanje spletnega učenja (e-učenja) na svetu, zgrajena za splet in mobilne naprave. Ponuja široko paleto dejavnosti in izobraževalnih orodij, ki šolam, univerzam in sorodnim ustanovam omogočajo, da študentom kadar koli in kjer koli ponujajo prilagodljivo učno platformo, ne da bi pri tem prekinili njihov tečaj in učni načrt.

Nekatere njegove splošne značilnosti vključujejo sodoben, enostaven za uporabo vmesnik, prilagojeno nadzorno ploščo, orodja in dejavnosti za sodelovanje, koledar vse v enem, priročno upravljanje datotek, preprost intuitiven urejevalnik besedila, obvestila in sledenje napredku.

Pomembno pa je, da je Moodle tudi zelo razširljiv z uporabo več kot tisoč vtičnikov, ki podpirajo dodatne dejavnosti, bloke, teme in še veliko več.

V tem članku boste izvedeli, kako namestiti najnovejšo različico Moodle Learning Platform z bazo podatkov NGINX in MySQL/MariaDB v Ubuntu 20.04 in starejše različice.

  • Nameščen sveže nameščen LEMP Stack.

Ko ste na strežnik Ubuntu namestili sklad LEMP, lahko nadaljujete z nastavitvijo Moodle na strežniku, kot je razloženo spodaj.

Na tej strani

  • Nastavitev zapisa DNS za aplikacijo Moodle
  • Namestitev Moodle v strežnik Ubuntu
  • Konfiguriranje NGINX za strežbo aplikacije Moodle
  • Dokončanje namestitve Moodle prek spletnega namestitvenega programa
  • Omogočite HTTPS v aplikaciji Moodle z uporabo Let’s Encrypt

1. Če želite, da uporabniki dostopajo do vašega primerka Moodle, morate zanj ustvariti poddomeno, zato morate za to ustvariti zapis DNS A . V tem priročniku je naša testna domena testprojects.me , zato moramo ustvariti poddomeno, na primer learning.testprojects.me .

Torej, prijavite se v spletno konzolo registra domene in odprite napredne nastavitve domene, kliknite Dodaj nov zapis vrste A , gostitelj se mora učiti (ali katero koli besedo po vaši izbiri ), vrednost pa naj bo javni naslov IP vašega strežnika Ubuntu.

2. Nato morate namestiti razširitve PHP in knjižnice, ki jih zahteva Moodle, z upraviteljem paketov apt, kot je prikazano.

$ sudo apt update
$ sudo apt 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. Nato ustvarite bazo podatkov za svoj sistem Moodle. Prijavite se v lupino za upravljanje baze podatkov MySQL in ustvarite bazo podatkov, kot je prikazano:

$ sudo mysql

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

4. Kot smo že omenili, bomo za ta vodnik prenesli in namestili najnovejšo različico Moodle (različica 3.9 v času pisanja). Zaženite naslednji ukaz ls, da potrdite, da imenik moodle obstaja pod/var/www/html /, kot je prikazano.

$ wget -c https://download.moodle.org/download.php/direct/stable39/moodle-latest-39.tgz
$ sudo tar -zvxf moodle-latest-39.tgz -C /var/www/html/
$ ls /var/www/html/

5. Nato nastavite ustrezna dovoljenja za imenik Moodle z zagonom naslednjih ukazov.

$ sudo chown www-data:www-data -R /var/www/html/moodle
$ sudo chmod 775 -R /var/www/html/moodle

6. Nato ustvarite podatkovni imenik Moodle, kjer lahko Moodle shrani naložene datoteke in nastavi dovoljenja, kot je prikazano.

$ sudo mkdir -p /var/moodledata
$ sudo chmod 775 -R /var/moodledata
$ sudo chown www-data:www-data -R  /var/moodledata

7. Nato ustvarite glavno konfiguracijsko datoteko Moodle iz vzorčne konfiguracijske datoteke, ki je priložena paketu, in jo odprite.

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

Lok za razdelek o konfiguraciji baze podatkov, nato konfigurirajte bazo podatkov, v kateri bodo shranjeni vsi podatki Moodle, kot je prikazano na naslednjem posnetku zaslona:

$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    = 'moodle';     // database name, eg moodle
$CFG->dbuser    = 'moodleadmin';   // your database username
$CFG->dbpass    = '[email ';   // your database password
$CFG->prefix    = 'mdl_';       // prefix to use for all table names

Konfigurirajte tudi lokacijo spletnega mesta Moodle in lokacijo podatkovnega imenika Moodle, kot je prikazano.

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

Shranite zaprto datoteko. Nato konfigurirajte NGINX za strežnik vašega spletnega mesta Moodle, kot je opisano v naslednjem poglavju.

8. Da bo NGINX strežil vaše spletno mesto Moodle, morate v imeniku /etc/nginx/conf.d/ v konfiguraciji NGINX ustvariti novo konfiguracijo blokov strežnika.

$ sudo vim /etc/nginx/conf.d/moodle.conf

Kopirajte in prilepite naslednjo konfiguracijo, nadomestite learning.testprojects.me s svojo poddomeno. Poleg tega naj direktiva fastcgi_pass kaže na naslov, na katerem PHP-FPM sprejema zahteve FastCGI (za več informacij poglejte datoteko /etc/php/7.4/fpm/pool.d/www.conf) .

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           unix:/run/php/php7.4-fpm.sock;
        include                 /etc/nginx/mime.types;
        include                 fastcgi_params;
        fastcgi_param           PATH_INFO       $fastcgi_path_info;
        fastcgi_param           SCRIPT_FILENAME $document_root$fastcgi_script_name;
}
}

Datoteko shranite in zaprite.

9. Nato po zgornjih spremembah preverite, ali je konfiguracija NGINX v redu, nato pa znova zaženite storitev NGINX.

$ sudo nginx -t
$ sudo systemctl reload nginx

10. Zdaj odprite spletni brskalnik in krmarite s svojo poddomeno, na primer learning.testprojects.me za dostop do spletnega namestitvenega programa Moodle.

http://learning.testprojects.me

Ko se pozdravna stran naloži, preberite sporočilo, kliknite Nadaljuj.

11. Nato bo namestitveni program preveril, ali vaš sistem izpolnjuje zahteve, če je vse v redu, se pomaknite navzdol in kliknite Nadaljuj, da začnete dejansko namestiti datoteke in nastaviti shemo baze podatkov.

Upoštevajte, da bo namestitveni program prikazal opozorilo o tem, da se spletno mesto ne izvaja na HTTPS, opozorilo za zdaj prezrite. V zadnjem poglavju bomo opisali, kako omogočiti HTTPS v Moodle z uporabo brezplačnih potrdil Let’s Encrypt.

Ko je namestitev končana, kliknite Nadaljuj.

12. Nato konfigurirajte skrbniški račun spletnega mesta Moodle tako, da ustvarite uporabniško ime, geslo, ime in priimek ter e-poštni naslov. Nato se pomaknite navzdol in kliknite Posodobi račun.

13. Nato konfigurirajte nastavitve naslovne strani spletnega mesta Moodle, kot je prikazano na naslednjem posnetku zaslona. Nato se pomaknite navzdol in kliknite Posodobi.

14. Spletni namestitveni program vas bo samodejno prijavil na novo spletno mesto Moodle. Registracijo spletnega mesta lahko dokončate tako, da sledite navodilom na zaslonu.

15. Za zaščito spletnega mesta Moodle morate omogočiti HTTPS. V tem priročniku bomo uporabili šifrirajmo brezplačna in zaupanja vredna potrdila SSL/TLS. Druga prednost uporabe Let’s Encrypt je, da je avtomatizirana.

Torej, vrnite se na svoj terminal in zaženite naslednji ukaz za namestitev certbota na Ubuntu (brezplačno odprtokodno orodje za samodejno uporabo certifikatov Let’s Encrypt za omogočanje HTTPS na ročno upravljanih spletnih mestih).

$ sudo snap install --classic certbot

16. Nato izdajte naslednji ukaz, da dobite potrdilo in naj Certbot uredi vašo konfiguracijo NGINX, da samodejno konfigurira novo potrdilo.

$ sudo certbot --nginx

17. Nato se vrnite na konfiguracijsko datoteko spletnega mesta Moodle.

$ sudo vim /var/www/html/moodle/config.php 

in spremenite URL iz HTTP v HTTPS, kot je prikazano na naslednjem posnetku zaslona.

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

18. Na koncu v brskalniku preverite, ali se vaše spletno mesto Moodle zdaj izvaja na HTTPS.

https://learning.testprojects.me

To je vse za zdaj! Za več informacij, možnosti konfiguracije in navodila za uporabo pojdite v dokumentacijo Moodle 3.9.