ติดตั้ง Odoo ด้วยตัวเอง
วิชานี้สอนภาคทฤษฎีโดยอ้างอิง SAP แต่ Lab ทั้งหมดใช้ Odoo เพราะเป็น ERP แบบ open-source ที่ติดตั้งเองได้ฟรี — บทนี้พาไปติดตั้ง Odoo Community ด้วย Docker บนเครื่องของตัวเอง แล้วสำรวจโครงสร้างแอปเบื้องต้น
1ทำความรู้จัก Odoo ก่อนติดตั้ง
Odoo คือซอฟต์แวร์บริหารธุรกิจครบวงจร (CRM, ขาย, จัดซื้อ, การผลิต, คลังสินค้า, บัญชี, HR ฯลฯ) รุ่น Community เป็น libre software ภายใต้ GNU LGPLv3 ใช้ฟรีไม่จำกัด ส่วนรุ่น Enterprise เพิ่มฟีเจอร์ขั้นสูง (เช่น Studio, Advanced Reporting, Barcode app เต็มรูปแบบ) และต้องเสียค่าบริการรายผู้ใช้ — สำหรับ Lab ทั้งหมดในวิชานี้ รุ่น Community เพียงพอ
2ติดตั้งด้วย Docker (แนะนำ)
วิธีที่ง่ายและสะอาดที่สุดคือใช้ Docker Compose รัน Odoo คู่กับ PostgreSQL (ฐานข้อมูลที่ Odoo ต้องใช้) พร้อมกัน — ต้องติดตั้ง Docker Desktop ก่อน
version: "3"
services:
db:
image: postgres:15
environment:
POSTGRES_DB: postgres
POSTGRES_USER: odoo
POSTGRES_PASSWORD: odoo
volumes:
- odoo-db-data:/var/lib/postgresql/data
odoo:
image: odoo:17.0
depends_on:
- db
ports:
- "8069:8069"
environment:
HOST: db
USER: odoo
PASSWORD: odoo
volumes:
- odoo-web-data:/var/lib/odoo
volumes:
odoo-web-data:
odoo-db-data:
docker compose up -d
รอสัก 1-2 นาทีให้ Odoo initialize ฐานข้อมูลครั้งแรก แล้วเปิดเบราว์เซอร์ไปที่ http://localhost:8069
หน้าจอจะให้ตั้งชื่อฐานข้อมูล (เช่น erp_lab), อีเมล/รหัสผ่านผู้ดูแลระบบ, ภาษา, ประเทศ (เลือก "Thailand" เพื่อได้ Chart of Accounts ภาษาไทยมาให้ในบทที่ 6) และเลือกติ๊ก "Load demonstration data" — แนะนำให้ติ๊กไว้ เพราะจะได้สินค้า ลูกค้า และข้อมูลตัวอย่างมาช่วยในการฝึกตั้งแต่ต้น
ทางเลือกอื่นถ้าไม่สะดวกใช้ Docker
สมัครที่ odoo.com เลือก "Start now" — ได้ instance บนคลาวด์ทันที ไม่ต้องติดตั้งอะไร เหมาะกับการทดลองเร็ว ๆ แต่ข้อมูลจะหายเมื่อหมดช่วงทดลอง
ใช้
apt ติดตั้ง PostgreSQL แล้ว clone Odoo จาก GitHub รันด้วย Python virtualenv — ซับซ้อนกว่า Docker แต่ปรับแต่ง/debug ได้ละเอียดกว่า เหมาะกับผู้ที่ต้องการพัฒนาโมดูลเสริมในอนาคต3ติดตั้งแอปที่จำเป็นสำหรับ Lab ทั้งหมด
หลัง login เข้าสู่ Odoo ครั้งแรก จะเห็นหน้า Apps — ค้นหาและกด "Install" สำหรับแอปต่อไปนี้ (เรียงตามลำดับที่ Lab ถัดไปจะใช้):
| แอป Odoo | ผูกกับบทเรียน | เทียบเท่าโมดูล SAP |
|---|---|---|
| Sales | บทที่ 3a/3b — Fulfillment | SD (Sales & Distribution) |
| Purchase | บทที่ 4a/4b — Procurement | MM (Materials Management) — ฝั่งจัดซื้อ |
| Inventory | บทที่ 7 — Inventory & Warehouse (และรองรับทุกบท) | MM/WM (Warehouse Management) |
| Manufacturing | บทที่ 5a/5b — Production | PP (Production Planning) |
| Accounting | บทที่ 6a/6b — FI/CO | FI/CO (Financial/Controlling) |
4สำรวจโครงสร้างหน้าจอ Odoo
มุมมองเริ่มต้นของหลายแอป แสดงเป็นการ์ดจัดกลุ่มตามสถานะ (เช่น Quotation → Sales Order → Done) ลากการ์ดข้ามคอลัมน์เพื่อเปลี่ยนสถานะได้
ตารางแบบ spreadsheet เหมาะกับดูข้อมูลจำนวนมากพร้อมกันหรือแก้ไขหลายแถวรวดเดียว
หน้าจอรายละเอียดของ record หนึ่งรายการ (เช่น Sales Order หนึ่งใบ) — มีปุ่มสถานะ (status bar) ด้านบนแสดง workflow เช่น Quotation → Sales Order → Done เทียบได้กับสถานะ production order ในบทที่ 5b
สังเกตว่าโครงสร้างเมนูของ Odoo แบนราบกว่า SAP มาก — ไม่มีแนวคิด transaction code (T-code) แบบ SAP GUI ทุกอย่างเข้าถึงผ่านเมนูและปุ่มในหน้าเว็บโดยตรง นี่คือความต่างเชิงปรัชญาการออกแบบที่สำคัญ: SAP ออกแบบมาสำหรับผู้ใช้ที่ผ่านการฝึกอบรมเฉพาะทาง (power user) ส่วน Odoo ออกแบบให้ผู้ใช้ทั่วไปเรียนรู้ได้เองโดยไม่ต้องมีคู่มือ T-code
- Odoo รันได้ที่ localhost:8069 (หรือ Odoo Online) และ login เข้าได้
- สร้างฐานข้อมูลพร้อม demo data แล้ว
- ติดตั้งครบทั้ง 5 แอป: Sales, Purchase, Inventory, Manufacturing, Accounting
- ลองสลับดู Kanban/List/Form view ในแอป Sales อย่างน้อยหนึ่งรอบ