การติดตั้งระบบ

การติดตั้งระบบ Gwen HR

คำแนะนำแบบทีละขั้นตอน สำหรับการติดตั้งและตั้งค่าระบบ Gwen HR ให้พร้อมใช้งาน

สิ่งที่ต้องเตรียม

  • Web Server — Apache 2.4+ หรือ Nginx (รองรับ PHP)
  • PHP 7.4+ — พร้อม Extensions: PDO, PDO_MySQL, mbstring, json, gd, curl
  • MySQL 8.0+ — InnoDB engine, utf8mb4 character set
  • MAMP / XAMPP / WAMP — สำหรับติดตั้งบนเครื่องส่วนตัว (แนะนำ MAMP สำหรับ macOS)
💡
หากใช้ MAMP ค่า Port เริ่มต้นของ MySQL คือ 8889 และ Apache คือ 8888

ขั้นตอนการติดตั้ง

ขั้นตอนที่ 1: วางไฟล์ระบบ

คัดลอกโฟลเดอร์ gwen_ai ไปยังโฟลเดอร์ Document Root ของ Web Server:

  • MAMP (macOS): /Applications/MAMP/htdocs/
  • XAMPP (Windows): C:\xampp\htdocs\
  • Linux Server: /var/www/html/

ขั้นตอนที่ 2: สร้างฐานข้อมูล

สร้างฐานข้อมูลใน MySQL:

CREATE DATABASE gwen_hr CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
⚠️
ต้องใช้ utf8mb4 เพื่อรองรับภาษาไทยและอักขระพิเศษทั้งหมด

ขั้นตอนที่ 3: เปิดหน้า Install Wizard

เปิดเบราว์เซอร์แล้วไปที่:

http://localhost:8888/gwen_ai/install/

ระบบจะแสดงหน้า Install Wizard ให้กรอกข้อมูลดังนี้:

ตั้งค่าการเชื่อมต่อฐานข้อมูล กรอก Host, Port, ชื่อฐานข้อมูล, Username, Password
ทดสอบการเชื่อมต่อ คลิกปุ่ม "ทดสอบการเชื่อมต่อ" เพื่อตรวจสอบว่าเชื่อมต่อสำเร็จ
ตั้งชื่อบริษัท ระบุชื่อบริษัทและข้อมูลพื้นฐานขององค์กร
สร้างบัญชีผู้ดูแลระบบ (Admin) ตั้ง Username, รหัสผ่าน, ชื่อ-นามสกุล, อีเมล

ขั้นตอนที่ 4: ค่าเชื่อมต่อฐานข้อมูล

ค่าค่าเริ่มต้น (MAMP)หมายเหตุ
DB Hostlocalhost
DB Port8889MAMP ใช้ port 8889, XAMPP ใช้ 3306
DB Namegwen_hrชื่อฐานข้อมูลที่สร้างในขั้นตอนที่ 2
DB Userroot
DB PasswordrootMAMP ค่าเริ่มต้นคือ root

ขั้นตอนที่ 5: ติดตั้งสำเร็จ

เมื่อกรอกข้อมูลครบถ้วนและคลิก "ติดตั้ง" ระบบจะ:

  • สร้างตารางฐานข้อมูลทั้งหมด (26+ ตาราง)
  • เพิ่มข้อมูลบทบาทและสิทธิ์เริ่มต้น
  • สร้างบัญชีผู้ดูแลระบบ
  • สร้างโฟลเดอร์ uploads/ สำหรับเก็บไฟล์
เมื่อติดตั้งเสร็จ ระบบจะนำท่านไปยังหน้า Login อัตโนมัติ ใช้ Username/Password ที่ตั้งไว้เพื่อเข้าสู่ระบบ

ตั้งค่า Face Recognition (ตัวเลือกเสริม)

ระบบรองรับ Face Recognition 2 แบบ:

แบบที่ 1: Client-Side (แนะนำ — ไม่ต้องติดตั้งเพิ่ม)

ใช้ face-api.js ทำงานในเบราว์เซอร์โดยตรง โมเดล ML รวมอยู่ในระบบแล้ว พร้อมใช้งานทันที

แบบที่ 2: Server-Side Python API

สำหรับความแม่นยำที่สูงกว่า สามารถติดตั้ง Python Face API เสริมได้:

cd gwen_ai/python_api
pip install -r requirements.txt
python app.py    # รันบน port 5050
💡
Python API ใช้ library face_recognition (dlib) ซึ่งต้องการ cmake และ C++ compiler ระบบจะ Fallback ไปใช้ Client-Side อัตโนมัติหาก Python API ไม่พร้อม

หลังการติดตั้ง

สิ่งที่ควรทำหลังติดตั้ง

ตั้งค่าบริษัท ไปที่ ตั้งค่าระบบ เพื่ออัปโหลดโลโก้ ตั้งชื่อบริษัท เขตเวลา
สร้างโครงสร้างองค์กร เพิ่ม แผนก ตำแหน่ง สาขา ขององค์กร
ตั้งค่ากะการทำงาน สร้าง Shift Template สำหรับเวลาเข้า-ออกงาน
เพิ่มพนักงาน เพิ่มข้อมูลพนักงาน พร้อมถ่ายรูปสำหรับ Face Recognition
กำหนดสถานที่ Geofence ตั้งค่า พิกัด GPS และรัศมี ที่อนุญาตลงเวลาได้

แก้ไขปัญหาที่พบบ่อย

เชื่อมต่อฐานข้อมูลไม่ได้

  • ตรวจสอบว่า MySQL กำลังทำงานอยู่
  • ตรวจสอบ Port ให้ถูกต้อง (MAMP: 8889, XAMPP: 3306)
  • ตรวจสอบ Username/Password ของ MySQL
  • ตรวจสอบว่าสร้างฐานข้อมูล gwen_hr แล้ว

กล้องไม่ทำงาน (Face Recognition)

  • ตรวจสอบว่าเบราว์เซอร์อนุญาตการเข้าถึงกล้อง (Camera Permission)
  • ต้องเข้าผ่าน HTTPS หรือ localhost เท่านั้น (ข้อจำกัดของเบราว์เซอร์)
  • ตรวจสอบว่ามีไฟล์โมเดลใน assets/models/face-api/

โครงสร้างโฟลเดอร์

gwen_ai/
├── index.php              ← จุดเข้าหลัก (redirect ไป login/dashboard)
├── login.php              ← หน้าเข้าสู่ระบบ
├── logout.php             ← ออกจากระบบ
├── config/                ← การตั้งค่าระบบ
│   └── config.php            ← ค่าคงที่, ฐานข้อมูล, Paths
├── core/                  ← ไฟล์แกนหลัก
│   ├── db_connection.php     ← PDO Singleton, Helper functions
│   ├── functions.php         ← ฟังก์ชันทั่วไป, Auth, Geofence
│   ├── permissions.php       ← ระบบ RBAC
│   ├── csrf.php              ← ป้องกัน CSRF
│   ├── i18n.php              ← ระบบหลายภาษา
│   └── face_matching.php     ← Face Recognition utilities
├── pages/                 ← หน้าต่าง ๆ ของระบบ
│   ├── dashboard.php         ← แดชบอร์ด
│   ├── employees/            ← จัดการพนักงาน
│   ├── attendance/           ← ลงเวลา
│   ├── leaves/               ← การลา
│   ├── overtime/             ← ค่าล่วงเวลา
│   ├── shifts/               ← กะการทำงาน
│   ├── payroll/              ← เงินเดือน
│   └── settings/             ← ตั้งค่าระบบ
├── api/                   ← REST API endpoints
├── assets/                ← CSS, JS, รูปภาพ, ML Models
├── language/              ← ไฟล์ภาษา (th, en)
├── uploads/               ← ไฟล์ที่อัปโหลด
├── python_api/            ← Python Face API (เสริม)
└── install/               ← ตัวติดตั้งระบบ