Kaip įdiegti Moodle mokymosi platformą Ubuntu 20.04


Moodle yra populiariausia, patikimiausia, nemokama ir atvirojo kodo internetinio mokymosi (el. mokymosi) valdymo platforma pasaulyje, sukurta žiniatinkliui ir mobiliesiems. Ji siūlo platų spektrą veiklų ir mokymo priemonių, leidžiančių mokykloms, universitetams ir susijusioms institucijoms pasiūlyti studentams lanksčią mokymosi platformą bet kuriuo metu ir bet kur, nepertraukiant kurso ir mokymo programos.

Kai kurios bendrosios funkcijos apima modernią, lengvai naudojamą sąsają, personalizuotą prietaisų skydelį, bendradarbiavimo įrankius ir veiklą, „viskas viename“ kalendorių, patogų failų tvarkymą, paprastą intuityvią teksto rengyklę, pranešimus ir sekti pažangą.

Svarbu tai, kad Moodle taip pat labai išplečiama naudojant daugiau nei tūkstantį papildinių, kurie palaiko papildomas veiklas, blokus, temas ir dar daugiau.

Šiame straipsnyje sužinosite, kaip įdiegti naujausią Moodle Learning Platform versiją su NGINX ir MySQL/MariaDB duomenų baze Ubuntu 20.04 ir senesnės versijos.

Reikalavimai serveriui:

  • Naujai įdiegtas Ubuntu 20.04 serveris su įdiegtu LEMP Stack.

Įdiegę LEMP krūvą Ubuntu serveryje, galite tęsti ir nustatyti Moodle serveryje, kaip paaiškinta toliau.

Šiame puslapyje

  • „Moodle“ programos DNS įrašo nustatymas
  • Moodle diegimas Ubuntu serveryje
  • NGINX konfigūravimas aptarnauti Moodle programą
  • Moodle diegimo užbaigimas naudojant žiniatinklio diegimo programą
  • Įgalinkite HTTPS „Moodle“ programoje naudodami „Let’s Encrypt“.

„Moodle“ programos DNS įrašo nustatymas

1. Kad naudotojai galėtų pasiekti jūsų Moodle egzempliorių, turite sukurti jam padomenį, taigi, turite sukurti DNS A įrašą, kad tai pasiektumėte. Šiame vadove mūsų bandomasis domenas yra testprojects.me, todėl turime sukurti padomenį, pvz., learning.testprojects.me.

Taigi, prisijunkite prie domeno registratoriaus žiniatinklio konsolės ir pasiekite išplėstinius domeno nustatymus, spustelėkite Pridėti naują įrašą, kurio tipas yra A. Priegloba turėtų mokytis. (arba bet koks jūsų pasirinktas žodis), o vertė turėtų būti jūsų Ubuntu serverio viešasis IP adresas.

Moodle diegimas Ubuntu serveryje

2. Tada turite įdiegti PHP plėtinius ir bibliotekas, kurių reikia Moodle, naudodami apt paketų tvarkyklę, kaip parodyta.

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. Tada sukurkite savo Moodle sistemos duomenų bazę. Prisijunkite prie MySQL duomenų bazės administravimo apvalkalo ir sukurkite duomenų bazę, kaip parodyta:

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 'Secur3P@zzwd';
MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> quit;

4. Kaip minėta anksčiau, šiame vadove atsisiųsime ir įdiegsime naujausią Moodle versiją (rašymo metu 3.9 versija). Vykdykite šią komandą wget, kad paimtumėte Moodle paketą ir atitinkamai išskleiskite komandą tar. Tada naudokite komandą ls, kad patvirtintumėte, jog moodle katalogas yra /var/www/html/, kaip parodyta.

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. Tada nustatykite tinkamus leidimus Moodle kataloge vykdydami šias komandas.

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

6. Tada sukurkite Moodle duomenų katalogą – vietą, kurioje Moodle gali išsaugoti įkeltus failus ir nustatyti leidimus, kaip parodyta.

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

7. Tada sukurkite pagrindinį Moodle konfigūracijos failą iš pavyzdinio konfigūracijos failo, pateikto kartu su paketu, atidarykite jį.

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

Raskite duomenų bazės konfigūravimo skyrių, tada sukonfigūruokite duomenų bazę, kurioje bus saugomi visi Moodle duomenys, kaip parodyta šioje ekrano kopijoje:

$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    = 'Secur3P@zzwd';   // your database password
$CFG->prefix    = 'mdl_';       // prefix to use for all table names

Taip pat sukonfigūruokite Moodle svetainės vietą ir Moodle duomenų katalogo vietą, kaip parodyta.

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

Išsaugokite uždarykite failą. Tada sukonfigūruokite NGINX, kad būtų galima aptarnauti Moodle svetainę, kaip aprašyta kitame skyriuje.

NGINX konfigūravimas aptarnauti Moodle programą

8. Kad NGINX galėtų aptarnauti jūsų Moodle svetainę, turite sukurti naują serverio bloko konfigūraciją NGINX konfigūracijoje, kataloge /etc/nginx/conf.d/.

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

Nukopijuokite ir įklijuokite toliau nurodytą konfigūraciją, pakeiskite learning.testprojects.me savo padomeniu. Be to, direktyva fastcgi_pass turėtų nurodyti adresą, kuriuo PHP-FPM priima FastCGI užklausas (patikrinkite /etc/php/7.4/fpm/pool.d/www.conf failą, kad gautumėte daugiau informacijos).

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

Išsaugokite failą ir uždarykite jį.

9. Tada patikrinkite, ar NGINX konfigūracija yra tinkama, atlikę anksčiau nurodytus pakeitimus, tada gražiai iš naujo paleiskite NGINX paslaugą.

sudo nginx -t
sudo systemctl reload nginx

Moodle diegimo užbaigimas naudojant žiniatinklio diegimo programą

10. Dabar atidarykite žiniatinklio naršyklę ir naršykite naudodami padomenį, pvz., learning.testprojects.me, kad pasiektumėte Moodle žiniatinklio diegimo programą.

http://learning.testprojects.me

Kai įkeliamas pasveikinimo puslapis, perskaitykite pranešimą, spustelėkite Tęsti.

11. Tada diegimo programa patikrins, ar jūsų sistema atitinka reikalavimus. Jei viskas gerai, slinkite žemyn ir spustelėkite Tęsti, kad pradėtumėte faktinį failų diegimą ir duomenų bazės nustatymą. schema.

Atminkite, kad diegimo programa parodys įspėjimą, kad svetainė neveikia naudojant HTTPS, kol kas nekreipkite dėmesio į įspėjimą. Paskutiniame skyriuje aptarsime, kaip įjungti HTTPS sistemoje Moodle naudojant nemokamus Šifruokime sertifikatus.

Kai diegimas bus baigtas, spustelėkite Tęsti.

12. Tada sukonfigūruokite savo Moodle svetainės administratoriaus paskyrą sukurdami paskyros naudotojo vardą, slaptažodį, vardą ir pavardę bei el. pašto adresą. Tada slinkite žemyn ir spustelėkite Atnaujinti paskyrą.

13. Tada sukonfigūruokite Moodle svetainės pagrindinio puslapio nustatymus, kaip parodyta toliau esančioje ekrano kopijoje. Tada slinkite žemyn ir spustelėkite Atnaujinti.

14. Žiniatinklio diegimo programa automatiškai prisijungs prie naujos Moodle svetainės. Svetainės registraciją galite užbaigti vadovaudamiesi ekrane pateikiamomis instrukcijomis.

HTTPS nustatymas „Moodle“ programoje naudojant „Let’s Encrypt“.

15. Norėdami apsaugoti Moodle svetainę, turite įgalinti HTTPS. Šiam vadovui naudosime nemokamus ir patikimus Užšifruokime SSL/TLS sertifikatus. Kitas „Let’s Encrypt“ naudojimo pranašumas yra tai, kad jis yra automatizuotas.

Taigi grįžkite į savo terminalą ir paleiskite šią komandą, kad įdiegtumėte certbot Ubuntu (nemokamą atvirojo kodo įrankį, skirtą automatiškai naudoti Let’s Encrypt sertifikatus, kad įgalintumėte HTTPS rankiniu būdu administruojamose svetainėse).

sudo snap install --classic certbot

16. Tada išduokite šią komandą, kad gautumėte sertifikatą ir Certbot redaguotų NGINX konfigūraciją, kad būtų automatiškai sukonfigūruotas naujas sertifikatas.

sudo certbot --nginx

17. Tada grįžkite į Moodle svetainės konfigūracijos failą.

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

ir pakeiskite URL iš HTTP į HTTPS, kaip parodyta toliau pateiktoje ekrano kopijoje.

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

18. Galiausiai naršyklėje patikrinkite, ar jūsų Moodle svetainė dabar veikia naudojant HTTPS.

https://learning.testprojects.me

Tai kol kas viskas! Daugiau informacijos, konfigūravimo parinkčių ir naudojimo vadovo rasite Moodle 3.9 dokumentacijoje.