PlusMagi's Blog By Pitt Phunsanit Backend,Database การติดตั้ง Moodle ขั้นพื้นฐาน

การติดตั้ง Moodle ขั้นพื้นฐาน

ในฐานะสถาปนิกระบบ (System Architect) ที่มีประสบการณ์ในการวางโครงสร้าง LMS (Learning Management System) เราทราบดีว่าการติดตั้ง Moodle ให้ทำงานได้อย่างเสถียรและรองรับการขยายตัวในอนาคตนั้น ไม่ได้ยากกว่าการติดตั้ง CMS ทั่วไปอย่าง Joomla หรือ WordPress เลย เพียงแต่ต้องมีการเตรียมความพร้อมของสภาพแวดล้อม (Environment Setup) ที่ถูกต้อง โดยเฉพาะการเลือกใช้ระบบฐานข้อมูลที่เหมาะสมอย่าง PostgreSQL

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

⚙️ ขั้นตอนที่ 1: การเตรียมสภาพแวดล้อมและเครื่องมือ

ก่อนเริ่มติดตั้ง Moodle คุณต้องมั่นใจว่าเซิร์ฟเวอร์ของคุณมีส่วนประกอบหลักเหล่านี้:

  1. Web Server: Apache หรือ Nginx
  2. PHP: เวอร์ชันที่รองรับ Moodle (แนะนำ 7.4 ขึ้นไป)
  3. Database: PostgreSQL (สำคัญที่สุด)

💾 การสร้างฐานข้อมูลด้วย PostgreSQL

การใช้ PostgreSQL เป็นทางเลือกที่ยอดเยี่ยมเนื่องจากความเสถียรและความสามารถในการจัดการข้อมูลเชิงซับซ้อน (Advanced Data Handling) เราจะทำการสร้างฐานข้อมูลและผู้ใช้งานสำหรับ Moodle โดยใช้คำสั่ง SQL ผ่านเครื่องมืออย่าง pgAdmin หรือ psql:

SQL

-- 1. สร้างฐานข้อมูลใหม่สำหรับ Moodle<br>CREATE DATABASE moodle_db OWNER your_user;<br><br>-- 2. (Optional) กำหนด Encoding ให้เป็น UTF8 เพื่อรองรับหลายภาษา<br>-- PostgreSQL มักจะใช้ UTF8 เป็นค่าเริ่มต้นอยู่แล้ว แต่ควรตรวจสอบเสมอ

ข้อควรจำ: บันทึกชื่อฐานข้อมูล (moodle_db), ชื่อผู้ใช้งาน (your_user), และรหัสผ่านที่ตั้งไว้ให้พร้อมสำหรับการติดตั้งในขั้นตอนถัดไป

🚀 ขั้นตอนที่ 2: การปรับแต่ง PHP และ Apache Configuration

เพื่อให้ Moodle สามารถทำงานได้อย่างเต็มประสิทธิภาพ เราต้องแก้ไขไฟล์คอนฟิกูเรชันหลักของ PHP (php.ini) และ Web Server (httpd.conf) เพื่อเปิดใช้งานคุณสมบัติที่จำเป็น:

📄 การแก้ไข php.ini

ให้ตรวจสอบและตั้งค่าพารามิเตอร์เหล่านี้ในไฟล์ php.ini:

  • memory_limit = 256M; (เพิ่มเป็นอย่างน้อย 128M หรือ 256M สำหรับระบบขนาดใหญ่)
  • upload_max_filesize = 100M; (ต้องใหญ่กว่าไฟล์ SCORM ที่จะอัปโหลด)
  • post_max_size = 100M;
  • session.auto_start = Off (บังคับเพื่อความปลอดภัย)

🌐 การแก้ไข Apache (httpd.conf)

ตรวจสอบให้แน่ใจว่ามีการเปิดใช้งาน mod_rewrite และตั้งค่า AcceptPathInfo On เพื่อให้ URL ของคุณเป็นแบบ Friendly URL:

BASH / Shell

# ในไฟล์ httpd.conf หรือ .htaccess<br>AcceptPathInfo On

💡 ขั้นตอนที่ 3: การติดตั้ง Moodle ผ่าน Web Interface

เมื่อเตรียมสภาพแวดล้อมเรียบร้อยแล้ว ให้ดาวน์โหลด Moodle เวอร์ชันล่าสุดและแตกไฟล์ไปยังโฟลเดอร์ที่ต้องการ (เช่น /var/www/html/moodle) จากนั้นเข้าถึงผ่านเบราว์เซอร์:

  1. เรียกใช้งาน: เข้าไปที่ http://yourdomain.com/moodle/install.php
  2. ภาษา: เลือกภาษาที่ต้องการ (เช่น Thai) และกดต่อไป
  3. ตรวจสอบ PHP: ตรวจสอบว่าการตั้งค่า PHP ผ่านแล้ว หากมีข้อผิดพลาด แสดงว่าต้องกลับไปแก้ไข php.ini
  4. ระบุ Path: ระบุที่อยู่ของเว็บไซต์ (URL) และที่อยู่ไดเรกทอรีข้อมูล (Data Directory) ซึ่งเป็นโฟลเดอร์สำหรับเก็บไฟล์สื่อการสอนโดยเฉพาะ (ห้ามใช้ Data Directory ของระบบ)
  5. ตั้งค่าฐานข้อมูล: กรอกรายละเอียด PostgreSQL ที่เตรียมไว้:
    • Type: PostgreSQL
    • Host: localhost
    • Database: moodle_db
    • User: your_user
    • Password: [รหัสผ่านที่ตั้งไว้]
  6. เสร็จสิ้น: กดต่อไป ระบบจะสร้างไฟล์ config.php ให้โดยอัตโนมัติ การติดตั้งถือว่าสมบูรณ์

✅ สรุปและข้อควรระวังสำหรับ Senior Architect

การติดตั้ง Moodle บน PostgreSQL ถือเป็นรากฐานที่แข็งแกร่งสำหรับการพัฒนา LMS ระดับองค์กร สิ่งสำคัญที่สุดหลังจากการติดตั้งคือการทำ Backup ข้อมูลฐานข้อมูลและไฟล์สื่อการเรียนรู้ทั้งหมด และการตั้งค่าสิทธิ์ (Permissions) ของโฟลเดอร์ Data Directory ให้ถูกต้อง เพื่อป้องกันปัญหาด้านความปลอดภัยและการเข้าถึงไฟล์ที่ไม่พึงประสงค์