Jinsi ya Kufunga Jukwaa la Kujifunza la Moodle katika Ubuntu 20.04


Moodle ni jukwaa la usimamizi maarufu duniani, thabiti, lisilolipishwa na la chanzo huria (e-learning) lililoundwa kwa ajili ya wavuti na simu. Inatoa anuwai ya shughuli na zana za elimu zinazowezesha shule, vyuo vikuu na taasisi zinazohusiana kuwapa wanafunzi jukwaa la kujifunza linalonyumbulika wakati wowote, mahali popote, bila kukatizwa na kozi na mtaala wao.

Baadhi ya vipengele vyake vya jumla ni pamoja na kiolesura cha kisasa, kilicho rahisi kutumia, dashibodi ya kibinafsi, zana na shughuli shirikishi, kalenda ya yote kwa moja, usimamizi rahisi wa faili, kihariri rahisi cha maandishi, arifa, na kufuatilia maendeleo.

Muhimu, Moodle pia inaweza kupanuliwa sana kwa kutumia zaidi ya programu-jalizi elfu moja zinazoauni shughuli za ziada, vizuizi, mada na mengine mengi.

Katika makala haya, utajifunza jinsi ya kusakinisha toleo jipya zaidi la Mfumo wa Kujifunza wa Moodle na hifadhidata ya NGINX na MySQL/MariaDB kwenye Ubuntu 20.04 na matoleo ya awali.

  • Rafu mpya ya LEMP iliyosakinishwa imesakinishwa.

Mara tu ukisakinisha safu ya LEMP kwenye seva ya Ubuntu, unaweza kuendelea zaidi kusanidi Moodle kwenye seva kama ilivyoelezewa hapa chini.

Katika ukurasa huu

  • Kuweka Rekodi ya DNS kwa Programu ya Moodle
  • Kusakinisha Moodle kwenye Seva ya Ubuntu
  • Inasanidi NGINX ili Kutumikia Programu ya Moodle
  • Kukamilisha Usakinishaji wa Moodle kupitia Kisakinishi cha Wavuti
  • Washa HTTPS kwenye Programu ya Moodle Kwa Kutumia Let's Encrypt

1. Ili watumiaji kufikia mfano wako wa Moodle unahitaji kuunda kikoa kidogo kwa ajili yake, kwa hivyo, unahitaji kuunda rekodi ya DNS A ili kufanikisha hili. Kwa mwongozo huu, kikoa chetu cha majaribio ni testprojects.me, kwa hivyo tunahitaji kuunda kikoa kidogo, kwa mfano, learning.testprojects.me.

Kwa hivyo, ingia kwenye dashibodi ya wavuti ya msajili wa kikoa chako na ufikie mipangilio ya kina ya kikoa chako, bofya Ongeza Rekodi Mpya ya aina A, mwenyeji anapaswa kuwa kujifunza (au neno lolote unalopenda. ), na thamani inapaswa kuwa anwani ya IP ya umma ya seva yako ya Ubuntu.

2. Kisha, unahitaji kusakinisha viendelezi vya PHP na maktaba zinazohitajika na Moodle kwa kutumia kidhibiti cha kifurushi kinachofaa kama inavyoonyeshwa.

$ 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. Kisha, tengeneza hifadhidata ya mfumo wako wa Moodle. Ingia kwenye ganda la usimamizi wa hifadhidata ya MySQL na uunde hifadhidata kama inavyoonyeshwa:

$ 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. Kama ilivyoelezwa hapo awali, kwa mwongozo huu, tutapakua na kusakinisha toleo la hivi karibuni la Moodle (toleo la 3.9 wakati wa kuandika). Tekeleza ls amri ifuatayo ili kudhibitisha kuwa saraka ya moodle iko chini ya /var/www/html/ kama inavyoonyeshwa.

$ 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. Kisha, weka ruhusa zinazofaa kwenye saraka ya Moodle kwa kuendesha amri zifuatazo.

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

6. Kisha, unda saraka ya data ya Moodle, mahali ambapo Moodle inaweza kuhifadhi faili zilizopakiwa na kuweka vibali vyake kama inavyoonyeshwa.

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

7. Kisha unda faili kuu ya usanidi wa Moodle kutoka kwa faili ya usanidi wa sampuli iliyotolewa na mfuko, uifungue.

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

Tafuta sehemu ya usanidi wa hifadhidata, kisha usanidi hifadhidata ambapo data yote ya Moodle itahifadhiwa, kama inavyoonyeshwa kwenye picha ya skrini ifuatayo:

$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

Pia, sanidi eneo la tovuti ya Moodle na pia eneo la saraka ya data ya Moodle kama inavyoonyeshwa.

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

Hifadhi faili iliyofungwa. Kisha usanidi NGINX kuhudumia tovuti yako ya Moodle kama ilivyoelezwa katika sehemu inayofuata.

8. Kwa NGINX kuhudumia tovuti yako ya Moodle, unahitaji kuunda usanidi mpya wa kuzuia seva chini ya usanidi wa NGINX, kwenye saraka /etc/nginx/conf.d/.

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

Nakili na ubandike usanidi ufuatao ndani yake, badilisha learning.testprojects.me na kikoa chako kidogo. Kando, maagizo ya fastcgi_pass yanapaswa kuelekeza kwenye anwani ambayo PHP-FPM inakubali maombi ya FastCGI (angalia /etc/php/7.4/fpm/pool.d/www.conf faili kwa maelezo zaidi) .

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

Hifadhi faili na uifunge.

9. Kisha, hakikisha kwamba usanidi wa NGINX ni sawa baada ya kufanya mabadiliko hapo juu, kisha uanze upya huduma ya NGINX kwa neema.

$ sudo nginx -t
$ sudo systemctl reload nginx

10. Sasa fungua kivinjari cha wavuti na uende kwa kutumia kikoa chako kidogo, kwa mfano, learning.testprojects.me ili kufikia kisakinishi cha wavuti cha Moodle.

http://learning.testprojects.me

Mara tu ukurasa wa kukaribisha unaposomwa kupitia ujumbe bonyeza Endelea.

11. Kisha, kisakinishi kitaangalia ikiwa mfumo wako unakidhi mahitaji, ikiwa kila kitu ni sawa, tembeza chini na ubofye Endelea ili kuanza usakinishaji halisi wa faili na kusanidi schema ya hifadhidata.

Kumbuka kuwa kisakinishi kitaonyesha onyo kuhusu tovuti kutofanya kazi kwenye HTTPS, puuza onyo hilo kwa sasa. Katika sehemu ya mwisho, tutashughulikia jinsi ya kuwezesha HTTPS kwenye Moodle kwa kutumia vyeti vya Let's Encrypt bila malipo.

Mara usakinishaji ukamilika, bofya Endelea.

12. Kisha, sanidi akaunti ya msimamizi wa tovuti yako ya Moodle kwa kuunda jina la mtumiaji la akaunti, nenosiri, jina la kwanza na jina la ukoo, na anwani ya barua pepe. Kisha telezesha chini na ubofye Sasisha Akaunti.

13. Kisha, sanidi mipangilio ya ukurasa wa mbele wa tovuti ya Moodle kama inavyoonyeshwa kwenye picha ya skrini ifuatayo. Kisha telezesha chini na ubofye Sasisha.

14. Kisakinishi cha wavuti kitakuingiza kiotomatiki kwenye tovuti mpya ya Moodle. Unaweza kukamilisha usajili wa tovuti yako kwa kufuata maagizo kwenye skrini.

15. Ili kulinda tovuti yako ya Moodle, unahitaji kuwasha HTTPS. Kwa mwongozo huu, tutatumia Let's Encrypt bila malipo na vyeti vya kuaminika vya SSL/TLS. Faida nyingine ya kutumia Let's Encrypt ni kwamba ni otomatiki.

Kwa hivyo, rudi kwenye terminal yako na utekeleze amri ifuatayo ya kusakinisha certbot kwenye Ubuntu (zana isiyolipishwa ya chanzo-wazi cha kutumia kiotomatiki cheti cha Let's Encrypt ili kuwezesha HTTPS kwenye tovuti zinazodhibitiwa na mtu).

$ sudo snap install --classic certbot

16. Kisha toa amri ifuatayo ili kupata cheti na uwe na Certbot kuhariri usanidi wako wa NGINX ili kusanidi cheti kipya kiotomatiki.

$ sudo certbot --nginx

17. Kisha, rudi kwenye faili ya usanidi wa tovuti ya Moodle.

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

na ubadilishe URL kutoka HTTP hadi HTTPS kama inavyoonyeshwa kwenye picha ya skrini ifuatayo.

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

18. Hatimaye, thibitisha kutoka kwa kivinjari kwamba tovuti yako ya Moodle sasa inaendeshwa kwenye HTTPS.

https://learning.testprojects.me

Ni hayo tu kwa sasa! Nenda kwenye hati za Moodle 3.9 kwa maelezo zaidi, chaguo za usanidi, na mwongozo wa matumizi.