How to install Odoo 14 on Ubuntu 20.04
สวัสดีครับ สำหรับบทความนี้เราก็จะมาทำความรู้จักและทดลองติดตั้ง Odoo แบบเบื้องต้น โดยเวอร์ชั่นที่เราจะติดตั้งนั้นเป็นเวอร์ชั่นที่ 14 ซึ่งเป็นเวอร์ชั่นล่าสุดที่ออกมา (ปัจจุบัน ณ วันที่ 5 กันยายน 2564) โดยระหว่างการติดตั้งก็จะมีการสอนใช้ package บางอันของภาษา python เพื่อเพิ่มความสะดวกอีกด้วย
และก่อนที่เราจะติดตั้งตั้ง Odoo นั้น สังสัยไหมครับว่าเจ้า Open Source ที่ชื่อ Odoo นั้นมันคืออะไร และมันสามารถทำอะไรได้บ้าง ..
Odoo คืออะไร ?
odoo คือ ซอฟต์แวร์ประเภท ERP (Enterprise Resource Plantning) หรือซอฟต์แวร์ที่ช่วยบริหารและจัดการกับธุระกิจโดยมี Module ให้เลือกใช้มากมาย เช่น การขาย การบัญชี การผลิต และจัดการทรัพยากรบบุคคล อีกทั้งยังประหยัดค่าใช้จ่ายและควบคุมต้นทุนได้อีกด้วย.
โดย odoo นั้นใช้ภาษา python ในการพัฒนาและถูกแบ่งออกเป็น 2 เวอร์ชั่น คือ
- แบบ Community Version ซึ่งก็คือแบบ Open-Source ที่ให้นักพัฒนาหรือผู้ใช้นำไปใช้งานได้แบบฟรี
- แบบ Enterprise Version เป็นแบบเสียค่าใช้งานจ่าย แต่สามารถใช้งานได้เลย ไม่ต้องติดตั้งและเขียนโมดูลให้เสียเวลา
เริ่มติดตั้ง Odoo 14 แบบ Open-Source
ตอนนี้เราก็มาถึงการติดตั้งกันแล้วนะครับ โดยระบบปฏิบัติการที่ผมใช้เป็น Ubuntu 20.04 ใช้ python 3.8.10 โดยสามารถดูวิธีติดตั้งได้ ที่นี่
สิ่งที่ต้องมีก่อนติดตั้ง odoo 14
เราจะต้องติดตั้ง nodejs , git, pip ก่อน สามารถใช้ command นี่ได้เลย
$ sudo apt update
$ sudo apt install git python3-pip build-essential wget python3-dev python3-venv python3-wheel libfreetype6-dev libxml2-dev libzip-dev libldap2-dev libsasl2-dev python3-setuptools node-less libjpeg-dev zlib1g-dev libpq-dev libxslt1-dev libldap2-dev libtiff5-dev libjpeg8-dev libopenjp2-7-dev liblcms2-dev libwebp-dev libharfbuzz-dev libfribidi-dev libxcb1-dev
สร้าง User System
การทำงานของ Odoo นั้นไม่สามารถทำงานภายใต้ user root ได้เพราะเหตุผลทางความปลอดภัย ดังนั้นเราจึงต้องสร้าง user system ที่ให้ odoo ทำงานโดยเฉพาะ โดยจะสร้างไฟล์ไว้ที่ /opt/odoo14-test
ทั้งนี้ผมสร้างจะสร้างโฟลเดอร์ชื่อว่า odoo14-test และให้ชื่อ user ว่า odoo14-test
$ sudo useradd -m -d /opt/odoo14-test -U -r -s /bin/bash odoo14-test
ติดตั้งและ Configuring PostgreSQL
odoo นั้นใช้ PostgreSQL เป็น database back-end สามารถติดตั้งด้วย command
$ sudo apt install postgresql
หลังจากที่เราติดตั้ง postgresql เสร็จสิ้นนั้น ก็มาสร้าง user สำหรับ postgresql
$ sudo su - postgres -c "createuser -s odoo14_test"
ติดตั้ง wkhtmltopdf
wkhtmltopdf เป็น open-source สำหรับแสดงหน้า html หรือเว็บเพจเป็นไฟล์ pdf โดยใช้การพิมพ์คำสั่งเป็น command line ล้วนๆ แทนการใช้แบบกราฟฟิก ซึ่งแปลงได้หลายหน้า หรือการแสดงรูปภาพต่างๆ ได้มากมาย
เริ่มการติดตั้งด้วยการ download ไฟล์ .deb
$ sudo wget https://github.com/wkhtmltopdf/packaging/releases/download/0.12.6-1/wkhtmltox_0.12.6-1.bionic_amd64.deb
หลังจาก download เริ่มติดตั้งด้วย command
$ sudo apt install ./wkhtmltox_0.12.6-1.bionic_amd64.deb
ติดตั้ง และ Configuring Odoo14
ก่อนที่จะเริ่มติดตั้ง odoo เรามาทำความรู้จักกับ python package ที่ชื่อว่า pyenv โดยมันสามารถใช้เพื่อแยกเวอร์ชั่นของ python 2.7, 3.6, 3.7 และ3.8 อีกทั้งเวลาที่เราจะใช้งานเราสามารถสลับเวอร์ชั่นไปมาได้
สามารถอ่านรายละเอียดและติดตั้งได้ตามลิงค์นี้เลยครับ
เริ่มการติดตั้ง odoo14 โดยการเปลี่ยน user ไปที่ odoo14-test
$ sudo su - odoo14
clone Odoo14 จาก git repo ข้างต้น จะเห็นว่า directory ของโปรเจ็คนั้นคือ /opt/odoo14-test/odoo
$ git clone https://www.github.com/odoo/odoo --depth 1 --branch 14.0 /opt/odoo14-test/odoo
หลังจาก clone เสร็จให้ย้าย directory มาที่ home/user โดยใช้ command
$ cd ~
จากนั้นสร้างโฟลเดอร์สำหรับโปรเจ็คโดยผมใช้ชื่อว่า odoo14-test ด้วย command $ mkdir odoo14-test
หลังจากที่เราสร้างโฟลเดอร์โปรเจ็คเรียบร้อยแล้ว ให้เข้าไปภายในโฟลเดอร์โปรเจ็ตของเราโดยหลังจากนี้เราจะให้โฟล์เดอร์โปรเจ็คของเราเพื่อสร้างโฟลเดอร์ like-addons และเชื่อมต่อกับโฟล์เดอร์ odoo ที่ clone มาจาก git ด้วย command
$ mkdir link-addons
เราสามารถดู directory ปัจจุบันได้ด้วย command $ pwd
ln -s <directory git clone> <directory your project>
$ sudo ln -s /opt/odoo14-test/odoo /home/art/odoo14-test
จากนั้นเราจะใช้ pyenv เพื่อใช้ python 3.8.10 เป็น version default มาเริ่มกันเลย
$ pyenv install 3.8.10
ติดตั้ง python version 3.8.10
$ pyenv virtualenv 3.8.10 odoo14-test
สร้างโปรเจ็ค Virtual Environment
$ pyenv versions
เพื่อดู version ปัจจุบันของ pyenv
$ pyenv local odoo14-test
เพื่อใช้ virtual environment odoo14-test
ต่อจากนั้นทำการติดตั้ง package ทั้งหมดตาม requirements ที่ odoo ต้องการ
$ pip install -r odoo/requirements.txt
สร้าง config file ด้วย command
$ sudo vim odoo14-test.conf
เริ่ม start odoo ด้วย command $ ./odoo/odoo-bin -c odoo14-test.conf
url : http://localhost:8069 โดย user และ password คือ admin
เป็นอันเสร็จสิ้นครับ ถ้าผิดพลาดประการใดหรือสงสัยส่วนไหนก็ติชมหรือสอบภามได้นะครับ
ปล. ถ้าการเชื่อมต่อมีปัญหาให้ลองเปลี่ยน owner ของ database odoo14_test เป็น owner ที่เป็น <system user> ดูครับ