Kuidas installida Moodle'i õppeplatvorm koos Nginxiga CentOS 8-s


Moodle on maailma populaarseim õpihaldussüsteem tugevate veebipõhiste õppesaitide loomiseks. See sisaldab mitmesuguseid tegevusi ja õppevahendeid, mille vahel saate valida, see toetab hindamise haldamist ja tarnib kohandatud sertifikaate. Samuti võimaldab see võimsa videokonverentsi tööriista abil suhelda oma õpilastega reaalajas. Pealegi on see mobiilseadmetele valmis, nii et teie õpilased saavad oma mobiilseadmetest õppida.

  • Operatsioonisüsteem: installitud on minimaalne LEMP-virna.
  • Kettaruum: 200 MB Moodle'i jaoks ja 5 GB on tõenäoliselt sisu salvestamise realistlik miinimum.
  • Protsessor: 1 GHz (min), 2 GHz kahetuumaline või rohkem soovitatav.
  • Mälu: soovitatav on 512 MB (min), 1 GB või rohkem. 8 GB pluss on tõenäoliselt suures tootmisserveris.

Sellel lehel

  • Domeeni DNS-kirje loomine Moodle'i veebisaidile
  • Moodle'i õppeplatvormi installimine CentOS 8 serverisse
  • NGINX-i konfigureerimine Moodle'i veebisaidi esitamiseks
  • Moodle'i täielik installimine veebi installiprogrammi kaudu
  • Lubage HTTPS Moodle'i saidil, kasutades krüptimist.

1. Alustage alamdomeeni loomisest, mida kasutajad kasutavad Moodle'i veebipõhisele õppesaidile pääsemiseks. Näiteks kui teie domeeninimi on testprojects.me , saate luua alamdomeeni nimega learning.testprojects.me .

Avage oma domeeninime täpsemad DNS-i seaded ja lisage kirje A , nagu on näidatud järgmisel pildil.

2. Enne Moodle'i installimist veenduge, et teie serveris on vajalikud PHP laiendused, võite nende installimiseks käivitada järgmise käsu:

# 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. Seejärel looge rakenduse Moodle jaoks andmebaas järgmiselt.

# mysql -u root -p

Seejärel looge andmebaas, andmebaasi kasutaja ja looge kasutamiseks turvaline parool.

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 ';
MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> exit

4. Nüüd laadige alla Moodle'i uusim versioon (kirjutamise ajal 3.9) moodle'i projekti ametlikult veebisaidilt, eraldage arhiivifail ja teisaldage see oma veebijuure (/var/www/html/) kataloog, seejärel määrake vastavad õigused ja omandiõigused, et veebiserver saaks juurdepääsu Moodle'i kataloogile järgmiselt.

# 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. Järgmisena looge moodledata kataloog, mis asub Moodle'i liidese kaudu üles laaditud või loodud failide asukohaks, seejärel määrake vastavad õigused ja omandiõigused, et veebiserveril oleks sellele lugemis- ja kirjutusjuurdepääs:

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

6. Järgmisena minge Moodle'i installikataloogi ja looge pakutavast config.dist.php -failist config.php -fail, seejärel avage see mõne seadistamiseks redigeerimiseks teie Moodle'i platvormi peamised seaded, nagu andmebaasi ühenduse parameetrid ja saidi asukoht ning kust see saab moodledata kataloogi leida:

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

Määrake õige andmebaasi tüüp, õige andmebaasi hosti, andmebaasi nimi ja andmebaasi kasutaja ning kasutaja parool.

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

7. Määra ka URL, mida kasutatakse teie Moodle'i istumisele pääsemiseks, see määrab kindlaks selle wwwrooti asukoha, kus teie Moodle'i veebifailid asuvad, ja ka andmebaasi (moodledata kataloog):

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

8. Selles jaotises peate NGINXi konfigureerima teie Moodle'i rakenduse teenimiseks. Selle jaoks peate NGINX-i konfiguratsioonis looma serveriploki, nagu näidatud.

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

Kopeerige ja kleepige järgmine konfiguratsioon serveriploki konfiguratsioonifaili. Asendage serveri nimi ülaltoodud alamdomeeninimega ja fastcgi_pass peaks osutama väärtusele php-fpm (pange tähele, et CentOS 8-s aktsepteerib PHP-FPM FastCGI-päringuid aadressil, mis on määratud /etc/nginx/conf.d/php- fpm.conf seadistamine).

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

Salvestage fail ja sulgege see.

9. Seejärel kontrollige NGINX-i konfiguratsiooni õigsust, kui see on Ok, taaskäivitage viimaste muudatuste rakendamiseks teenused nginx ja php-fpm:

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

10. Kui teie süsteemis on lubatud SELinux, siis käivitage järgmised käsud, et seadistada serveris Moodle'i veebifailidele juurdepääsuks õige kontekst:

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

11. Lisaks veenduge, et tulemüüris oleksid avatud HTTP- ja HTTPS-teenused, et võimaldada liiklust NGINX-i veebiserverisse:

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

12. Moodle'i veebiinstalleri avamiseks avage oma veebibrauser ja navigeerige ülaltoodud alamdomeeni abil:

http://learning.testprojects.me

Kui tervitusleht on laaditud, lugege tingimused ja tingimused läbi ning klõpsake nuppu Jätka.

13. Järgmisena kontrollib veebi installija, kas teie süsteem vastab määratud versiooniga Moodle'i saidi käitamise nõuetele. Lisateabe vaatamiseks võite kerida alla.

14. Installer kurdab, et HTTPS ei ole lubatud, ignoreerib seda viga praegu (järgmises jaotises näitame, kuidas HTTPS-i Moodle'is lubada) ja klõpsake veebifailide tegeliku installimise alustamiseks nuppu Jätka.

15. Nüüd alustab installer Moodle'i failide tegelikku installimist, nagu on näidatud järgmisel ekraanipildil. Kui see on lõpule jõudnud, klõpsake nuppu Jätka.

16. Järgmise sammuna peate värskendama oma Moodle'i saidi administraatori kontot, uuendades kasutajanime, parooli, eesnime ja perekonnanime ning e-posti aadressi. Seejärel kerige lehte alla ja klõpsake nuppu Uuenda profiili.

17. Seejärel värskendage saidi Moodle esilehe seadeid. Seejärel kerige Moodle'i saidi kasutamise alustamiseks alla ja klõpsake nuppu Värskenda.

18. Järgmisena peate oma saidi registreerima, järgides ekraanil kuvatavaid juhiseid. Juhtpaneelile saate minna, klõpsates juhtpaneelil.

HTTPS lisab teie saidile esimese turvakihi, et võimaldada turvalist sidet teie kasutajate ja rakenduse Moodle (eriti NGINX veebiserveri vahel, mis võtab vastu taotlusi ja edastab vastuseid).

Võite kas osta SSL/TLS-sertifikaadi kaubanduslikust CA-st või kasutada Let’s Encrypt, mis on tasuta ja kõigi tänapäevaste veebibrauserite poolt tunnustatud. Selle juhendi jaoks kasutame Let’s Encrypt.

19. Let’s Encrypt Certificate'i juurutamist hallatakse automaatselt certboti tööriista abil. Certboti ja muid vajalikke pakette saate installida järgmise käsuga:

# dnf install certbot python3-certbot-nginx

20. Seejärel käivitage sertifikaadi Let’s Encrypt saamiseks järgmine käsk ja laske Certbotil redigeerida teie NGINX-i konfiguratsiooni selle teenindamiseks automaatselt (see konfigureerib ka HTTP-d automaatselt HTTPS-i suunama).

# certbot --nginx

21. Seejärel käivitage Let’s Encrypt SSL/TLS sertifikaadi automaatse uuendamise lubamiseks järgmine käsk:

# 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. Järgmisena värskendage oma Moodle'i konfiguratsiooni, et hakata HTTPS-i kasutama.

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

muutke wwwroot URL-i HTTP-st HTTPS-i:

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

23. Lõpuks kinnitage, et teie Moodle'i sait töötab nüüd HTTPS-is.

Praegu on see kõik! Uue õppeplatvormi käitamiseks lisateabe ja konfiguratsioonivõimaluste saamiseks minge Moodle'i veebisaidile ja lugege läbi ametlik dokumentatsioon.