วันจันทร์ที่ 9 พฤศจิกายน พ.ศ. 2569

Ubuntu - Odoo18

 

คู่มือการติดตั้ง Odoo 18 Community

Ubuntu Server 24.04 LTS บน VMware / Proxmox

ประเภทเอกสาร: Installation & Production Setup Guide
Odoo Edition: Community
Odoo Version: 18.0
Operating System: Ubuntu Server 24.04 LTS
Database: PostgreSQL
Web Server: Nginx (สำหรับ Production)
Virtualization: VMware / Proxmox


1. วัตถุประสงค์

เอกสารนี้จัดทำขึ้นเพื่ออธิบายขั้นตอนการติดตั้ง Odoo 18 Community บน Ubuntu Server 24.04 LTS ที่ทำงานอยู่บน VMware หรือ Proxmox โดยเน้นการติดตั้งสำหรับใช้งานจริงในองค์กร (Production Environment)

ครอบคลุมหัวข้อ:

  • เตรียม Ubuntu Server
  • ติดตั้ง PostgreSQL
  • ติดตั้ง Odoo 18 Community
  • ตั้งค่า Odoo Service
  • ตั้งค่า Firewall
  • ตั้งค่า Nginx Reverse Proxy
  • ตั้งค่าความปลอดภัย
  • สำรองและกู้คืนฐานข้อมูล
  • ตรวจสอบระบบหลังติดตั้ง

2. Hardware Requirements

รายการขั้นต่ำแนะนำ
CPU2 vCPU4 vCPU
RAM4 GB8–16 GB
Disk40 GB100 GB SSD
OSUbuntu 24.04Ubuntu 24.04 LTS
Network1 Gbps1 Gbps

หมายเหตุ: สเปกจริงขึ้นอยู่กับจำนวนผู้ใช้งานและปริมาณข้อมูล

3. เตรียม Ubuntu Server

อัปเดตระบบ:

sudo apt update
sudo apt upgrade -y
sudo reboot

ติดตั้งเครื่องมือพื้นฐาน:

sudo apt install -y wget curl git gnupg \
  build-essential python3 python3-pip \
  python3-venv python3-dev \
  libpq-dev postgresql-client

4. ติดตั้ง PostgreSQL

sudo apt install -y postgresql postgresql-client

เปิดใช้งาน PostgreSQL:

sudo systemctl enable postgresql
sudo systemctl start postgresql

ตรวจสอบสถานะ:

sudo systemctl status postgresql

5. เพิ่ม Repository Odoo 18

ใช้ Repository ทางการของ Odoo:

wget -q -O - https://nightly.odoo.com/odoo.key | \
sudo gpg --dearmor --yes \
-o /usr/share/keyrings/odoo-archive-keyring.gpg

เพิ่ม Repository:

echo 'deb [signed-by=/usr/share/keyrings/odoo-archive-keyring.gpg] https://nightly.odoo.com/18.0/nightly/deb/ ./' | \
sudo tee /etc/apt/sources.list.d/odoo.list

อัปเดต Package:

sudo apt update

หมายเหตุ: Repository นี้เป็น Nightly Package ของ Branch 18.0 ไม่ใช่แพ็กเกจที่ตรึง Build ไว้ ควรควบคุมการอัปเดตใน Production

6. ติดตั้ง Odoo 18 Community

sudo apt install -y odoo

ตรวจสอบเวอร์ชัน:

sudo -u odoo /usr/bin/odoo --version

เปิด Service:

sudo systemctl enable odoo
sudo systemctl start odoo

ตรวจสอบ:

sudo systemctl status odoo

7. ตั้งค่า Odoo Configuration

ไฟล์ Configuration:

sudo vi /etc/odoo/odoo.conf

ตรวจสอบและกำหนดค่าหลักให้เหมาะสม:

[options]
admin_passwd = CHANGE_TO_A_STRONG_MASTER_PASSWORD (admin)

db_host = False
db_port = False
db_user = odoo
db_password = False

addons_path = /usr/lib/python3/dist-packages/odoo/addons

http_port = 8069
proxy_mode = True

logfile = /var/log/odoo/odoo-server.log

ข้อควรระวัง:

  • ใช้ Master Password ที่มีความซับซ้อน
  • สำรองไฟล์ Configuration
  • กำหนดสิทธิ์ไฟล์ให้เหมาะสม
  • ตรวจสอบ addons_path ก่อนใช้งาน
  • หากใช้ Reverse Proxy ต้องตั้ง proxy_mode ให้ถูกต้อง

ตั้งค่าสิทธิ์:

sudo chown root:odoo /etc/odoo/odoo.conf
sudo chmod 640 /etc/odoo/odoo.conf

Restart Service:

sudo systemctl restart odoo

8. ตั้งค่า Firewall

ติดตั้ง UFW:

sudo apt install -y ufw

อนุญาต SSH:

sudo ufw allow 22/tcp

สำหรับการใช้งานภายใน ให้เปิด Port 8069 เฉพาะ IP หรือ Subnet ขององค์กร เช่น:

sudo ufw allow from 192.168.1.0/24 to any port 8069 proto tcp

เปิด Firewall:

sudo ufw enable
sudo ufw status

ไม่ควรเปิด PostgreSQL Port 5432 หรือ Odoo Port 8069 ให้เข้าถึงได้จากอินเทอร์เน็ตโดยตรง

9. เข้าใช้งาน Odoo

เปิด Web Browser:

http://SERVER-IP:8069

ตัวอย่าง:

http://192.168.1.100:8069

กรอกข้อมูล:

  • Master Password
  • Database Name
  • Email
  • Password
  • Language
  • Country

จากนั้นกด Create Database

10. ตั้งค่า Nginx Reverse Proxy

ติดตั้ง Nginx:

sudo apt install -y nginx

สร้างไฟล์:

sudo vi /etc/nginx/sites-available/odoo

ตัวอย่าง Configuration สำหรับเริ่มต้น:

server {
    listen 80;
    server_name _;

    proxy_read_timeout 720s;
    proxy_connect_timeout 720s;
    proxy_send_timeout 720s;

    location / {
        proxy_pass http://127.0.0.1:8069;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
    }
}

เปิดใช้งาน:

sudo ln -s /etc/nginx/sites-available/odoo /etc/nginx/sites-enabled/odoo
sudo nginx -t
sudo systemctl restart nginx

หมายเหตุ: Configuration นี้เป็นจุดเริ่มต้นสำหรับ HTTP ภายในเครือข่าย Production ที่มีผู้ใช้งานจำนวนมากควรเพิ่ม WebSocket/Longpolling routing และตั้ง HTTPS เมื่อมี Domain

11. ตรวจสอบระบบ

ตรวจสอบ Odoo:

sudo systemctl status odoo

ตรวจสอบ PostgreSQL:

sudo systemctl status postgresql

ตรวจสอบ Nginx:

sudo systemctl status nginx

ตรวจสอบ Port:

sudo ss -lntp

sudo lsof -i -P | grep -i "8069"

ตรวจสอบ Log:

sudo journalctl -u odoo -n 100 --no-pager

12. Backup Database

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

sudo mkdir -p /backup/odoo
sudo chown odoo:odoo /backup/odoo

สำรอง Database:

sudo -u postgres pg_dump -Fc DATABASE_NAME \
-o /backup/odoo/database.dump

ข้อควรระวัง: ต้องสำรอง Odoo Filestore ควบคู่กับ Database โดย Filestore ปกติอยู่ที่:


/var/lib/odoo/filestore/

ควรสำรอง Configuration ด้วย:


/etc/odoo/odoo.conf


ควรจัดเก็บ Backup ไว้บน Storage แยกจาก VM และทดสอบ Restore เป็นระยะ

13. Production Security Checklist

  • เปลี่ยน Master Password
  • จำกัดการเข้าถึง Port 8069
  • ไม่เปิด PostgreSQL สู่ Internet
  • ตั้งค่า Nginx Reverse Proxy
  • ติดตั้ง HTTPS เมื่อมี Domain
  • ปิด Database Listing และ Database Manager ตามความเหมาะสม
  • กำหนดสิทธิ์ผู้ใช้งาน
  • สำรอง Database และ Filestore
  • ตั้งค่า Backup อัตโนมัติ
  • ทดสอบการกู้คืนระบบ
  • วางแผนอัปเดต Security Patch
  • Snapshot VM ก่อนการเปลี่ยนแปลงสำคัญ

14. สรุป

ระบบที่ติดตั้งประกอบด้วย:

ComponentVersion
Operating SystemUbuntu Server 24.04 LTS
ERPOdoo 18 Community
DatabasePostgreSQL
Web ServerNginx
VirtualizationVMware / Proxmox
NetworkInternal IP
SSLเตรียมติดตั้งภายหลัง

ข้อแนะนำ: ก่อนเปิดระบบ Production ควรทดสอบการสร้าง Database การทำงานของ Module การสำรองข้อมูล และการกู้คืนระบบให้เรียบร้อย


เอกสารฉบับนี้เป็นคู่มือการติดตั้งเบื้องต้นสำหรับผู้ดูแลระบบ (System Administrator) โดยต้องตรวจสอบ Configuration และ Security ให้เหมาะสมกับสภาพแวดล้อมจริงก่อนเปิดใช้งาน

ไม่มีความคิดเห็น:

แสดงความคิดเห็น