Ubuntu 20.04-de Moodle Learning platformasyny nädip gurmaly


Moodle, dünýäde iň meşhur, ygtybarly, erkin we açyk çeşmeli onlaýn okuw (elektron okuw) dolandyryş platformasydyr. Mekdeplere, uniwersitetlere we degişli edaralara talyplara islendik wagt, islendik ýerde, okuwyna we okuw meýilnamasyna päsgelçiliksiz çeýe okuw platformasyny hödürlemäge mümkinçilik berýän köp sanly çäreleri we okuw gurallaryny hödürleýär.

Onuň umumy aýratynlyklarynyň käbiri döwrebap, ulanmaga aňsat interfeýs, şahsylaşdyrylan dolandyryş paneli, bilelikdäki gurallar we çäreler, bir senenama, amatly faýl dolandyryşy, ýönekeý duýgur tekst redaktory, habarnamalar we ösüşi yzarlamak.

Möhümi, Moodle goşmaça çäreleri, bloklary, mowzuklary we başga-da köp zady goldaýan müňden gowrak plugin ulanyp, gaty giňelýär.

Bu makalada, Moodle Learning Platformasynyň iň soňky wersiýasyny Ubuntu 20.04 we köne wersiýalarynda NGINX we MySQL/MariaDB maglumat bazasy bilen nädip gurmalydygyny öwrenersiňiz.

  • Täze gurlan LEMP Stack guruldy.

Ubuntu serwerinde LEMP stakany guranyňyzdan soň, aşakda düşündirilişi ýaly serwerde Moodle gurmak üçin dowam edip bilersiňiz.

Bu sahypada

  • Moodle programmasy üçin DNS ýazgysyny düzmek
  • Ubuntu serwerinde Moodle gurmak
  • Moodle programmasyna hyzmat etmek üçin NGINX sazlamak
  • Web gurnaýjy arkaly Moodle gurnamasyny tamamlamak
  • Geliň, şifrlemek arkaly Moodle programmasynda HTTPS-i işlediň

1. Ulanyjylar “Moodle” mysalyňyza girmek üçin onuň üçin subdomain döretmeli, şonuň üçin munuň üçin DNS A ýazgysyny döretmeli. Bu gollanma üçin synag domenimiz testprojects.me , şonuň üçin subdomain döretmeli, mysal üçin learning.testprojects.me .

Şeýlelik bilen, domen registratoryňyzyň web konsolyna giriň we domeniňiziň ösen sazlamalaryna giriň, A görnüşiniň täze ýazgysyny goşuň, öý eýesi öwreniş bolmaly (ýa-da islän sözüňiz) ), we baha Ubuntu serweriňiziň umumy IP adresi bolmaly.

2. Ondan soň, görkezilişi ýaly apt paket dolandyryjysyny ulanyp, Moodle tarapyndan talap edilýän PHP giňeltmelerini we kitaphanalary gurmaly.

$ 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. Ondan soň Moodle ulgamyňyz üçin maglumat bazasyny dörediň. MySQL maglumat bazasynyň dolandyryş gabygyna giriň we görkezilişi ýaly maglumat bazasyny dörediň:

$ 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. Öň hem belläp geçişimiz ýaly, bu gollanma üçin iň soňky wersiýany Moodle göçürip alarys (ýazylanda 3.9 wersiýasy). Keýp katalogynyň görkezilişi ýaly/var/www/html/aşagynda bardygyny tassyklamak üçin aşakdaky ls buýrugyny işlediň.

$ 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. Ondan soň, aşakdaky buýruklary işledip, Moodle katalogyna degişli rugsatlary goýuň.

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

6. Ondan soň, Moodle ýüklenen faýllary ýatda saklap we rugsatlaryny görkezilişi ýaly kesgitläp biljek ýeri bolan Moodle maglumat katalogyny dörediň.

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

7. Soňra paket bilen üpjün edilen nusga konfigurasiýa faýlyndan Moodle esasy konfigurasiýa faýly dörediň, açyň.

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

Maglumat bazasynyň konfigurasiýa bölümini gözläň, soňra aşakdaky skrinshotda görkezilişi ýaly ähli Moodle maglumatlarynyň saklanjak maglumat bazasyny düzüň:

$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

Şeýle hem, Moodle web sahypasynyň ýerleşişini we görkezilişi ýaly Moodle maglumat katalogynyň ýerleşişini düzüň.

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

Faýly ýapyň. Soňra indiki bölümde görkezilişi ýaly Moodle sahypaňyza serwer etmek üçin NGINX sazlaň.

8. NGINX Moodle sahypaňyza serwer bermek üçin, NGETX konfigurasiýasy boýunça /etc/nginx/conf.d/ katalogynda täze serwer blok konfigurasiýasyny döretmeli.

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

Aşakdaky konfigurasiýany göçüriň we göçüriň, learning.testprojects.me kiçi domeniňiz bilen çalşyň. Mundan başga-da, fastcgi_pass direktiwasynda PHP-FPM-iň FastCGI haýyşlaryny kabul edýän salgysy görkezilmelidir (has giňişleýin maglumat üçin /etc/php/7.4/fpm/pool.d/www.conf faýlyna göz aýlaň) .

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

Faýly ýazdyryň we ýapyň.

9. Ondan soň, ýokardaky üýtgeşmelerden soň NGINX konfigurasiýasynyň dogrudygyny barlaň, soň bolsa NGINX hyzmatyny täzeden açyň.

$ sudo nginx -t
$ sudo systemctl reload nginx

10. Indi web brauzerini açyň we subdomeniňizi ulanyp geziň, mysal üçin Moodle web gurnaýjysyna girmek üçin learning.testprojects.me .

http://learning.testprojects.me

Hoş geldiňiz sahypasy habary okandan soň, Dowam et düwmesine basyň.

11. Ondan soň, gurnaýjy ulgamyňyzyň talaplara laýyk gelýändigini ýa-da ýokdugyny barlar, hemme zat gowy bolsa, aşak aýlaň we faýllary hakyky gurnamaga başlamak we maglumat bazasynyň shemasyny gurmak üçin Dowam et düwmesine basyň.

Gurnaýjynyň, HTTPS-de işlemeýän sahypasy barada duýduryş görkezjekdigine üns beriň, häzirlikçe duýduryşy äsgermezlik ediň. Iň soňky bölümde, mugt şifrlemek şahadatnamalaryny ulanyp, Moodle-de HTTPS-i nädip işletmelidigini açarys.

Gurmak gutaransoň, Dowam et düwmesine basyň.

12. Ondan soň, hasaby ulanyjy adyny, parolyny, adyňyzy we familiýaňyzy we e-poçta salgyňyzy döredip, Moodle sahypaňyzyň administrator hasabyny düzüň. Soňra aşak aýlaň we Hasaby täzele düwmesine basyň.

13. Ondan soň, aşakdaky skrinshotda görkezilişi ýaly Moodle sahypasynyň baş sahypasynyň sazlamalaryny düzüň. Soňra aşak aýlaň we Täzelenmä basyň.

14. Web gurnaýjy, sizi täze Moodle saýtyna awtomatiki girizer. Sahypaňyzy hasaba almagy ekrandaky görkezmelere eýerip bilersiňiz.

15. Moodle sahypaňyzy goramak üçin HTTPS-i işletmeli. Bu gollanma üçin mugt we ygtybarly SSL/TLS şahadatnamalaryny ulanalyň. “Let Encrypt” ulanmagyň ýene bir artykmaçlygy, awtomatlaşdyrylanlygydyr.

Şeýlelik bilen, terminalyňyza gaýdyp, Ubuntu-da sertifikaty gurmak üçin aşakdaky buýrugy işlediň (el bilen dolandyrylýan saýtlarda HTTPS-i işletmek üçin Let Encrypt şahadatnamalaryny awtomatiki ulanmak üçin mugt, açyk çeşme gural).

$ sudo snap install --classic certbot

16. Soňra şahadatnama almak we täze şahadatnamany awtomatiki düzmek üçin Certbot NGINX konfigurasiýaňyzy redaktirlemek üçin aşakdaky buýrugy beriň.

$ sudo certbot --nginx

17. Ondan soň Moodle sahypasynyň konfigurasiýa faýlyna gaýdyp geliň.

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

we aşakdaky skrinshotda görkezilişi ýaly URL-ni HTTP-den HTTPS-e üýtgediň.

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

18. Netijede, brauzerden Moodle sahypaňyzyň indi HTTPS-de işleýändigini barlaň.

https://learning.testprojects.me

Bularyň hemmesi häzirlikçe! Has giňişleýin maglumat, konfigurasiýa opsiýalary we ulanyş gollanmasy üçin Moodle 3.9 resminamalaryna gidiň.