Minta Saran: Instalasi Odoo 9 di Server Linux untuk Produksi
Diposting pada 27 Mar 2026, 06:11
Ditanyakan oleh: Maya
Halo rekan-rekan praktisi Odoo di sini,
Saya Maya, dari tim IT di perusahaan dan kebetulan baru akan mencoba instalasi Odoo 9 untuk kebutuhan internal. Sebelumnya kami memang sudah pakai Odoo versi lain, tapi untuk project yang satu ini ada requirement khusus pakai Odoo 9.
Rencananya Odoo 9 ini akan di-install di server baru berbasis Linux, kemungkinan besar Ubuntu Server. Jujur, saya masih agak blank nih tahapan yang paling efisien dan stabil untuk instalasi Odoo 9 ini, apalagi untuk setup yang production-ready.
Apakah ada rekan-rekan yang punya pengalaman instalasi Odoo 9 dari awal sampai siap pakai? Mohon pencerahannya ya, mungkin bisa sharing urutan langkah-langkahnya yang disarankan. Mulai dari persiapan dependensi yang dibutuhkan, setup PostgreSQL, sampai ke konfigurasi Odoo-nya sendiri agar bisa berjalan optimal dan stabil.
Saya butuh banget tips dan triknya biar tidak salah langkah, terutama untuk memastikan environment-nya aman dan performanya bagus. Terima kasih banyak sebelumnya atas bantuannya!
Balasan (1)
Admin Odoo ForumAdmin & AI Support27 Mar 2026, 06:12
Halo Mba Maya! Senang sekali bisa bantu rekan-rekan dari tim IT yang sedang berjuang dengan instalasi Odoo. Salut banget nih karena Odoo 9 meskipun terbilang versi lama, tapi kalau di-setup dengan benar, performanya masih sangat bisa diandalkan kok untuk kebutuhan internal.
Langsung saja ya, ini dia langkah-langkah yang bisa Mba Maya ikuti untuk instalasi Odoo 9 di Ubuntu Server agar siap untuk produksi. Saya coba urutkan dari awal sampai siap pakai:
1. Persiapan Awal Server Ubuntu
Pertama-tama, pastikan server Ubuntu Mba Maya sudah bersih dan ter-update.
Update & Upgrade Sistem:
```bash
sudo apt update && sudo apt upgrade -y
```
Buat User Khusus Odoo: Ini penting banget untuk keamanan dan manajemen hak akses. Kita akan menjalankan Odoo di bawah user non-root.
```bash
sudo adduser --system --home=/opt/odoo --group odoo
```
Nantinya folder `/opt/odoo` akan jadi tempat kita menyimpan file Odoo.
2. Instalasi PostgreSQL Database
Odoo butuh database PostgreSQL. Odoo 9 biasanya cocok dengan PostgreSQL versi 9.3 atau 9.4, tapi versi yang lebih baru di sekitar 9.x pun juga bisa.
Install PostgreSQL:
```bash
sudo apt install postgresql postgresql-client -y
```
Buat User Database untuk Odoo:
```bash
sudo su - postgres -c "createuser -s odoo"
```
User ini akan digunakan Odoo untuk berkomunikasi dengan database.
3. Persiapan Lingkungan Python (Python 2.7) & Dependensi
Odoo 9 masih menggunakan Python 2.7, jadi kita perlu memastikan lingkungan ini tersedia dan semua dependensi Python-nya terinstal.
Install Python 2.7 dan tools:
```bash
sudo apt install python-pip python-dev python-virtualenv libxml2-dev libxslt1-dev libjpeg-dev zlib1g-dev libpq-dev libldap2-dev libsasl2-dev -y
```
Buat Virtual Environment (Sangat Disarankan): Ini membantu mengisolasi dependensi Odoo dari sistem Python global.
```bash
sudo mkdir /opt/odoo/venv
sudo chown odoo:odoo /opt/odoo/venv
sudo -u odoo virtualenv /opt/odoo/venv
```
Aktivasi Virtual Environment & Instal Dependensi Python:
Sekarang kita akan masuk sebagai user Odoo dan menginstal semua paket Python yang dibutuhkan.
```bash
sudo su - odoo -s /bin/bash
source /opt/odoo/venv/bin/activate
pip install setuptools wheel
pip install -r https://raw.githubusercontent.com/odoo/odoo/9.0/requirements.txt
```
Jika ada error pada `requirements.txt` (misalnya tidak bisa diakses atau ada masalah dengan versi), Mba Maya bisa coba install satu per satu secara manual. Beberapa dependensi penting untuk Odoo 9 antara lain: `psycopg2`, `lxml`, `Pillow`, `reportlab`, `pydot`, `werkzeug`, `Jinja2`, `pytz`, `decorator`, `feedparser`, `docutils`, `xlrd`, `xlwt`, `openpyxl`, `num2words`, `qweb_lesscss`, `vatnumber`, `mako`.
```bash
pip install psycopg2==2.6.2 lxml==3.4.4 Pillow==3.1.1 reportlab==3.2.0 pydot==1.1.0 werkzeug==0.11.10 Jinja2==2.8 pytz==2015.7 decorator==4.0.6 feedparser==5.2.1 docutils==0.12 xlrd==0.9.4 xlwt==1.0.0 openpyxl==2.3.0 num2words==0.5.3 qweb_lesscss==1.0.0 vatnumber==1.2 mako==1.0.3
```
Setelah selesai, ketik `deactivate` untuk keluar dari virtual environment, lalu `exit` untuk keluar dari user `odoo`.
4. Unduh Source Code Odoo 9
Kita akan mengambil kode sumber Odoo 9 dari GitHub.
Install Git:
```bash
sudo apt install git -y
```
Unduh Odoo:
```bash
sudo -u odoo git clone https://github.com/odoo/odoo.git /opt/odoo/odoo9
sudo chown -R odoo:odoo /opt/odoo/odoo9
```
Pastikan untuk masuk ke direktori `/opt/odoo/odoo9` dan `git checkout 9.0` untuk memastikan berada di branch yang benar.
```bash
cd /opt/odoo/odoo9
sudo -u odoo git checkout 9.0
cd
```
5. Konfigurasi Odoo 9
Ini adalah bagian krusial untuk membuat Odoo berjalan dengan baik.
Buat File Konfigurasi:
```bash
sudo mkdir /etc/odoo
sudo chown odoo:odoo /etc/odoo
sudo nano /etc/odoo/odoo.conf
```
Isi file `odoo.conf` dengan konfigurasi berikut:
```
[options]
; Ini adalah path ke folder addons Odoo. Sesuaikan jika ada custom addons.
addons_path = /opt/odoo/odoo9/addons
; User database yang sudah kita buat di PostgreSQL
db_user = odoo
; Password database jika ada. Secara default tidak ada jika dibuat seperti langkah di atas.
; db_password = your_db_password
; Kata sandi master untuk membuat database baru atau restore database. Ganti dengan kata sandi yang kuat!
admin_passwd = your_strong_admin_password
; Direktori untuk menyimpan file log Odoo
logfile = /var/log/odoo/odoo9.log
; Port HTTP Odoo
http_port = 8069
; Jumlah worker untuk menangani request. Sesuaikan dengan RAM & CPU server.
; Idealnya (CPU 2) + 1. Contoh: Jika punya 4 core CPU, bisa coba (4 2) + 1 = 9.
; Jika 1, berarti mode development (single-process)
; workers = 9
; Memory limit per worker (dalam MB)
; limit_memory_hard = 2048
; limit_memory_soft = 1700
; Waktu timeout untuk request (dalam detik)
; limit_time_cpu = 60
; limit_time_real = 120
; Fitur security untuk multi-database, pastikan false jika hanya satu database
xmlrpc_interface = 127.0.0.1
netrpc_interface = 127.0.0.1
```
Jangan lupa membuat direktori log:
```bash
sudo mkdir /var/log/odoo
sudo chown odoo:odoo /var/log/odoo
```
6. Setup Nginx sebagai Reverse Proxy (Sangat Disarankan untuk Produksi)
Menjalankan Odoo langsung di port 8069 itu kurang ideal untuk produksi. Lebih baik menggunakan Nginx sebagai reverse proxy.
Install Nginx:
```bash
sudo apt install nginx -y
```
Konfigurasi Nginx:
Buat file konfigurasi Nginx baru:
```bash
sudo nano /etc/nginx/sites-available/odoo9.conf
```
Isi dengan konfigurasi dasar berikut (ganti `your_domain.com` dengan domain atau IP server Mba Maya):
```nginx
upstream odoo {
server 127.0.0.1:8069;
}
server {
listen 80;
server_name your_domain.com; # Ganti dengan domain Anda
proxy_read_timeout 720s;
proxy_connect_timeout 720s;
proxy_send_timeout 720s;
proxy_set_header X-Forwarded-Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Real-IP $remote_addr;
location / {
proxy_pass http://odoo;
}
location ~ /web/static/ {
proxy_cache_valid 200 60m;
proxy_buffering on;
expires 864000;
proxy_pass http://odoo;
}
# Opsional: Jika ingin mengaktifkan SSL (HTTPS)
# listen 443 ssl;
# ssl_certificate /etc/ssl/certs/your_domain.pem;
# ssl_certificate_key /etc/ssl/private/your_domain.key;
}
```
Aktifkan Konfigurasi & Reload Nginx:
```bash
sudo ln -s /etc/nginx/sites-available/odoo9.conf /etc/nginx/sites-enabled/
sudo rm /etc/nginx/sites-enabled/default
sudo systemctl restart nginx
```
7. Odoo Sebagai Systemd Service
Agar Odoo berjalan otomatis saat server restart dan mudah dikelola, kita akan buat service unit systemd.
Buat File Service:
```bash
sudo nano /etc/systemd/system/odoo9.service
```
Isi dengan konfigurasi berikut:
```ini
[Unit]
Description=Odoo 9 ERP
Requires=postgresql.service
After=postgresql.service
[Service]
Type=simple
User=odoo
ExecStart=/opt/odoo/venv/bin/python /opt/odoo/odoo9/openerp-server -c /etc/odoo/odoo.conf
WorkingDirectory=/opt/odoo/odoo9
StandardOutput=journal
StandardError=journal
[Install]
WantedBy=multi-user.target
```
Reload Systemd, Aktifkan, dan Mulai Service Odoo:
```bash
sudo systemctl daemon-reload
sudo systemctl enable odoo9
sudo systemctl start odoo9
```
Cek Status Odoo:
```bash
sudo systemctl status odoo9
```
Pastikan statusnya `active (running)`.
8. Tips Tambahan untuk Produksi
Firewall (UFW): Pastikan hanya port yang dibutuhkan (80, 443, 22) yang terbuka.
```bash
sudo ufw allow 22/tcp
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
sudo ufw enable
```
Backup Database & File: Rencanakan strategi backup rutin untuk database PostgreSQL dan folder `/opt/odoo`.
Monitoring Log: Pantau log Odoo (`/var/log/odoo/odoo9.log`) dan Nginx (`/var/log/nginx/access.log`, `error.log`) untuk mendeteksi masalah lebih awal.
HTTPS/SSL: Untuk lingkungan produksi, sangat disarankan untuk mengaktifkan HTTPS menggunakan Let's Encrypt (Certbot) atau SSL lain. Nginx yang sudah disiapkan di atas punya placeholder untuk ini.
Performance Tuning PostgreSQL: Untuk server produksi, sesuaikan konfigurasi PostgreSQL (`/etc/postgresql/X.Y/main/postgresql.conf`) agar lebih optimal, misalnya `shared_buffers`, `work_mem`, dsb.
Wah, lumayan panjang ya langkah-langkahnya! Tapi jangan khawatir Mba, ikuti saja satu per satu dengan teliti. Jika ada error atau stuck di tengah jalan, jangan sungkan untuk bertanya lagi ya. Komunitas Odoo Indonesia siap bantu!
Semangat terus Mba Maya, semoga instalasi Odoo 9-nya berjalan lancar dan sukses!
Langsung saja ya, ini dia langkah-langkah yang bisa Mba Maya ikuti untuk instalasi Odoo 9 di Ubuntu Server agar siap untuk produksi. Saya coba urutkan dari awal sampai siap pakai:
1. Persiapan Awal Server Ubuntu
Pertama-tama, pastikan server Ubuntu Mba Maya sudah bersih dan ter-update.
Update & Upgrade Sistem:
```bash
sudo apt update && sudo apt upgrade -y
```
Buat User Khusus Odoo: Ini penting banget untuk keamanan dan manajemen hak akses. Kita akan menjalankan Odoo di bawah user non-root.
```bash
sudo adduser --system --home=/opt/odoo --group odoo
```
Nantinya folder `/opt/odoo` akan jadi tempat kita menyimpan file Odoo.
2. Instalasi PostgreSQL Database
Odoo butuh database PostgreSQL. Odoo 9 biasanya cocok dengan PostgreSQL versi 9.3 atau 9.4, tapi versi yang lebih baru di sekitar 9.x pun juga bisa.
Install PostgreSQL:
```bash
sudo apt install postgresql postgresql-client -y
```
Buat User Database untuk Odoo:
```bash
sudo su - postgres -c "createuser -s odoo"
```
User ini akan digunakan Odoo untuk berkomunikasi dengan database.
3. Persiapan Lingkungan Python (Python 2.7) & Dependensi
Odoo 9 masih menggunakan Python 2.7, jadi kita perlu memastikan lingkungan ini tersedia dan semua dependensi Python-nya terinstal.
Install Python 2.7 dan tools:
```bash
sudo apt install python-pip python-dev python-virtualenv libxml2-dev libxslt1-dev libjpeg-dev zlib1g-dev libpq-dev libldap2-dev libsasl2-dev -y
```
Buat Virtual Environment (Sangat Disarankan): Ini membantu mengisolasi dependensi Odoo dari sistem Python global.
```bash
sudo mkdir /opt/odoo/venv
sudo chown odoo:odoo /opt/odoo/venv
sudo -u odoo virtualenv /opt/odoo/venv
```
Aktivasi Virtual Environment & Instal Dependensi Python:
Sekarang kita akan masuk sebagai user Odoo dan menginstal semua paket Python yang dibutuhkan.
```bash
sudo su - odoo -s /bin/bash
source /opt/odoo/venv/bin/activate
pip install setuptools wheel
pip install -r https://raw.githubusercontent.com/odoo/odoo/9.0/requirements.txt
```
Jika ada error pada `requirements.txt` (misalnya tidak bisa diakses atau ada masalah dengan versi), Mba Maya bisa coba install satu per satu secara manual. Beberapa dependensi penting untuk Odoo 9 antara lain: `psycopg2`, `lxml`, `Pillow`, `reportlab`, `pydot`, `werkzeug`, `Jinja2`, `pytz`, `decorator`, `feedparser`, `docutils`, `xlrd`, `xlwt`, `openpyxl`, `num2words`, `qweb_lesscss`, `vatnumber`, `mako`.
```bash
pip install psycopg2==2.6.2 lxml==3.4.4 Pillow==3.1.1 reportlab==3.2.0 pydot==1.1.0 werkzeug==0.11.10 Jinja2==2.8 pytz==2015.7 decorator==4.0.6 feedparser==5.2.1 docutils==0.12 xlrd==0.9.4 xlwt==1.0.0 openpyxl==2.3.0 num2words==0.5.3 qweb_lesscss==1.0.0 vatnumber==1.2 mako==1.0.3
```
Setelah selesai, ketik `deactivate` untuk keluar dari virtual environment, lalu `exit` untuk keluar dari user `odoo`.
4. Unduh Source Code Odoo 9
Kita akan mengambil kode sumber Odoo 9 dari GitHub.
Install Git:
```bash
sudo apt install git -y
```
Unduh Odoo:
```bash
sudo -u odoo git clone https://github.com/odoo/odoo.git /opt/odoo/odoo9
sudo chown -R odoo:odoo /opt/odoo/odoo9
```
Pastikan untuk masuk ke direktori `/opt/odoo/odoo9` dan `git checkout 9.0` untuk memastikan berada di branch yang benar.
```bash
cd /opt/odoo/odoo9
sudo -u odoo git checkout 9.0
cd
```
5. Konfigurasi Odoo 9
Ini adalah bagian krusial untuk membuat Odoo berjalan dengan baik.
Buat File Konfigurasi:
```bash
sudo mkdir /etc/odoo
sudo chown odoo:odoo /etc/odoo
sudo nano /etc/odoo/odoo.conf
```
Isi file `odoo.conf` dengan konfigurasi berikut:
```
[options]
; Ini adalah path ke folder addons Odoo. Sesuaikan jika ada custom addons.
addons_path = /opt/odoo/odoo9/addons
; User database yang sudah kita buat di PostgreSQL
db_user = odoo
; Password database jika ada. Secara default tidak ada jika dibuat seperti langkah di atas.
; db_password = your_db_password
; Kata sandi master untuk membuat database baru atau restore database. Ganti dengan kata sandi yang kuat!
admin_passwd = your_strong_admin_password
; Direktori untuk menyimpan file log Odoo
logfile = /var/log/odoo/odoo9.log
; Port HTTP Odoo
http_port = 8069
; Jumlah worker untuk menangani request. Sesuaikan dengan RAM & CPU server.
; Idealnya (CPU 2) + 1. Contoh: Jika punya 4 core CPU, bisa coba (4 2) + 1 = 9.
; Jika 1, berarti mode development (single-process)
; workers = 9
; Memory limit per worker (dalam MB)
; limit_memory_hard = 2048
; limit_memory_soft = 1700
; Waktu timeout untuk request (dalam detik)
; limit_time_cpu = 60
; limit_time_real = 120
; Fitur security untuk multi-database, pastikan false jika hanya satu database
xmlrpc_interface = 127.0.0.1
netrpc_interface = 127.0.0.1
```
Jangan lupa membuat direktori log:
```bash
sudo mkdir /var/log/odoo
sudo chown odoo:odoo /var/log/odoo
```
6. Setup Nginx sebagai Reverse Proxy (Sangat Disarankan untuk Produksi)
Menjalankan Odoo langsung di port 8069 itu kurang ideal untuk produksi. Lebih baik menggunakan Nginx sebagai reverse proxy.
Install Nginx:
```bash
sudo apt install nginx -y
```
Konfigurasi Nginx:
Buat file konfigurasi Nginx baru:
```bash
sudo nano /etc/nginx/sites-available/odoo9.conf
```
Isi dengan konfigurasi dasar berikut (ganti `your_domain.com` dengan domain atau IP server Mba Maya):
```nginx
upstream odoo {
server 127.0.0.1:8069;
}
server {
listen 80;
server_name your_domain.com; # Ganti dengan domain Anda
proxy_read_timeout 720s;
proxy_connect_timeout 720s;
proxy_send_timeout 720s;
proxy_set_header X-Forwarded-Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Real-IP $remote_addr;
location / {
proxy_pass http://odoo;
}
location ~ /web/static/ {
proxy_cache_valid 200 60m;
proxy_buffering on;
expires 864000;
proxy_pass http://odoo;
}
# Opsional: Jika ingin mengaktifkan SSL (HTTPS)
# listen 443 ssl;
# ssl_certificate /etc/ssl/certs/your_domain.pem;
# ssl_certificate_key /etc/ssl/private/your_domain.key;
}
```
Aktifkan Konfigurasi & Reload Nginx:
```bash
sudo ln -s /etc/nginx/sites-available/odoo9.conf /etc/nginx/sites-enabled/
sudo rm /etc/nginx/sites-enabled/default
sudo systemctl restart nginx
```
7. Odoo Sebagai Systemd Service
Agar Odoo berjalan otomatis saat server restart dan mudah dikelola, kita akan buat service unit systemd.
Buat File Service:
```bash
sudo nano /etc/systemd/system/odoo9.service
```
Isi dengan konfigurasi berikut:
```ini
[Unit]
Description=Odoo 9 ERP
Requires=postgresql.service
After=postgresql.service
[Service]
Type=simple
User=odoo
ExecStart=/opt/odoo/venv/bin/python /opt/odoo/odoo9/openerp-server -c /etc/odoo/odoo.conf
WorkingDirectory=/opt/odoo/odoo9
StandardOutput=journal
StandardError=journal
[Install]
WantedBy=multi-user.target
```
Reload Systemd, Aktifkan, dan Mulai Service Odoo:
```bash
sudo systemctl daemon-reload
sudo systemctl enable odoo9
sudo systemctl start odoo9
```
Cek Status Odoo:
```bash
sudo systemctl status odoo9
```
Pastikan statusnya `active (running)`.
8. Tips Tambahan untuk Produksi
Firewall (UFW): Pastikan hanya port yang dibutuhkan (80, 443, 22) yang terbuka.
```bash
sudo ufw allow 22/tcp
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
sudo ufw enable
```
Backup Database & File: Rencanakan strategi backup rutin untuk database PostgreSQL dan folder `/opt/odoo`.
Monitoring Log: Pantau log Odoo (`/var/log/odoo/odoo9.log`) dan Nginx (`/var/log/nginx/access.log`, `error.log`) untuk mendeteksi masalah lebih awal.
HTTPS/SSL: Untuk lingkungan produksi, sangat disarankan untuk mengaktifkan HTTPS menggunakan Let's Encrypt (Certbot) atau SSL lain. Nginx yang sudah disiapkan di atas punya placeholder untuk ini.
Performance Tuning PostgreSQL: Untuk server produksi, sesuaikan konfigurasi PostgreSQL (`/etc/postgresql/X.Y/main/postgresql.conf`) agar lebih optimal, misalnya `shared_buffers`, `work_mem`, dsb.
Wah, lumayan panjang ya langkah-langkahnya! Tapi jangan khawatir Mba, ikuti saja satu per satu dengan teliti. Jika ada error atau stuck di tengah jalan, jangan sungkan untuk bertanya lagi ya. Komunitas Odoo Indonesia siap bantu!
Semangat terus Mba Maya, semoga instalasi Odoo 9-nya berjalan lancar dan sukses!