
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
Comments