Cara Install Odoo 13 Di Linux Centos

Posted by Admin on February 04, 2020

Seperti yang kita ketahui bersama bahwa odoo adalah salah satu software ERP yang lagi bagus atau lagi naik daun. Software odoo ini karena Open Source atau bisa kita custome semau mungkin atau sesuai yang kita inginkan. Untuk mendokumentasikan nya saya mencoba membuat sebuah artikel tentang bagaimana cara installasi odoo di linux centos 7, mari kita simak tahapan - tahapan nya.

Kebutuhan Yang Mendasar

Pastikan kita sudah login dengan mode su atau mode administrator/root

Install Python 3.6 dan Kebutuhan ketergantungan Odoo

Kita install python 3.6 dari repository SCL ( Software Collection ) repository. Dengan mengaktifkan repository ini berarti kita akan mengaccess bahasa pemograman versi baru. Karena kalo lewat repository resmi nya centos itu tidak terdapat versi python 3.6.

Cara mengaktifkan repository SCL

sudo yum install epel-release centos-release-scl

Setelah kita aktifkan, selanjutnya kita lakukan install software penunjang untuk menjalankan odoo13, dengan menjalankan syntak dibawah ini.

sudo yum install rh-python36 git gcc wget nodejs-less libxslt-devel bzip2-devel openldap-devel libjpeg-devel freetype-devel

Selama proses installasi berlangsung maka akan di minta persetujuan GPG key, silahkan accepted GPG key.

Buat User Odoo

Buat user odoo dan group dengan home directory /home/odoo ini akan menambahkan service odoo

sudo useradd -m -U -r -d /opt/odoo12 -s /bin/bash odoo12
Kamu dapat menambahkan user apa saja nama user sesuai dengan keinginan tapi yang harus dipastikan user PostgreSQL sama dengan nama user yang dibuat

Install Dan Konfigurasi PostgreSQL

Secara Default dari repository centos tersedia PostgreSQL versi 9.2 tetapi versi PostrgreSQL 9.2 tidak support dengan Odoo.

Kita akan install PostgreSQL 10 dari Official Repositories PostgreSQL

Enable PostgreSQL repository:

sudo yum install https://download.postgresql.org/pub/repos/yum/10/redhat/rhel-7-x86_64/pgdg-centos10-10-2.noarch.rpm

Install PostgreSQL Server dan Buat PostgreSQL Database Cluster

$ sudo yum install postgresql10-server postgresql10-devel
$ sudo /usr/pgsql-10/bin/postgresql-10-setup initdb

Setelah installasi complete, enable dan jalankan PostgreSQL Service

sudo systemctl enable postgresql-10
sudo systemctl start postgresql-10

Buat PostgreSQL user dengan nama yang sama yang dibuat di odoo user, dalam kasus ini saya menggunakan odoo dengan nama user nya sesuai dengan nama user di awal.

sudo su - postgres -c "createuser -s odoo"

Install Wkhtmltopdf

wkhtmltox adalah paket di provide untuk opensource command line yang mana dapat merender HTML kedalam PDF dan image format. Dalam hal ini kita gunakan PDF report, kamu membutuhkan alat wkhtmltopdf. Rekomendasi versi wkhtmltopdf untuk Odoo adalah versi 0.12.1 dan lagi - lagi ini juga tidak tersedia dalam official repository centos 7.

wget https://github.com/wkhtmltopdf/wkhtmltopdf/releases/download/0.12.1/wkhtmltox-0.12.1_linux-centos7-amd64.rpm

Setelah itu lanjutkan complete install paket rpm dengan menjalankan command line nya

sudo yum localinstall wkhtmltox-0.12.1_linux-centos7-amd64.rpm

Install dan Konfigurasi Odoo 12

sudo su - odoo12

Cloning Odoo 12 dari Github repository

git clone https://www.github.com/odoo/odoo --depth 1 --branch 12.0 /opt/odoo12/odoo

Enable SCL ( Software Collection ) jadi kita mengakses python 3.6 binaries

scl enable rh-python36 bash

Buat Python Environment untuk Installasi Odoo

cd /home/odoo
python3 -m venv venv

Active kan environment

source venv/bin/activate

Install semua kebutuhan module python

(env) $ pip3 install -r odoo/requirements.txt

Deactive env

(env) $ deactivate

Buat direktori untuk custom odoo

mkdir /opt/odoo12/odoo-custom-addons

Swicth ke user sudo user

exit

Selanjutnya Open text editor dan

sudo nano /etc/odoo12.conf

Lakukan Perubahan confignya

[options]
; This is the password that allows database operations:
admin_passwd = admin
db_host = False
db_port = False
db_user = odoo
db_password = False
addons_path = /home/odoo/odoo/addons, /home/odoo/odoo-custom-addons

Simpan dan Close

Jangan lupa untuk lakukan perubahan password untuk beberapa keamanan

Buat system unit file

Untuk menjalankan service odoo kita akan membuat unit file

Buka text editor dan buat file dengan nama file odoo.service dibawah directory etc/systemd/system/

sudo nano /etc/systemd/system/odoo.service

Paste content di bawah ini

[Unit]
Description=Odoo12
Requires=postgresql-10.service
After=network.target postgresql-10.service

[Service]
Type=simple
SyslogIdentifier=odoo12
PermissionsStartOnly=true
User=odoo12
Group=odoo12
ExecStart=/usr/bin/scl enable rh-python36 -- /opt/odoo12/venv/bin/python3 /opt/odoo12/odoo/odoo-bin -c /etc/odoo12.conf
StandardOutput=journal+console

[Install]
WantedBy=multi-user.target

Simpan Dan Close

Catatan Khusus untuk mengecek nama service di linux centos bisa jalankan syntak berikut ini

systemctl list-unit-files | grep enabled

Setelah menjalankan syntak diatas maka akan ada respon output seperti ini

auditd.service                                enabled 
autovt@.service                               enabled 
chronyd.service                               enabled 
crond.service                                 enabled 
dbus-org.fedoraproject.FirewallD1.service     enabled 
dbus-org.freedesktop.NetworkManager.service   enabled 
dbus-org.freedesktop.nm-dispatcher.service    enabled 
firewalld.service                             enabled 
getty@.service                                enabled 
irqbalance.service                            enabled 
kdump.service                                 enabled 
lvm2-monitor.service                          enabled 
microcode.service                             enabled 
NetworkManager-dispatcher.service             enabled 
NetworkManager-wait-online.service            enabled 
NetworkManager.service                        enabled 
nginx.service                                 enabled 
odoo13.service                                enabled 
odoodev.service                               enabled 
odooproduction.service                        enabled 
postfix.service                               enabled 
postgresql-12.service                         enabled 
rhel-autorelabel.service                      enabled 
rhel-configure.service                        enabled 
rhel-dmesg.service                            enabled 
rhel-domainname.service                       enabled 
rhel-import-state.service                     enabled 
rhel-loadmodules.service                      enabled 
rhel-readonly.service                         enabled 
rsyslog.service                               enabled 
sshd.service                                  enabled 
systemd-readahead-collect.service             enabled 
systemd-readahead-drop.service                enabled 
systemd-readahead-replay.service              enabled 
tuned.service                                 enabled 
dm-event.socket                               enabled 
lvm2-lvmetad.socket                           enabled 
lvm2-lvmpolld.socket                          enabled 
default.target                                enabled 
multi-user.target                             enabled 
remote-fs.target                              enabled 
runlevel2.target                              enabled 
runlevel3.target                              enabled 
runlevel4.target                              enabled 
dnf-makecache.timer                           enabled 

Silahkan Sesuaikan nama service yang ada di odoo.service sesuai yang tertera di list service jangan beda. Karena dia case sensitive, share pengalaman saya ketika salah manggil nama service makan odoo service tidak bisa dijalankan.

Notifikasi Systemd yang telah kita buat unit file

sudo systemctl daemon-reload

Jalankan dan enable odoo service dengan menjalankan syntak

sudo systemctl enable odoo12
sudo systemctl start odoo12

Kamu bisa mengecek status service odoo dengan menjalankan syntak

sudo systemctl status odoo12

Respon service odoo kalo berjalan dengan normal adalah seperti ini

● odooproduction.service - Odoo Production
   Loaded: loaded (/etc/systemd/system/odooproduction.service; enabled; vendor preset: disabled)
   Active: active (running) since Mon 2020-02-03 19:00:32 EST; 5h 20min ago
 Main PID: 5300 (python3)
   CGroup: /system.slice/odooproduction.service
           └─5300 /home/odoo-production/venv/bin/python3 /home/odoo-production/odoo/odoo-bin -c /etc/odooproduction.conf

Feb 04 00:17:21 odooyw odooproduction[5300]: 2020-02-04 05:17:21,617 5300 INFO ywam_prod werkzeug: 10.12.6.33 - - [04/Feb/2020 05:17:21] "POST /longpolling/poll HTTP/1.1" 200 - 8 0.005 50.471
Feb 04 00:17:52 odooyw odooproduction[5300]: 2020-02-04 05:17:52,654 5300 INFO ywam_prod odoo.addons.base.models.ir_cron: Starting job `Post process payment transactions`.
Feb 04 00:17:52 odooyw odooproduction[5300]: 2020-02-04 05:17:52,681 5300 INFO ywam_prod odoo.addons.base.models.ir_cron: Job `Post process payment transactions` done.
Feb 04 00:18:12 odooyw odooproduction[5300]: 2020-02-04 05:18:12,069 5300 INFO ywam_prod werkzeug: 10.12.6.33 - - [04/Feb/2020 05:18:12] "POST /longpolling/poll HTTP/1.1" 200 - 8 0.005 50.029
Feb 04 00:18:52 odooyw odooproduction[5300]: 2020-02-04 05:18:52,737 5300 INFO ywam_prod odoo.addons.base.models.ir_cron: Starting job `Calendar: Event Reminder`.
Feb 04 00:18:52 odooyw odooproduction[5300]: 2020-02-04 05:18:52,751 5300 INFO ywam_prod odoo.modules.registry: At least one model cache has been invalidated, signaling through the database.
Feb 04 00:18:52 odooyw odooproduction[5300]: 2020-02-04 05:18:52,784 5300 INFO ywam_prod odoo.addons.base.models.ir_cron: Job `Calendar: Event Reminder` done.
Feb 04 00:19:03 odooyw odooproduction[5300]: 2020-02-04 05:19:03,028 5300 INFO ywam_prod werkzeug: 10.12.6.33 - - [04/Feb/2020 05:19:03] "POST /longpolling/poll HTTP/1.1" 200 - 8 0.006 50.049
Feb 04 00:19:54 odooyw odooproduction[5300]: 2020-02-04 05:19:54,416 5300 INFO ywam_prod werkzeug: 10.12.6.33 - - [04/Feb/2020 05:19:54] "POST /longpolling/poll HTTP/1.1" 200 - 23 0.020 50.052
Feb 04 00:20:45 odooyw odooproduction[5300]: 2020-02-04 05:20:45,054 5300 INFO ywam_prod werkzeug: 10.12.6.33 - - [04/Feb/2020 05:20:45] "POST /longpolling/poll HTTP/1.1" 200 - 8 0.006 50.045

Untuk melihat aktifitas odoo service dengan menjalankan jurnalctl

sudo journalctl -u odoo12

Test installasi

Jika installasi sukses maka alamat

odoo-12-centos