ค้นหาเว็บไซต์

วิธีติดตั้งแพลตฟอร์มการเรียนรู้ Moodle ใน Ubuntu 20.04


Moodle เป็นแพลตฟอร์มการจัดการการเรียนรู้ออนไลน์ (อีเลิร์นนิง) แบบโอเพ่นซอร์สที่ได้รับความนิยมมากที่สุดในโลก มีประสิทธิภาพ ฟรี และสร้างขึ้นสำหรับเว็บและอุปกรณ์เคลื่อนที่ มีกิจกรรมและเครื่องมือทางการศึกษาที่หลากหลายซึ่งช่วยให้โรงเรียน มหาวิทยาลัย และสถาบันที่เกี่ยวข้องสามารถนำเสนอแพลตฟอร์มการเรียนรู้ที่ยืดหยุ่นแก่นักเรียนได้ทุกที่ทุกเวลา โดยไม่รบกวนหลักสูตรและหลักสูตรของพวกเขา

คุณสมบัติทั่วไปบางประการประกอบด้วยอินเทอร์เฟซที่ทันสมัยและใช้งานง่าย แดชบอร์ดส่วนบุคคล เครื่องมือและกิจกรรมการทำงานร่วมกัน ปฏิทินแบบออลอินวัน การจัดการไฟล์ที่สะดวกสบาย โปรแกรมแก้ไขข้อความที่ใช้งานง่าย การแจ้งเตือน และติดตามความคืบหน้า

ที่สำคัญ Moodle ยังสามารถขยายได้สูงโดยใช้ปลั๊กอินกว่าพันรายการที่รองรับกิจกรรมพิเศษ บล็อก ธีม และอื่นๆ อีกมากมาย

ในบทความนี้ คุณจะได้เรียนรู้วิธีติดตั้ง Moodle Learning Platform เวอร์ชันล่าสุดด้วยฐานข้อมูล NGINX และ MySQL/MariaDB บน Ubuntu 20.04 และ รุ่นเก่ากว่า

ข้อกำหนดของเซิร์ฟเวอร์:

  • เซิร์ฟเวอร์ Ubuntu 20.04 ที่ติดตั้งใหม่พร้อมติดตั้ง LEMP Stack

เมื่อคุณติดตั้ง LEMP สแต็กบนเซิร์ฟเวอร์ Ubuntu แล้ว คุณสามารถดำเนินการตั้งค่า Moodle บนเซิร์ฟเวอร์ต่อไปได้ตามที่อธิบายไว้ด้านล่าง

บนหน้านี้

  • การตั้งค่าบันทึก DNS สำหรับแอปพลิเคชัน Moodle
  • การติดตั้ง Moodle ในเซิร์ฟเวอร์ Ubuntu
  • การกำหนดค่า NGINX เพื่อให้บริการแอปพลิเคชัน Moodle
  • เสร็จสิ้นการติดตั้ง Moodle ผ่าน Web Installer
  • เปิดใช้งาน HTTPS บนแอปพลิเคชัน Moodle โดยใช้ Let's Encrypt

การตั้งค่าบันทึก DNS สำหรับแอปพลิเคชัน Moodle

1. เพื่อให้ผู้ใช้สามารถเข้าถึงอินสแตนซ์ Moodle ของคุณได้ คุณต้องสร้าง โดเมนย่อย ให้กับอินสแตนซ์ ดังนั้น คุณจะต้องสร้าง DNS บันทึกเพื่อให้บรรลุเป้าหมายนี้ สำหรับคู่มือนี้ โดเมนทดสอบของเราคือ testprojects.me ดังนั้นเราจึงจำเป็นต้องสร้างโดเมนย่อย เช่น learning.testprojects.me

ดังนั้น ให้ลงชื่อเข้าใช้เว็บคอนโซลของผู้รับจดทะเบียนโดเมนของคุณและเข้าถึงการตั้งค่าขั้นสูงของโดเมนของคุณ คลิก เพิ่มบันทึกใหม่ ประเภท A โฮสต์ควรเป็น การเรียนรู้ (หรือคำใดก็ได้ที่คุณเลือก) และค่าควรเป็นที่อยู่ IP สาธารณะของเซิร์ฟเวอร์ Ubuntu ของคุณ

การติดตั้ง Moodle ในเซิร์ฟเวอร์ Ubuntu

2. ถัดไป คุณต้องติดตั้งส่วนขยายและไลบรารีของ PHP ที่ Moodle ต้องการโดยใช้ apt package manager ตามที่แสดง

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 'Secur3P@zzwd';
MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> quit;

4. ตามที่กล่าวไว้ข้างต้น สำหรับคู่มือนี้ เราจะดาวน์โหลดและติดตั้งเวอร์ชันล่าสุด Moodle (เวอร์ชัน 3.9 ณ เวลาที่เขียน) เรียกใช้คำสั่ง wget ต่อไปนี้เพื่อคว้าแพ็คเกจ Moodle และใช้คำสั่ง tar เพื่อแตกไฟล์ตามลำดับ จากนั้นใช้คำสั่ง ls เพื่อยืนยันว่าไดเร็กทอรี Moodle อยู่ภายใต้ /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    = 'Secur3P@zzwd';   // 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 เพื่อเซิร์ฟเวอร์ไซต์ Moodle ของคุณตามที่อธิบายไว้ในส่วนถัดไป

การกำหนดค่า NGINX เพื่อให้บริการแอปพลิเคชัน Moodle

8. เพื่อให้ NGINX เซิร์ฟเวอร์ไซต์ Moodle ของคุณ คุณต้องสร้างการกำหนดค่าบล็อกเซิร์ฟเวอร์ใหม่ภายใต้การกำหนดค่า 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

เสร็จสิ้นการติดตั้ง Moodle ผ่าน Web Installer

10. ตอนนี้ให้เปิดเว็บเบราว์เซอร์แล้วนำทางโดยใช้โดเมนย่อยของคุณ เช่น learning.testprojects.me เพื่อเข้าถึงตัวติดตั้งเว็บ Moodle

http://learning.testprojects.me

เมื่อหน้ายินดีต้อนรับโหลดอ่านข้อความแล้ว คลิก ดำเนินการต่อ

11. ถัดไป โปรแกรมติดตั้งจะตรวจสอบว่าระบบของคุณตรงตามข้อกำหนดหรือไม่ หากทุกอย่างเรียบร้อย ให้เลื่อนลงและคลิก ดำเนินการต่อ เพื่อเริ่มการติดตั้งไฟล์จริงและการตั้งค่าฐานข้อมูล สคีมา

โปรดทราบว่าโปรแกรมติดตั้งจะแสดงคำเตือนเกี่ยวกับไซต์ที่ไม่ได้ทำงานบน HTTPS ไม่ต้องสนใจคำเตือนในตอนนี้ ในส่วนสุดท้าย เราจะกล่าวถึงวิธีการเปิดใช้งาน HTTPS บน Moodle โดยใช้ใบรับรอง Let’s Encrypt ฟรี

เมื่อการติดตั้งเสร็จสมบูรณ์ คลิก ดำเนินการต่อ

12. จากนั้น กำหนดค่าบัญชีผู้ดูแลระบบของไซต์ Moodle ของคุณโดยการสร้างชื่อผู้ใช้ รหัสผ่าน ชื่อและนามสกุล และที่อยู่อีเมลของบัญชี จากนั้นเลื่อนลงและคลิก อัปเดตบัญชี

13. จากนั้น กำหนดการตั้งค่าหน้าแรกของไซต์ Moodle ดังที่แสดงในภาพหน้าจอต่อไปนี้ จากนั้นเลื่อนลงและคลิก อัปเดต

14. โปรแกรมติดตั้งเว็บจะนำคุณเข้าสู่ไซต์ Moodle ใหม่โดยอัตโนมัติ คุณสามารถดำเนินการลงทะเบียนเว็บไซต์ของคุณโดยทำตามคำแนะนำบนหน้าจอ

การตั้งค่า HTTPS บนแอปพลิเคชัน Moodle โดยใช้ Let's Encrypt

15. เพื่อปกป้องไซต์ Moodle ของคุณ คุณต้องเปิดใช้งาน HTTPS สำหรับคู่มือนี้ เราจะใช้ใบรับรอง 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 เพื่อดูข้อมูลเพิ่มเติม ตัวเลือกการกำหนดค่า และคู่มือการใช้งาน