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 installsudo 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 usernyacreatedb $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 dahulusudo 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 commandATAUvirtualenv --versionpython3 -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 folder14cgit clone https://github.com/odoo/odoo --branch 14.0 --single-branch --depth 1 14c
- Setelah berhasil di clone, cdkedalam folder14c, lalu konfirmasi dengan cek isi foldernya
- Jika sudah, selanjutnya adalah setup virtualenv dengan commandcommand diatas akan membuat folder baru bernamavirtualenv -p $(which python3) venvvenv, 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 venvdengan commandlskembali
- Untuk aktivasi virtualenv, kalian bisa menggunakan commandsource /venv/bin/activate
- Lalu kalian bisa konfirmasi python yang dipakai dengan command which pythonatauwhich python3(pythonsaja 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 commandpip install setuptools wheel && pip install -r requirements.txt
- Setelah selesai, saatnya buat folder baru terlebih dahulu dengan commandcreatedb odoo14
- Dan setelah pembuatan database berhasil, kalian bisa run odoo dan initialize database-nya dengan commandpython 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.