Odoo adalah perangkat lunak bisnis all-in-one paling populer di dunia. Ini menawarkan berbagai aplikasi bisnis termasuk CRM, situs web, e-Commerce, billing, akuntansi, manufaktur, gudang, manajemen proyek, inventaris, dan banyak lagi, semuanya terintegrasi menjadi satu software.

Tutorial ini mencakup langkah-langkah yang diperlukan untuk menginstal dan mengkonfigurasi Odoo 12 untuk produksi menggunakan Git source dan Python virtual environment pada sistem CentOS 7.

Sebelum Mulai

Pastikan Anda masuk sebagai user sudo sebelum memulai tutorial ini.

Install python 3.6 dan dependensi Odoo

Kita akan menginstal paket Python 3.6 dari repositori Software Collections (SCL).

Dengan mengaktifkan SCL Anda akan mendapatkan akses ke versi bahasa pemrograman yang lebih baru dan layanan yang tidak tersedia di repositori inti CentOS 7.

Aktifkan repositori EPEL dan SCL dengan perintah berikut:

sudo yum instal epel-release centos-release-scl

Setelah repositori diaktifkan, instal Python 3.6 semua alat yang diperlukan untuk build dependensi Odoo:

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

Selama instalasi, Anda akan diminta untuk menerima GPG key.

Buat User Odoo

Buat pengguna dan grup sistem baru dengan direktori home / opt / odoo yang akan menjalankan layanan Odoo:

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

Anda dapat memberi nama user apa pun yang Anda suka, namun pastikan Anda membuat pengguna PostgreSQL dengan nama yang sama.

Instal dan konfigurasikan PostgreSQL

Pada saat menulis artikel ini, versi terbaru PostgreSQL yang tersedia dari repositori CentOS adalah PostgreSQL versi 9.2 yang tidak secara resmi didukung oleh Odoo.

Kami akan menginstal PostgreSQL 10 dari repositori PostgreSQL resmi.

Mulailah dengan mengaktifkan repositori PostgreSQL:

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

Instal server PostgreSQL dan buat cluster database PostgreSQL baru:

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

Setelah instalasi selesai, aktifkan dan mulai layanan PostgreSQL:

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

Buat user PostgreSQL dengan nama yang sama dengan user sistem yang dibuat sebelumnya, dalam kasus kami nama user sebelumnya adalah odoo12:

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

Install Wkhtmltopdf

Paket wkhtmltox menyediakan seperangkat alat baris perintahopen source yang dapat merender HTML ke dalam PDF dan berbagai format gambar. Untuk mencetak laporan PDF, Anda memerlukan tool wkhtmltopdf. Versi yang direkomendasikan untuk Odoo adalah 0.12.1 yang tidak tersedia di repositori resmi Ubuntu 18.04.

Unduh paket menggunakan perintah wget berikut:

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

Setelah unduhan selesai instal paket dengan mengetik:

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

Sebelum memulai dengan proses instalasi, beralihlah ke user odoo12:

sudo su - odoo12

Kemudian cloning Odoo 12 source code dari repository GitHub:

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

Aktifkan software collections  sehingga kita dapat mengakses binari python 3.6:

scl enable rh-python36 bash

Buat Python virtual environment baru untuk instalasi Odoo 12:

cd /opt/odoo12
python3 -m venv venv

aktifkan environment dengan perintah source berikut :

source venv/bin/activate

Install semua modul Python yang dibutuhkan :

pip3 install -r odoo/requirements.txt

Jika Anda menemukan kesalahan kompilasi selama instalasi, pastikan Anda menginstal semua dependensi yang diperlukan yang tercantum di bagian Sebelum mulai pada atas artikel ini.

Nonaktifkan environment menggunakan perintah berikut:

deactivate

Buat direktori baru untuk custom addons:

mkdir /opt/odoo12/odoo-custom-addons

Beralih kembali ke pengguna sudo Anda:

exit

Selanjutnya, buat file konfigurasi, dengan menyalin file konfigurasi sampel yang disertakan:

sudo cp /opt/odoo12/odoo/debian/odoo.conf /etc/odoo12.conf

Buka file dan edit sebagai berikut:

sudo nano /etc/odoo12.conf
[options]
; This is the password that allows database operations:
admin_passwd = superadmin_passwd
db_host = False
db_port = False
db_user = odoo12
db_password = False
addons_path = /opt/odoo12/odoo/addons, /opt/odoo12/odoo-custom-addons

Jangan lupa untuk mengubah superadmin_passwd dengan kata sandi yang lebih aman dan mudah di ingat.

Untuk menjalankan Odoo sebagai service (layanan sistem), kita perlu membuat file unit sistem odoo12.service di direktori/etc/systemd/system/.

Buka teks editor Anda dan paste konfigurasi berikut:

sudo nano /etc/systemd/system/odoo12.service
[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

Beri tahu systemd bahwa ada file unit baru dan start layanan Odoo dengan menjalankan:

sudo systemctl daemon-reload
sudo systemctl start odoo12

Periksa status layanan dengan perintah berikut:

sudo systemctl status odoo12

Outputnya akan terlihat seperti di bawah ini yang menunjukkan bahwa layanan Odoo aktif dan berjalan.

● odoo12.service - Odoo12
   Loaded: loaded (/etc/systemd/system/odoo12.service; disabled; vendor preset: disabled)
   Active: active (running) since Tue 2018-10-30 16:35:09 UTC; 6s ago
 Main PID: 24649 (scl)
   CGroup: /system.slice/odoo12.service
           ├─24649 /usr/bin/scl enable rh-python36 -- /opt/odoo12/venv/bin/python3 /opt/odoo12/odoo/odoo-bin -c /etc/odoo12.conf
           ├─24650 /bin/bash /var/tmp/scldyaa9h
           └─24653 /opt/odoo12/venv/bin/python3 /opt/odoo12/odoo/odoo-bin -c /etc/odoo12.conf

Aktifkan layanan Odoo untuk dimulai secara otomatis saat boot:

sudo systemctl enable odoo12

Jika Anda ingin melihat pesan yang dicatat oleh layanan Odoo, Anda dapat menggunakan perintah di bawah ini:

sudo journalctl -u odoo12

Buka browser Anda dan ketik:

http://<domain_anda_atau_IP_address>:8069

Dengan asumsi instalasi berhasil, layar yang mirip dengan berikut ini akan muncul:

odoo

Jika Anda tidak dapat mengakses halaman itu, maka kemungkinan firewall memblokir port 8069.

Gunakan perintah berikut untuk membuka port yang diperlukan:

sudo firewall-cmd --permanent --zone=public --add-port=8069/tcp
sudo firewall-cmd --reload

Kesimpulan

Tutorial ini memandu Anda melalui instalasi Odoo 12 di CentOS 7 di lingkungan virtual Python.