ວິທີການຕິດຕັ້ງແພລະຕະຟອມການຮຽນ Moodle ໃນ Ubuntu 20.04


Moodle ແມ່ນແພລະຕະຟອມບໍລິຫານການຮຽນຮູ້ທາງອິນເຕີເນັດ (ການຮຽນຮູ້ທາງອິນເຕີເນັດ) ທີ່ເປັນທີ່ນິຍົມທີ່ສຸດໃນໂລກ, ເຂັ້ມແຂງ, ບໍ່ເສຍຄ່າແລະເປີດເຜີຍ. ມັນສະ ໜອງ ກິດຈະ ກຳ ແລະເຄື່ອງມືການສຶກສາທີ່ຫຼາກຫຼາຍເຊິ່ງຊ່ວຍໃຫ້ໂຮງຮຽນ, ມະຫາວິທະຍາໄລແລະສະຖາບັນທີ່ກ່ຽວຂ້ອງສາມາດ ນຳ ສະ ເໜີ ໃຫ້ນັກຮຽນມີເວທີການຮຽນຮູ້ທີ່ປ່ຽນແປງໄດ້ທຸກເວລາ, ທຸກບ່ອນ, ໂດຍບໍ່ມີການຂັດຂວາງຫຼັກສູດແລະຫຼັກສູດຂອງພວກເຂົາ.

ບາງລັກສະນະທົ່ວໄປຂອງມັນປະກອບມີອິນເຕີເຟດທີ່ທັນສະ ໄໝ, ງ່າຍຕໍ່ການໃຊ້ງານ, dashboard ສ່ວນບຸກຄົນ, ເຄື່ອງມືແລະກິດຈະ ກຳ ຮ່ວມມື, ປະຕິທິນທັງ ໝົດ, ການຈັດການເອກະສານທີ່ສະດວກ, ບັນນາທິການຕົວ ໜັງ ສືທີ່ງ່າຍດາຍ, ການແຈ້ງເຕືອນແລະຕິດຕາມຄວາມຄືບ ໜ້າ.

ສິ່ງທີ່ ສຳ ຄັນ, Moodle ຍັງມີການຂະຫຍາຍສູງໂດຍການ ນຳ ໃຊ້ໂປແກຼມ plugins ຫຼາຍກວ່າພັນຊະນິດທີ່ສະ ໜັບ ສະ ໜູນ ກິດຈະ ກຳ ພິເສດ, ທ່ອນໄມ້, ຫົວຂໍ້ແລະອື່ນໆ.

ໃນບົດຄວາມນີ້, ທ່ານຈະໄດ້ຮຽນຮູ້ວິທີການຕິດຕັ້ງໂປແກຼມ Moodle Learning Platform ລຸ້ນ ໃໝ່ ລ້າສຸດດ້ວຍ NGINX ແລະຖານຂໍ້ມູນ MySQL/MariaDB ໃນ Ubuntu 20.04 ແລະລຸ້ນເກົ່າ.

  • ເຄື່ອງແມ່ຂ່າຍຂອງ Ubuntu 20.04 ທີ່ຕິດຕັ້ງ ໃໝ່ ທີ່ມີ LEMP Stack ຕິດຕັ້ງ.

ເມື່ອທ່ານໄດ້ຕິດຕັ້ງ LEMP stack ໄວ້ໃນ server server, ທ່ານສາມາດ ດຳ ເນີນການຕໍ່ໄປເພື່ອຕັ້ງ Moodle ໃນ server ດັ່ງທີ່ໄດ້ອະທິບາຍຂ້າງລຸ່ມນີ້.

ໃນ ໜ້າ ນີ້

  • ການຕັ້ງຄ່າບັນທຶກ DNS ສຳ ລັບການ ນຳ ໃຊ້ Moodle
  • ຕິດຕັ້ງ Moodle ໃນ Ubuntu Server
  • ຕັ້ງຄ່າ NGINX ເພື່ອຮັບໃຊ້ໂປຣແກຣມ Moodle
  • ສຳ ເລັດການຕິດຕັ້ງ Moodle ຜ່ານຜູ້ຕິດຕັ້ງ Web
  • ເປີດໃຊ້ HTTPS ໃນ Moodle Application ໂດຍໃຊ້ Let’s encryption

1. ເພື່ອໃຫ້ຜູ້ໃຊ້ສາມາດເຂົ້າເຖິງຕົວຢ່າງ Moodle ຂອງທ່ານທ່ານຕ້ອງສ້າງໂດເມນຍ່ອຍ ສຳ ລັບມັນ, ດັ່ງນັ້ນ, ທ່ານ ຈຳ ເປັນຕ້ອງສ້າງບັນທຶກ DNS <ລະຫັດຜ່ານ A ເພື່ອບັນລຸສິ່ງນີ້. ສຳ ລັບ ຄຳ ແນະ ນຳ ນີ້, ໂດເມນທົດສອບຂອງພວກເຮົາແມ່ນ testprojects.me , ດັ່ງນັ້ນພວກເຮົາ ຈຳ ເປັນຕ້ອງສ້າງໂດເມນຍ່ອຍ, ຍົກຕົວຢ່າງ, learning.testprojects.me .

ສະນັ້ນ, ເຂົ້າສູ່ລະບົບເວັບໄຊຕ໌ຂອງຜູ້ລົງທະບຽນໂດເມນຂອງທ່ານແລະເຂົ້າໃຊ້ການຕັ້ງຄ່າຂັ້ນສູງຂອງໂດເມນຂອງທ່ານ, ໃຫ້ຄລິກໃສ່ Add New Record ຂອງປະເພດ A , ເຈົ້າຂອງຄວນຈະເປັນ ຮຽນຮູ້ ), ແລະຄຸນຄ່າຄວນເປັນທີ່ຢູ່ IP ຂອງສາທາລະນະຂອງເຊີບເວີ Ubuntu ຂອງທ່ານ.

2. ຕໍ່ໄປ, ທ່ານ ຈຳ ເປັນຕ້ອງຕິດຕັ້ງໂປຣແກຣມຂະຫຍາຍ PHP ແລະຫ້ອງສະມຸດທີ່ຕ້ອງການໂດຍ Moodle ໂດຍໃຊ້ຕົວຈັດການຊຸດ apt ດັ່ງທີ່ສະແດງໄວ້.

$ 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. ຕໍ່ໄປ, ສ້າງຖານຂໍ້ມູນ ສຳ ລັບລະບົບ Moodle ຂອງທ່ານ. ເຂົ້າສູ່ລະບົບບໍລິຫານຖານຂໍ້ມູນ MySQL ແລະສ້າງຖານຂໍ້ມູນຕາມທີ່ສະແດງ:

$ 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. ດັ່ງທີ່ໄດ້ກ່າວມາກ່ອນ ໜ້າ ນີ້, ສຳ ລັບ ຄຳ ແນະ ນຳ ນີ້, ພວກເຮົາຈະດາວໂຫລດແລະຕິດຕັ້ງ Moodle ລຸ້ນລ້າສຸດ (ລຸ້ນ 3.9 ໃນເວລາຂຽນ). ດໍາເນີນການຄໍາສັ່ງ wget ຕໍ່ໄປນີ້ເພື່ອຈັບຊຸດ Moodle ແລະໃຊ້ຄໍາສັ່ງ tar ເພື່ອສະກັດມັນຕາມລໍາດັບ. ຫຼັງຈາກນັ້ນ, ໃຊ້ ຄຳ ສັ່ງ ls ເພື່ອຢືນຢັນວ່າໄດເລກະທໍລີໂປຣໄຟລ໌ມີຢູ່ພາຍໃຕ້/var/www/html/ດັ່ງທີ່ສະແດງ.

$ 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. ຕໍ່ໄປ, ກຳ ນົດການອະນຸຍາດທີ່ ເໝາະ ສົມໃນໄດເລກະທໍລີ Moodle ໂດຍການ ດຳ ເນີນການ ຄຳ ສັ່ງຕໍ່ໄປນີ້.

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

6. ຕໍ່ໄປ, ສ້າງປື້ມບັນທຶກຂໍ້ມູນ Moodle, ສະຖານທີ່ທີ່ Moodle ສາມາດປະຫຍັດເອກະສານທີ່ອັບໂຫລດແລ້ວຕັ້ງຄ່າສິດຂອງມັນຕາມທີ່ສະແດງໄວ້.

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

7. ຫຼັງຈາກນັ້ນສ້າງເອກະສານການຕັ້ງຄ່າຕົ້ນຕໍຂອງ Moodle ຈາກເອກະສານການຕັ້ງຄ່າຕົວຢ່າງທີ່ສະ ໜອງ ໃຫ້ກັບຊຸດ, ເປີດມັນ.

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

Lok ສຳ ລັບສ່ວນການຕັ້ງຄ່າຖານຂໍ້ມູນ, ຫຼັງຈາກນັ້ນ ກຳ ນົດຖານຂໍ້ມູນບ່ອນທີ່ຂໍ້ມູນ Moodle ຈະຖືກເກັບໄວ້, ດັ່ງທີ່ສະແດງຢູ່ໃນພາບ ໜ້າ ຈໍຕໍ່ໄປນີ້:

$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

ພ້ອມກັນນີ້, ກຳ ນົດທີ່ຕັ້ງຂອງເວັບໄຊທ໌ Moodle ພ້ອມທັງທີ່ຕັ້ງຂອງໄດເລກະທໍລີຂໍ້ມູນ Moodle ຕາມທີ່ສະແດງໄວ້.

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

ບັນທຶກເອກະສານປິດ. ຫຼັງຈາກນັ້ນໃຫ້ຕັ້ງຄ່າ NGINX ເຂົ້າ server ຂອງເວັບໄຊທ໌ Moodle ຂອງທ່ານຕາມທີ່ໄດ້ອະທິບາຍໄວ້ໃນພາກຕໍ່ໄປ.

8. ສຳ ລັບ NGINX ທີ່ຈະ server site Moodle ຂອງທ່ານ, ທ່ານຕ້ອງສ້າງການຕັ້ງຄ່າ block server ໃໝ່ ພາຍໃຕ້ການຕັ້ງຄ່າ NGINX, ໃນໄດເລກະທໍລີ /etc/nginx/conf.d/.

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

ຄັດລອກແລະວາງລົງການຕັ້ງຄ່າຕໍ່ໄປນີ້ໃນມັນ, ແທນ learning.testprojects.me ກັບໂດເມນຍ່ອຍຂອງທ່ານ. ນອກ ເໜືອ ຈາກນີ້, ຄຳ ສັ່ງແນະ ນຳ fastcgi_pass ຄວນຊີ້ໄປທີ່ຢູ່ທີ່ PHP-FPM ຍອມຮັບເອົາ ຄຳ ຮ້ອງຂໍຂອງ FastCGI (ກວດເບິ່ງເອກະສານ /etc/php/7.4/fpm/pool.d/www.conf ສຳ ລັບຂໍ້ມູນເພີ່ມເຕີມ) .

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

ບັນທຶກເອກະສານແລະປິດມັນ.

9. ຕໍ່ໄປ, ກວດສອບວ່າການຕັ້ງຄ່າ NGINX ແມ່ນບໍ່ຖືກຕ້ອງຫຼັງຈາກເຮັດການປ່ຽນແປງຂ້າງເທິງ, ຫຼັງຈາກນັ້ນໃຫ້ບໍລິການ NGINX ເລີ່ມຕົ້ນ ໃໝ່.

$ sudo nginx -t
$ sudo systemctl reload nginx

10. ດຽວນີ້ເປີດເວັບບຼາວເຊີ້ແລະ ນຳ ໃຊ້ໂດເມນຍ່ອຍຂອງທ່ານ, ຍົກຕົວຢ່າງ, learning.testprojects.me ເພື່ອເຂົ້າຫາຜູ້ຕິດຕັ້ງເວັບ Moodle.

http://learning.testprojects.me

ເມື່ອ ໜ້າ ຍິນດີຕ້ອນຮັບໄດ້ອ່ານຜ່ານຂໍ້ຄວາມກົດປຸ່ມ Continue.

11. ຕໍ່ໄປ, ຜູ້ຕິດຕັ້ງຈະກວດເບິ່ງວ່າລະບົບຂອງທ່ານຕອບສະ ໜອງ ຄວາມຮຽກຮ້ອງຕ້ອງການຫຼືບໍ່, ຖ້າທຸກຢ່າງບໍ່ເປັນຫຍັງ, ເລື່ອນລົງແລະກົດສືບຕໍ່ເພື່ອເລີ່ມຕົ້ນການຕິດຕັ້ງໄຟລ໌ຕົວຈິງແລະຕັ້ງໂຄງຮ່າງຖານຂໍ້ມູນ.

ໃຫ້ສັງເກດວ່າຜູ້ຕິດຕັ້ງຈະສະແດງ ຄຳ ເຕືອນກ່ຽວກັບເວບໄຊທ໌ທີ່ບໍ່ໄດ້ເຮັດວຽກໃນ HTTPS, ບໍ່ສົນໃຈ ຄຳ ເຕືອນ ສຳ ລັບດຽວນີ້. ໃນພາກສຸດທ້າຍ, ພວກເຮົາຈະເວົ້າເຖິງວິທີການເປີດໃຊ້ HTTPS ໃນ Moodle ໂດຍໃຊ້ໃບຢັ້ງຢືນ Let’s Encrypt ໂດຍບໍ່ເສຍຄ່າ.

ເມື່ອການຕິດຕັ້ງ ສຳ ເລັດແລ້ວ, ກົດທີ່ Continue.

12. ຕໍ່ໄປ, ກຳ ນົດບັນຊີຜູ້ເບິ່ງແຍງລະບົບຂອງ Moodle ຂອງທ່ານໂດຍການສ້າງຊື່ຜູ້ໃຊ້ບັນຊີ, ລະຫັດຜ່ານ, ຊື່ແລະນາມສະກຸນແລະທີ່ຢູ່ອີເມວ. ຫຼັງຈາກນັ້ນເລື່ອນລົງແລ້ວກົດເຂົ້າບັນຊີ Update.

13. ຕໍ່ໄປ, ກຳ ນົດການຕັ້ງຄ່າ ໜ້າ ເວັບໄຊທ໌ Moodle ຕາມທີ່ສະແດງໃນ ໜ້າ ຈໍຕໍ່ໄປນີ້. ຫຼັງຈາກນັ້ນເລື່ອນລົງມາແລ້ວກົດອັບເດດ.

14. ຜູ້ຕິດຕັ້ງເວັບຈະເຂົ້າສູ່ລະບົບເວັບ ໃໝ່ Moodle ໂດຍອັດຕະໂນມັດ. ທ່ານສາມາດເຮັດການລົງທະບຽນເວບໄຊທ໌ຂອງທ່ານໂດຍປະຕິບັດຕາມ ຄຳ ແນະ ນຳ ໃນ ໜ້າ ຈໍ.

15. ເພື່ອປົກປ້ອງເວັບໄຊທ໌ Moodle ຂອງທ່ານ, ທ່ານຕ້ອງເປີດໃຊ້ HTTPS. ສຳ ລັບ ຄຳ ແນະ ນຳ ນີ້, ພວກເຮົາຈະ ນຳ ໃຊ້ໃບຢັ້ງຢືນ SSL/TLS ທີ່ບໍ່ເສຍຄ່າແລະໄວ້ໃຈຂອງ Let’s Encrypt. ປະໂຫຍດອີກອັນ ໜຶ່ງ ຂອງການໃຊ້ Let’s Encrypt ແມ່ນວ່າມັນຖືກອັດຕະໂນມັດ.

ສະນັ້ນ, ກັບໄປທີ່ສະ ໜາມ ບິນຂອງທ່ານແລະ ດຳ ເນີນການ ຄຳ ສັ່ງຕໍ່ໄປນີ້ເພື່ອຕິດຕັ້ງ certbot ໃນ Ubuntu (ເປັນເຄື່ອງມືທີ່ບໍ່ເສຍຄ່າແລະເປີດໃຫ້ໃຊ້ໂດຍອັດຕະໂນມັດໂດຍໃຊ້ໃບຢັ້ງຢືນ Let’s Encrypt ເພື່ອໃຫ້ HTTPS ຢູ່ໃນເວັບໄຊທີ່ບໍລິຫານດ້ວຍຕົນເອງ).

$ sudo snap install --classic certbot

16. ຈາກນັ້ນອອກ ຄຳ ສັ່ງຕໍ່ໄປນີ້ເພື່ອໃຫ້ໄດ້ໃບຢັ້ງຢືນແລະໃຫ້ Certbot ແກ້ໄຂການຕັ້ງຄ່າ NGINX ຂອງທ່ານເພື່ອ ກຳ ນົດໃບຢັ້ງຢືນ ໃໝ່ ໂດຍອັດຕະໂນມັດ.

$ sudo certbot --nginx

17. ຕໍ່ໄປ, ກັບໄປທີ່ເອກະສານການຕັ້ງຄ່າເວັບໄຊທ໌ Moodle.

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

ແລະປ່ຽນ URL ຈາກ HTTP ເປັນ HTTPS ດັ່ງທີ່ສະແດງຢູ່ໃນ ໜ້າ ຈໍຕໍ່ໄປນີ້.

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

18. ສຸດທ້າຍ, ກວດສອບຈາກໂປແກຼມທ່ອງເວັບວ່າເວບໄຊທ໌ Moodle ຂອງທ່ານ ກຳ ລັງເຮັດວຽກຢູ່ HTTPS.

https://learning.testprojects.me

ດຽວນີ້ ໝົດ ແລ້ວ! ໄປທີ່ເອກະສານ Moodle 3.9 ສຳ ລັບຂໍ້ມູນເພີ່ມເຕີມ, ຕົວເລືອກການຕັ້ງຄ່າແລະຄູ່ມືການ ນຳ ໃຊ້.