Prerequisite
- Dalam artikel ini saya menggunakan elementary 6.1 Jólnir based on Ubuntu 20.04, jadi seharusnya 100% script yang ada di artikel ini bisa jalan tanpa kendala jika kalian menggunakan Ubuntu 20.04 dan turunannya. Untuk pengguna distro atau OS lain bisa disesuaikan.
- Python3, Ubuntu 20.04 sudah shipped dengan python3.8, jadi untuk development odoo 13 sampai odoo 15, tidak ada config khusus dari python. Kecuali untuk odoo 12 kebawah, maka harus menggunakan deadsnakes ppa, yang mungkin akan saya buatkan artikel sendiri dikemudian hari.
- Virtualenv, sudah ada juga di repo-nya ubuntu dengan nama
python3-virtualenv
. Digunakan untuk membuat setiap library dari beda instance odoo “terisolasi”, jadi setiap instance odoo tidak akan saling tabrakan versi library. - PostgreSQL, Odoo by default menggunakan postgresql, postgresql v12 sudah cukup untuk cover odoo 13 sampai odoo 15.
Preparation
- Install PostgreSQL
- Update terlebih dahulu apt, lalu install
sudo apt update sudo apt install postgresql postgresql-client
- Setelah selesai, buat user baru dengan commandCommand diatas akan membuat user untuk postgresql sesuai dengan user yang login sekarang dengan access “superuser” dan accesss membuat database.
sudo su - postgres -c "createuser -s -d $USER"
- Setelah user berhasil dibuat, buat database baru. Karena postgresql butuh db yang sesuai dengan nama usernya
createdb $USER
- jika sudah, kalian bisa cek dengan command
psql
, ini akan membuka psql dengan user yang login sekarang dan db dari user. Jika tidak ada error, tahap pertama install postgresql sudah berhasil.
- Update terlebih dahulu apt, lalu install
- Upgrade python3 dan install beberapa dependencies
- Upgrade python3 terlebih dahulu
sudo apt upgrade python3
- Jika sudah selesai, lanjut dengan install
python3-dev
,python3-virtualenv
,git
, dan beberapa dependencies yang dibutuhkan odoosudo apt install python3-dev libxml2-dev libxslt1-dev libldap2-dev \ libsasl2-dev libtiff5-dev libjpeg8-dev libopenjp2-7-dev zlib1g-dev \ libfreetype6-dev liblcms2-dev libwebp-dev libharfbuzz-dev libpq-dev git
- Setelahnya, bisa cek virtualenv yang terinstall dengan commandATAU
virtualenv --version
python3 -m virtualenv --version
- Upgrade python3 terlebih dahulu
Odoo Installation
Dependencies dan app yang dibutuhkan sudah terinstall, sekarang lanjut ke install odoo-nya, disini saya membuat 1 folder di /home/akhmad/Workspaces/odoo/
dan cd
ke directory ini, directory ini akan saya gunakan untuk project-project odoo.
- Clone odoo community seperti biasa, di artikel ini saya akan install odoo 14 community di directory
/home/akhmad/Workspaces/odoo/
dengan nama folder14c
git clone https://github.com/odoo/odoo --branch 14.0 --single-branch --depth 1 14c
- Setelah berhasil di clone,
cd
kedalam folder14c
, lalu konfirmasi dengan cek isi foldernya - Jika sudah, selanjutnya adalah setup virtualenv dengan commandcommand diatas akan membuat folder baru bernama
virtualenv -p $(which python3) venv
venv
, dan akan “copy” seluruh binary python3 dan juga beberapa script untuk aktivasi dan deaktivasi virtualenv, sehingga odoo instance ini akan terisolasi - Jika sudah selesai, bisa konfirmasi folder baru
venv
dengan commandls
kembali - Untuk aktivasi virtualenv, kalian bisa menggunakan command
source /venv/bin/activate
- Lalu kalian bisa konfirmasi python yang dipakai dengan command
which python
atauwhich python3
(python
saja yang biasa akan link ke python2, ketika menggunakan virtualenv, ia akan link ke python3 yang berada di folder venv) - Jika sudah, saatnya install requirements.txt nya odoo dengan command
pip install setuptools wheel && pip install -r requirements.txt
- Setelah selesai, saatnya buat folder baru terlebih dahulu dengan command
createdb odoo14
- Dan setelah pembuatan database berhasil, kalian bisa run odoo dan initialize database-nya dengan command
python odoo-bin --addons-path odoo/addons,addons -r $USER -d odoo14 -i base
- Voila, odoo berhasil terinstall dan listen di
http://localhost:8069
. Jika akan keluar (atau pindah) virtualenv, kalian bisa gunakan commanddeactivate
, lalu activate lagi seperti poin no. 5
Untuk install versi odoo lainnya, kalian bisa deactivate
dulu virtualenv-nya, lalu kembali ke poin no. 1 dengan perbedaan repository yang kalian clone sesuai dengan branch versi-nya. Dan jangan lupa, berbeda versi odoo maka database juga harus beda.