X

เลือกประเทศของคุณ

Thailand (ภาษาไทย)Thailand (ภาษาไทย) Worldwide (English)Worldwide (English)
X

เลือกสกุลเงิน

฿ Thai baht $ US Dollar
X

เลือกประเทศของคุณ

Thailand (ภาษาไทย)Thailand (ภาษาไทย) Worldwide (English)Worldwide (English)
X

เลือกสกุลเงิน

฿ Thai baht $ US Dollar

การติดตั้ง Odoo 17 บน Ubuntu Server 22.04

หน้าหลักArticlesOdoo ERPการติดตั้ง Odoo 17 บน Ubuntu Serve...

Odoo เป็นเว็บแอพลิเคชั่นประเภท วางแผนและบริหารจัดการทรัพยากรองค์กร. หรือที่เรารู้จักกันในนาม OpenERP ซึ่งมีโมดูล มากมายให้เลือกใช้ ทั้งในแบบเสียเงินและฟรี ตัวอยยางเช่น โมดูลแแคชเชียร์ขายยหน้าร้าน (POS), Inventory, CRM, Website, Live Chat, e-Commerce, Billing, Accounting, Warehouse, etc. Odoo 17 ปล่อยให้ดาวน์โหลดใช้งานตั้งแต่วันที่ 10 พฤศจิกายน 2023 ที่ผ่านมา. ซึ่งความสามารถของ Odoo 17 นั้นพัฒนาต่อยอดมามาจาก Odoo 16 และเร็วขึ้นกว่ามาก:

ในบทความนี้จะสอนขั้นตอนการติดตั้ง Odoo 17 บน Ubuntu 22.04 แบบทีละขั้นตอน.

ความต้องการของระบบ

  • Ubuntu เวอร์ชัน 22.04 บน VPS.
  • แรมขั้นต่ำ 2GB .
  • SSH root access หรือ system user ที่มีสิทธิ์ sudo.

ขุั้นตอนที่ 1.อัปเดตระบบ

ขั้นตอนแแรกเราต้องทำ access Ubuntu 22.04 VPS ผ่าน SSH กันก่อน:

ssh master@IP_Address -p Port_number

แทน “master”ด้วยชื่อ user ที่มีสิทธิ์ sudo privileges หรือ root (ไม่แนะนำ). ส่วน “IP_Address” และ “Port_Number” คือ IP addressและ หมายเลขพอร์ต SSH . เมื่อเข้าสู่ระบบได้แล้ว
ให้ทำการตรวจสอบเวอร์ชัน ของ Ubuntu ด้วยคำสั่ง:
$ lsb_release -a

จะได้ Output ดังนี้:

No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 22.04.1 LTS
Release: 22.04
Codename: jammy

จากนั้นพิมพ์คำสั่งเพื่ออัปเดต packages server เป็นเป็นเวอร์ชันล่าสุดด้วยคำสั่ง:

$ sudo apt update

ขั้นตอนที่ 2. เพิ่ม user ในระบบ

การติดตั้ง Odoo 17ลงบน instance จะต้องเพิ่ม user ลงบน linux seerver เสียก่อน. ในขั้นตอนนี้เราจะสร้าง user ที่ชื่อ “odoo17” โดยใช้คำสั่ง.

$ sudo useradd -m -d /opt/odoo17 -U -r -s /bin/bash odoo17

ขั้นตอนที่ 3. Install Dependencies

ตัว Odoo นั้น พัฒนาด้วยภาษา Python,จึงจะเป็นต้องลง dependencies ที่เกี่ยวข้องเพื่อติดตั้ง Odoo 17 บน Ubuntu 22.04 ให้รันคำสั่งดังนี้.

$ sudo apt install build-essential wget git python3-pip python3-dev python3-venv python3-wheel libfreetype6-dev libxml2-dev libzip-dev libsasl2-dev 
python3-setuptools libjpeg-dev zlib1g-dev libpq-dev libxslt1-dev libldap2-dev libtiff5-dev libopenjp2-7-dev

ขั้นตอนที่ 4. ติดตั้ง PostgreSQL

Odoo นั้นรองรับ PostgreSQL ในการเก็บฐานข้อมูล การติดตั้ง PostgreSQL บน Ubuntu 22.04 server ใช้คำสั่ง.

$ sudo apt install postgresql

After the installation is finished, we can add a new postgresql user for our Odoo 17; run this command:

$ sudo su - postgres -c "createuser -s odoo17"

ขั้นตอนที่ 5. ติดตั้ง Wkhtmltopdf

ในการพิมพ์เอกสารหรือรายงานต่างๆ บน Odoo 17 จำเป็นต้อใช้ wkhtmltopdf เวอร์ชั่นที่เทียบเท่า หรือสูงกว่า 0.12.2. Wkhtmltopdf เป็น open-source command line tool
ในการเรนเดอร์ HTML data ในรูปแบบ PDF โดยอาศัย Qt webkit. การติดตั้ง wkhtmltopdf ให้ทำตามขั้นตอนดังต่อไปนี้

$ sudo apt install wkhtmltopdf

เมื่อติดตั้งแล้ว, คุณสามารถตรวจสอบเวอร์ชันได้จากคำสั่งข้างล่าง

$ wkhtmltopdf --version

จะเห็น output ดังนี้:

wkhtmltopdf 0.12.6
 

ขั้นตอนที่ 6. ติดตั้ง Odoo

ใน Ubuntu 22.04, เราสามารถติดตั้ง Odoo จาก Ubuntu repository ได้, แต่ใน Ubuntu repository จะไม่ใช่เวอร์ชัน 17 ที่เป็นเวอร์ชันล่าสุด. ในบทความนี้จะสอนการติดตั้ง Odoo17
ผ่าน python virtual environment. ตามขั้นตอนที่ 2ที่เราทำการสร้าง user ไว้ ให้ทำการสลับ user เป็น user ที่เราสร้างไว้ดังนี้ จากนั้นค่อยติดตั้ง Odoo ภายใต้ username ที่เราได้สร้างขึ้น.

$ sudo su - odoo17

คำสั่งข้างต้นจะทำให้เราย้าย directory มาอยู่ default มาอยู่ที่ /opt/odoo17 และเข้าใช้งานระบบด้วย user ‘odoo17’.  จากนั้นให้ดาวน์โหลด Sourcecode Odoo17 ผ่าน git ด้วยคำสั่ง.

$ git clone https://www.github.com/odoo/odoo --depth 1 --branch 17.0 odoo17

เมื่อดาวน์โหลดเสร็จแล้ว ให้สร้าง python virtual environment เพื่อใช้รัน Odoo ด้วยคำสั่ง.

$ python3 -m venv odoo17-venv

เมื่อติดตั้งเสร็จให้ทำการ activate python virtual environment ด้วยคำสั่ง.

$ source odoo17-venv/bin/activate

เมื่อรันคำสั่งข้างต้นจะปรากฏ output ดังนี้

(odoo17-venv) odoo17@ubuntu22vps:~$

ให้เราทำการติดตั้ง Odoo ด้วยคำสั่ง

(odoo17-venv) odoo17@ubuntu22vps:~$ pip3 install wheel
(odoo17-venv) odoo17@ubuntu22vps:~$ pip3 install -r odoo17/requirements.txt

เมื่อทำการติดตั้งเสร็จสิ้น, ให้ทำการสร้าง directory ไว้จัดเก็บ Modules หรือ Addons เสริมอื่น ๆ .

โดย deactivate venv ก่อนด้วยคำสั่ง

(odoo17-venv) odoo17@ubuntu22vps:~$ deactivate

จากนั้น สร้าง directory ด้วยคำสั่ง

$ mkdir /opt/odoo17/odoo17/custom-addons

เมื่อเสร็จสิ้น ให้ออกจากระบบ  ‘odoo17’ และสร้าง Odoo configuration file.

ออกจากระบบด้วยคำสั่

$ exit

ทำการสร้างไฟล์ config
$ sudo nano /etc/odoo17.conf

พิมพ์ค่า config ตามตัวอย่างด้านล่าง

[options]
admin_passwd = thistispassword
db_host = False
db_port = False
db_user = odoo17
db_password = False
addons_path = /opt/odoo17/odoo17/addons,/opt/odoo17/odoo17/custom-addons
xmlrpc_port = 8069

ให้แน่ใใจว่าคุณได้เปลี่ยน thistispassword ให้เป็นรหัสผ่านที่ยากต่อการคาดเดา. ส่วนนี้จะใช้เป็น master password สำหรับ สร้างหรือลบฐานข้อมูลของ Odoo.

ขั้นตอนที่ 7. สร้าง Odoo Systemd Unit file

ขั้นตอนนี้, จะทำการสร้าง systemd unit file. เพื่อใช้รันคำสั่ง เปิดปิด การทำงานของ Odoo (start/stop/restart Odoo.)

$ sudo nano /etc/systemd/system/odoo17.service

ในไฟล์ ให้พิมพ์ค่า config ตามข้อมูลด้านล่าง.

[Unit]
Description=Odoo17
Requires=postgresql.service
After=network.target postgresql.service

[Service]
Type=simple
SyslogIdentifier=odoo17
PermissionsStartOnly=true
User=odoo17
Group=odoo17
ExecStart=/opt/odoo17/odoo17-venv/bin/python3 /opt/odoo17/odoo17/odoo-bin -c /etc/odoo17.conf
StandardOutput=journal+console

[Install]
WantedBy=multi-user.target

ทำการเซฟไฟล์ และพร้อมที่จะ รัน Odoo.

ให้ทำการ reload daemon ก่อนเพื่อให้ระบบรู้จัก Service ที่เราได้สร้างขึ้น 

$ sudo systemctl daemon-reload

สั่งรัน Odoo17 ด้วยคำสั่งดังนี้ 

$ sudo systemctl start odoo17

เมื่อรันเรียบร้อยแล้ว เราสามารถตรวจสอบว่า Service ทำงานหรือไม่ ด้วยคำสั่ง

$ sudo systemctl status odoo17

หาก Odoo ทำการรันปกติ จะขึ้นว่า Active

ให้เข้าบราวเซอร์ ด้วย IP ของ Server  --> http://YOUR_SERVER_IP_ADDRESS:8069; จะพบกับหน้า Odoo ให้สร้างฐานข้อมูลเพื่อเซ็ต Odoo 17 ERP ต่อไป

 

Billing Automation by WISECP
Top