คู่มือใช้งาน / 2. ผู้ดูแลระบบ (admin) / ความปลอดภัยและสำรองข้อมูล

ความปลอดภัยและสำรองข้อมูล

upskill88.com รันบนเซิร์ฟเวอร์เอง — Ubuntu 20.04 + Apache + PHP + MySQL โค้ดอยู่ที่ /var/www/elearning ใบรับรอง SSL Let's Encrypt ต่ออายุอัตโนมัติ ความปลอดภัยจึงเป็นหน้าที่ของเราเองทั้งหมด

เปลี่ยนรหัสผ่านเซิร์ฟเวอร์

  1. ล็อกอินเซิร์ฟเวอร์ผ่าน SSH
  2. รันคำสั่ง passwd แล้วตั้งรหัสใหม่ยาว 12 ตัวขึ้นไป ผสมตัวเลขและสัญลักษณ์
  3. เปลี่ยนทุก 3 เดือน และเปลี่ยนทันทีเมื่อสงสัยว่ารหัสรั่ว

รหัสผ่านแยกตามคน

  • ห้ามใช้รหัสเดียวกันทั้งทีม — ออกบัญชี Linux แยกให้ทุกคนที่ต้องเข้าเซิร์ฟเวอร์
  • คนที่ไม่ต้องแตะเซิร์ฟเวอร์ (เอเจนต์ นักเรียน) ห้ามรู้รหัสเซิร์ฟเวอร์
  • รหัสหน้าโค้ช (admin.php) แยกจากรหัสเซิร์ฟเวอร์ และห้ามส่งรหัสใด ๆ ผ่านแชทกลุ่ม

สำรองฐานข้อมูลด้วย mysqldump

สำรองอย่างน้อยสัปดาห์ละครั้ง และสำรองทันทีก่อนแก้โค้ดหรืออัปเดตใหญ่:

```
mysqldump -u elearning_user -p elearning_db > backup-$(date +%F).sql
```

  • ไฟล์ .sql ต้องเก็บนอกเซิร์ฟเวอร์ด้วย เช่น ดาวน์โหลดกลับมาเครื่องตัวเองหรือคัดลอกไปคลาวด์ — เก็บไว้ในเครื่องเดียวกันไม่ถือว่าสำรอง
  • ทดสอบกู้คืนจริงเดือนละครั้ง ด้วย mysql -u elearning_user -p elearning_db < ชื่อไฟล์backup.sql บนเครื่องทดสอบ

อย่าแชร์ token LINE

  • Channel Access Token ที่วางไว้ในหน้าตั้งค่าระบบ คือกุญแจส่งข้อความแทน Official Account ได้ทั้งหมด
  • ห้ามวางในกลุ่ม LINE อีเมล หรือเอกสารที่แชร์กัน — ถ้าเผลอรั่ว ให้เข้า developers.line.biz กด Issue ใหม่ ทันที token เก่าจะใช้ไม่ได้
  • เปลี่ยน token แล้วต้องอัปเดตในหน้าตั้งค่าระบบ และกด ทดสอบ LINE อีกครั้ง

อัปเดตระบบ

รันสม่ำเสมอ อย่างน้อยเดือนละครั้ง:

```
sudo apt update && sudo apt upgrade -y
```

  • อัปเดตปิดช่องโหว่ที่รู้แล้วของ Apache, PHP และ MySQL
  • ก่อนอัปเดตครั้งใหญ่ (เช่น เวอร์ชัน PHP หรือ kernel) สำรองฐานข้อมูลและโฟลเดอร์ /var/www/elearning ก่อนเสมอ

กติกาทอง 4 ข้อ: รหัสผ่านเข้มและแยกคน — สำรอง mysqldump ทุกสัปดาห์และเก็บนอกเครื่อง — token LINE เป็นความลับ — apt อัปเดตตามรอบ ทำครบแล้วระบบนี้ยืนได้อีกหลายปี