Product Operation Guide
| Document No | Product Operation Guide | Release, Version, By: | 25690817 V1.0 ThS |
| Project Name | โครงการพัฒนาระบบบริหารจัดการคลังสินค้า (BRN WMS) บริษัท บี.อาร์.เอ็น เอ็นเตอร์ไพรส์ จำกัด |
| Project Code | 200-WMS-26-001-00 |
| Title | เอกสารคู่มือปฏิบัติงานสำหรับผู้ดูแลระบบ |
| Project Period | 5 มกราคม 2569 – 24 สิงหาคม 2569 |
| Organizer | คุณอภิรัชช์ สุภัทรประทีป (Project Manager) |
| Recorder | คุณเยาวลักษณ์ บางชมภู (Document Control) |
วัตถุประสงค์ (Objective)
คู่มือฉบับนี้จัดทำขึ้นเพื่อเป็นแนวทางสำหรับผู้ดูแลระบบ (System Administrator) ในการติดตั้ง ตั้งค่า เฝ้าระวัง สำรองข้อมูล และกู้คืนระบบบริหารจัดการคลังสินค้า เพื่อให้การปฏิบัติงานมีมาตรฐานและกู้คืนระบบได้อย่างรวดเร็ว
1 ทางเลือกในการติดตั้ง
| ลำดับ |
วิธีการติดตั้ง |
กลไก |
ไฟล์อ้างอิง |
| 1 |
ติดตั้งแบบ Container (แนะนำ) |
Docker Compose: php-apache, mariadb, node/pm2 |
docker-compose.yml, docker/ |
| 2 |
ติดตั้งแบบ Manual |
ติดตั้ง PHP, MariaDB และ Node.js แล้วสร้างฐานข้อมูลด้วยสคริปต์ |
setup.php |
2 ขั้นตอนการติดตั้งแบบ Container
- คัดลอก
.env.example เป็น .env หรือรันสคริปต์ docker/init-env.sh ซึ่งจะสอบถามรหัสผ่านฐานข้อมูล ชื่อโฮสต์สาธารณะ ค่า EMIT_SECRET และข้อมูล SMTP โดยค่าที่เว้นว่างระบบจะสุ่มให้อัตโนมัติ
- รันคำสั่ง
docker compose up -d --build เพื่อสร้างและเริ่มบริการทั้งสามส่วน
- ตรวจสอบว่า Container
php-apache สร้างไฟล์ app/config.php จาก .env เรียบร้อยแล้ว โดยไฟล์นี้ไม่ถูกเก็บใน Repository และไม่ฝังอยู่ใน Image
- ตรวจสอบว่าฐานข้อมูล
wms และ wms2 ถูกสร้างครบถ้วน และเข้าใช้งานระบบผ่านชื่อโฮสต์ที่กำหนดได้
3 ขั้นตอนการติดตั้งแบบ Manual
- เตรียมเครื่องแม่ข่าย Linux ที่ติดตั้ง PHP 8 ขึ้นไป, MariaDB และ Node.js
- ตั้งค่าไฟล์
app/config.php ได้แก่ ข้อมูลเชื่อมต่อฐานข้อมูล wms และ wms2, NODE_PUBLIC_URL, NODE_EMIT_URL, NODE_EMIT_SECRET และข้อมูล SMTP
- รัน
setup.php หนึ่งครั้งเพื่อสร้างโครงสร้างฐานข้อมูลทั้งหมด
- เริ่มบริการ Node.js (
nodejs/server.js และ nodejs/scheduler.js) ด้วย pm2 ตามไฟล์ nodejs/ecosystem.config.js
4 การตั้งค่าระบบ
| รายการ |
ที่ตั้ง |
หมายเหตุ |
| ค่าตั้งค่าแอปพลิเคชัน |
app/config.php |
สร้างขึ้นตอนติดตั้ง ไม่นำเข้า Repository |
| ค่าความลับของสภาพแวดล้อม |
.env (Docker) หรือตัวแปรสภาพแวดล้อม (Manual) |
ยกเว้นจาก Git ด้วย .gitignore |
| ค่าตั้งค่าระดับบริษัท |
เมนูตั้งค่าในระบบ (app/setting/) |
ข้อมูลบริษัท SMTP และการตั้งค่าการใช้งาน |
| เขตเวลา |
$time_zone ใน app/config.php |
กำหนดเป็น Asia/Bangkok |
5 การเฝ้าระวังระบบ (Monitoring)
| ลำดับ |
รายการตรวจสอบ |
วิธีการ |
ความถี่ |
| 1 |
บริการเว็บแอปพลิเคชัน |
ตรวจสอบว่าระบบตอบสนองและผู้ใช้เข้าสู่ระบบได้ |
ทุก 5 นาที (อัตโนมัติ) |
| 2 |
ฐานข้อมูล |
ตรวจสอบว่าฐานข้อมูล wms และ wms2 เชื่อมต่อได้ |
ทุก 5 นาที (อัตโนมัติ) |
| 3 |
บริการ Node.js |
ตรวจสอบสถานะ server.js และ scheduler.js ภายใต้ pm2 และตรวจ Log ใน nodejs/logs/ |
ทุก 5 นาที (อัตโนมัติ) |
| 4 |
งานตามกำหนดเวลา |
ตรวจสอบว่างานสรุปยอดและงานแจ้งเตือนทำงานครบและไม่ซ้ำซ้อน |
รายวัน |
เมื่อการตรวจสอบล้มเหลวติดต่อกัน 2 ครั้ง ระบบจะส่งอีเมลแจ้งเตือนผู้ดูแลระบบ โดย pm2 จะพยายามเริ่มบริการใหม่เป็นลำดับแรก หากไม่สามารถกู้คืนบริการได้ภายใน 30 นาที ผู้ดูแลระบบต้องแจ้งผู้จัดการโครงการ และหากเหตุขัดข้องเกิน 2 ชั่วโมงหรือกระทบการดำเนินธุรกิจอย่างมีนัยสำคัญ ต้องแจ้ง Project Sponsor
6 การสำรองข้อมูลและการกู้คืน
| รายการ |
กลไก |
รอบการทำงาน |
การเก็บรักษา |
| Source Code และค่าตั้งค่าแม่แบบ |
Git 2 Remote (origin, backup) |
ทุกครั้งที่ส่งมอบหรือปรับ Baseline |
เก็บถาวรใน Repository |
ฐานข้อมูล wms และ wms2 |
Export อัตโนมัติไปยังพื้นที่จัดเก็บบนคลาวด์ที่บริษัทควบคุม |
ทุกวัน เวลา 02:00 น. |
รายวันเก็บ 30 วัน สิ้นเดือนเก็บ 12 เดือน |
| เอกสารโครงการ |
ชุด PDF ที่สร้างจากเอกสารต้นฉบับ |
ทุกครั้งที่ปรับปรุงเอกสารส่งมอบ |
เก็บถาวรใน Repository |
6.1 ขั้นตอนการกู้คืนฐานข้อมูล
- ผู้ดูแลระบบเลือกชุดสำรองที่ต้องการจากพื้นที่จัดเก็บบนคลาวด์ และยืนยันวันที่พร้อมความสมบูรณ์ของไฟล์
- กู้คืนชุดสำรองเข้าสู่สภาพแวดล้อมที่ไม่ใช่ระบบใช้งานจริงก่อนเสมอ
- ตรวจสอบการเชื่อมต่อฐานข้อมูล
wms และ wms2 พร้อมตรวจสอบข้อมูลหลักและรายการตัวอย่าง
- กรณีกู้คืนระบบใช้งานจริง ให้บันทึกจุดกู้คืน หยุดบริการที่เกี่ยวข้อง กู้คืนชุดสำรองที่ตรวจสอบแล้ว เริ่มบริการแอปพลิเคชันและ Node.js ใหม่ แล้วตรวจสอบสถานะตามหัวข้อ 5
- กรณีการสำรองข้อมูลล้มเหลวหรือไม่ทำงานตามกำหนด ผู้ดูแลระบบต้องตรวจสอบสาเหตุและสั่งทำงานซ้ำ
การทดสอบกู้คืนดำเนินการเมื่อ 23 สิงหาคม 2569 โดยกู้คืนชุดสำรองลงในสภาพแวดล้อมที่ไม่ใช่ระบบใช้งานจริงสำเร็จ ตรวจสอบการเข้าถึงฐานข้อมูลและข้อมูลตัวอย่างครบถ้วน และผู้จัดการโครงการได้ทบทวนผลการทดสอบในขั้นตอนปิดโครงการ
7 การปิดรายการควบคุมด้านปฏิบัติการ
| ลำดับ |
รายการควบคุม |
ผู้รับผิดชอบ |
สถานะ |
หลักฐานการปิดรายการ |
| OP-001 |
การสำรองและกู้คืนฐานข้อมูล wms และ wms2 แบบอัตโนมัติ |
System Administrator |
ปิดรายการ 23 สิงหาคม 2569 |
หัวข้อ 6 ระบุรอบการสำรอง ที่จัดเก็บ การเก็บรักษา ขั้นตอนกู้คืน และผลการทดสอบกู้คืน |
| OP-002 |
การเฝ้าระวังระบบและการแจ้งเตือนเมื่อเกิดเหตุขัดข้อง |
System Administrator |
ปิดรายการ 23 สิงหาคม 2569 |
หัวข้อ 5 ระบุรอบการตรวจสอบ เงื่อนไขการแจ้งเตือน ผู้รับแจ้ง และขั้นตอนการยกระดับ |
8 การจัดการผู้ใช้งานและสิทธิ์
- ผู้ใช้ระดับ Owner หรือ Admin จัดการผู้ใช้งาน บทบาท และสิทธิ์การเข้าถึงแอปพลิเคชันจากเมนูตั้งค่า
- การเปลี่ยนบทบาทมีผลกับการทำงานครั้งถัดไปของผู้ใช้รายนั้น
- ระบบอนุญาตให้ใช้งานได้ครั้งละหนึ่ง Session ต่อบัญชี เพื่อป้องกันการใช้บัญชีร่วมกัน
ผู้จัดทำเอกสาร (Secretary)
| ชื่อ |
ตำแหน่ง |
ลายเซ็น |
วันที่ |
| คุณธนกร สถิตวิทยากุล |
Developer |
|
|
ผู้ตรวจสอบเอกสาร (Reviewer)
| ชื่อ |
ตำแหน่ง |
ลายเซ็น |
วันที่ |
| คุณนพพงษ์ เจริญสุข |
System Analyst |
|
|
ผู้อนุมัติ (Approval)
| ชื่อ |
ตำแหน่ง |
ลายเซ็น |
วันที่ |
| คุณเสรี วิริยะสกุลธรณ์ |
Project Sponsor |
|
|