Kif Tinstalla l-Pjattaforma ta' Tagħlim Moodle f'Ubuntu 20.04


Moodle hija l-aktar pjattaforma ta’ ġestjoni tat-tagħlim onlajn (e-learning) l-aktar popolari, robusta, b’xejn u open-source tad-dinja mibnija għall-web u l-mowbajl. Joffri firxa wiesgħa ta’ attivitajiet u għodod edukattivi li jippermettu lill-iskejjel, l-universitajiet u l-istituzzjonijiet relatati joffru lill-istudenti pjattaforma ta’ tagħlim flessibbli fi kwalunkwe ħin, kullimkien, mingħajr interruzzjoni tal-kors u l-kurrikulu tagħhom.

Uħud mill-karatteristiċi ġenerali tagħha jinkludu interface moderna u faċli biex tużah, dashboard personalizzata, għodod u attivitajiet kollaborattivi, kalendarju kollu f'wieħed, ġestjoni konvenjenti tal-fajls, editur sempliċi intuwittiv tat-test, notifiki, u track progress.

Importanti, Moodle huwa wkoll estensibbli ħafna bl-użu ta 'aktar minn elf plugin li jappoġġjaw attivitajiet żejda, blokki, temi, u ħafna aktar.

F'dan l-artikolu, titgħallem kif tinstalla l-aħħar verżjoni tal-Moodle Learning Platform b'database NGINX u MySQL/MariaDB fuq Ubuntu 20.04 u verżjonijiet eqdem.

  • LeMP Stack li għadu kif ġie installat.

Ladarba tkun installat il-munzell LEMP fuq is-server Ubuntu, tista 'tipproċedi aktar biex twaqqaf Moodle fuq is-server kif spjegat hawn taħt.

Fuq din il-paġna

  • Twaqqif tar-Rekord DNS għall-Applikazzjoni Moodle
  • Installazzjoni ta' Moodle f'Ubuntu Server
  • Konfigurazzjoni ta' NGINX biex Iservi l-Applikazzjoni Moodle
  • Tlesti ta' l-Installazzjoni ta' Moodle permezz ta' Web Installer
  • Ippermetti HTTPS fuq l-Applikazzjoni Moodle billi tuża Let's Encrypt

1. Biex l-utenti jaċċessaw l-istanza Moodle tiegħek għandek bżonn toħloq subdomain għaliha, għalhekk, trid toħloq rekord DNS A biex tikseb dan. Għal din il-gwida, id-dominju tat-test tagħna huwa testprojects.me, għalhekk għandna bżonn noħolqu sottodominju, pereżempju, learning.testprojects.me.

Allura, illoggja fil-console tal-web tar-reġistratur tad-dominju tiegħek u aċċess għas-settings avvanzati tad-dominju tiegħek, ikklikkja Żid Rekord Ġdid tat-tip A, host għandu jkun jitgħallem (jew kwalunkwe kelma tal-għażla tiegħek ), u l-valur għandu jkun l-indirizz IP pubbliku tas-server Ubuntu tiegħek.

2. Sussegwentement, għandek bżonn tinstalla estensjonijiet PHP u libreriji meħtieġa minn Moodle billi tuża l-maniġer tal-pakketti apt kif muri.

$ 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. Sussegwentement, oħloq database għas-sistema Moodle tiegħek. Idħol fil-qoxra tal-amministrazzjoni tad-database MySQL u oħloq id-database kif muri:

$ 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. Kif issemma qabel, għal din il-gwida, aħna se tniżżel u ninstallaw l-aħħar verżjoni Moodle (verżjoni 3.9 fil-ħin tal-kitba). Mexxi l-kmand ls li ġej biex tikkonferma li d-direttorju moodle jeżisti taħt /var/www/html/ kif muri.

$ 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. Sussegwentement, issettja l-permessi xierqa fuq id-direttorju Moodle billi tħaddem il-kmandi li ġejjin.

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

6. Sussegwentement, oħloq id-direttorju tad-dejta tal-Moodle, post fejn Moodle jista 'jiffranka fajls imtella' u jistabbilixxi l-permessi tiegħu kif muri.

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

7. Imbagħad oħloq il-fajl tal-konfigurazzjoni prinċipali Moodle mill-fajl tal-konfigurazzjoni tal-kampjun ipprovdut mal-pakkett, iftaħ.

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

Lok għat-taqsima tal-konfigurazzjoni tad-database, imbagħad ikkonfigura d-database fejn tinħażen id-data kollha tal-Moodle, kif muri fil-screenshot li ġej:

$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

Ukoll, ikkonfigura l-post tal-websajt Moodle kif ukoll il-post tad-direttorju tad-dejta Moodle kif muri.

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

Issejvja agħlaq il-fajl. Imbagħad ikkonfigura NGINX għas-server tas-sit Moodle tiegħek kif deskritt fit-taqsima li jmiss.

8. Għal NGINX biex is-server tas-sit Moodle tiegħek, għandek bżonn toħloq konfigurazzjoni ġdida tal-blokk tas-server taħt il-konfigurazzjoni NGINX, fid-direttorju /etc/nginx/conf.d/.

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

Ikkopja u waħħal il-konfigurazzjoni li ġejja fiha, ibdel learning.testprojects.me bis-sottodominju tiegħek. Barra minn hekk, id-direttiva fastcgi_pass għandha tindika l-indirizz li fuqu PHP-FPM qed jaċċetta t-talbiet FastCGI (iċċekkja l-fajl /etc/php/7.4/fpm/pool.d/www.conf għal aktar informazzjoni) .

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

Issejvja l-fajl u agħlaqha.

9. Sussegwentement, ivverifika li l-konfigurazzjoni NGINX hija OK wara li tagħmel il-bidliet ta 'hawn fuq, imbagħad terġa' tibda s-servizz NGINX b'mod grazzjuż.

$ sudo nginx -t
$ sudo systemctl reload nginx

10. Issa tiftaħ web browser u naviga billi tuża s-sottodominju tiegħek, pereżempju, learning.testprojects.me biex taċċessa l-installatur tal-web Moodle.

http://learning.testprojects.me

Ladarba l-paġna ta’ merħba titgħabba aqra l-messaġġ, ikklikkja Kompli.

11. Sussegwentement, l-installatur jiċċekkja jekk is-sistema tiegħek tissodisfax ir-rekwiżiti, jekk kollox huwa OK, iskrollja 'l isfel u kklikkja Kompli biex tibda l-installazzjoni attwali tal-fajls u twaqqaf l-iskema tad-database.

Innota li l-installatur se juri twissija dwar is-sit mhux qed jaħdem fuq HTTPS, injora t-twissija għalissa. Fl-aħħar taqsima, se nkopru kif nippermettu HTTPS fuq Moodle billi tuża ċertifikati Let's Encrypt b'xejn.

Ladarba l-installazzjoni titlesta, ikklikkja fuq Kompli.

12. Imbagħad, ikkonfigura l-kont tal-amministratur tas-sit Moodle tiegħek billi toħloq l-isem tal-utent tal-kont, il-password, l-isem u l-kunjom, u l-indirizz tal-email. Imbagħad iskrollja 'l isfel u kklikkja Aġġorna l-Kont.

13. Sussegwentement, ikkonfigura s-settings tal-paġna ta 'quddiem tas-sit Moodle kif muri fil-screenshot li ġej. Imbagħad iscrollja 'l isfel u kklikkja Aġġorna.

14. L-installatur tal-web awtomatikament jidħol fis-sit il-ġdid tal-Moodle. Tista' tlesti r-reġistrazzjoni tas-sit tiegħek billi ssegwi l-istruzzjonijiet fuq l-iskrin.

15. Biex tipproteġi s-sit Moodle tiegħek, jeħtieġ li tattiva l-HTTPS. Għal din il-gwida, se nużaw Let's Encrypt ċertifikati SSL/TLS b'xejn u fdati. Vantaġġ ieħor li tuża Let's Encrypt huwa li hija awtomatizzata.

Allura, mur lura fit-terminal tiegħek u mexxi l-kmand li ġej biex tinstalla ċ-ċertbot fuq Ubuntu (għodda b'xejn u open-source biex tuża awtomatikament iċ-ċertifikati Let's Encrypt biex tippermetti HTTPS fuq siti amministrati manwalment).

$ sudo snap install --classic certbot

16. Imbagħad toħroġ il-kmand li ġej biex tikseb ċertifikat u qabbad lil Certbot teditja l-konfigurazzjoni NGINX tiegħek biex tikkonfigura awtomatikament iċ-ċertifikat il-ġdid.

$ sudo certbot --nginx

17. Sussegwentement, mur lura għall-fajl tal-konfigurazzjoni tas-sit Moodle.

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

u ibdel il-URL minn HTTP għal HTTPS kif muri fil-screenshot li ġej.

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

18. Finalment, ivverifika mill-browser li s-sit Moodle tiegħek issa qed jaħdem fuq HTTPS.

https://learning.testprojects.me

Dak kollu għalissa! Mur fid-dokumentazzjoni ta' Moodle 3.9 għal aktar informazzjoni, għażliet ta' konfigurazzjoni, u gwida għall-użu.