Panduan ini membantumu menginstal Odoo 18 di VPS Ubuntu 24.04. Ikuti langkah mudah kami untuk setup yang aman dengan Nginx & SSL, dan siap produksi.
Odoo adalah suite aplikasi bisnis open-source terintegrasi yang mencakup CRM, e-commerce, akuntansi, inventaris, manajemen proyek, dan banyak lagi. Kemampuannya untuk dimulai dengan beberapa modul dan ditambahkan seiring pertumbuhan bisnis membuatnya menjadi solusi ERP yang sangat fleksibel dan populer.
Panduan ini akan memandu kamu—langkah demi langkah—untuk menginstal Odoo 18 (versi stabil terbaru) di VPS yang menjalankan Ubuntu 24.04 LTS.
Dengan mengikuti metode ini, kamu akan memiliki kontrol penuh atas konfigurasi, kemudahan dalam mengelola custom addons, dan pemahaman yang lebih baik tentang komponen-komponen yang menjalankan Odoo. Knowledge base ini ditujukan untuk system administrator, developer, atau siapa saja yang memiliki pemahaman dasar tentang baris perintah Linux.
Yuk, kita mulai! Di akhir panduan ini, kamu akan memiliki sebuah instance Odoo 18 yang siap produksi, berjalan sebagai service sistem, aman, dan dapat diakses melalui domain kamu sendiri dengan koneksi terenkripsi HTTPS.
Sebelum memulai, pastikan kamu telah memenuhi persyaratan berikut:
Server VPS yang sudah terinstal Ubuntu 24.04 LTS dengan spesifikasi:
Penggunaan penyimpanan SSD sangat penting untuk memastikan kecepatan akses database yang optimal saat Odoo digunakan.
Akses sudo untuk menjalankan perintah sebagai administrator.
Nama Domain yang sudah diarahkan (A Record) ke IP VPS milikmu (contoh: odoo.domainmu.com).
Firewall yang mengizinkan lalu lintas di port 80 (HTTP), 443 (HTTPS), dan 8069 (Odoo direct access).
Pastikan servermu up-to-date dengan perintah ini:
sudo apt update && sudo apt upgrade -y
Penjelasan Perintah: Perintah ini terdiri dari dua bagian.
sudo apt updatemengambil daftar paket terbaru dari repository Ubuntu.sudo apt upgrade -ymeng-upgrade semua paket yang terinstal di servermu ke versi terbaru tanpa meminta konfirmasi (-y).
Langkah pertama, kita akan menginstal semua software pendukung yang dibutuhkan Odoo dengan satu perintah. Ini akan mengambil database (PostgreSQL), bahasa yang digunakan Odoo (Python), dan tools bantu penting lainnya.
sudo apt install git python3 python3-pip build-essential wget python3-dev \
python3-venv python3-wheel libxml2-dev libxslt1-dev libzip-dev \
libldap2-dev libsasl2-dev python3-setuptools nodejs npm libjpeg-dev \
libpq-dev postgresql -y
Penjelasan Perintah: Perintah ini menginstal semua 'bahan' yang dibutuhkan Odoo:
git(untuk mengambil source code),python3(bahasa Odoo),postgresql(database),libpq-dev(penting untuk menghubungkan Python ke PostgreSQL), dan berbagai library...-dev(alat bantu kompilasi) lainnya.
wkhtmltopdf adalah tool yang digunakan Odoo untuk mencetak laporan dalam format PDF. Versi di repository Ubuntu seringkali bermasalah, jadi kita akan menginstal versi yang direkomendasikan secara manual.
wget https://github.com/wkhtmltopdf/packaging/releases/download/0.12.6.1-2/wkhtmltox_0.12.6.1-2.bullseye_amd64.deb
Penjelasan Perintah: Mengunduh file paket
.debdariwkhtmltopdfversi 0.12.6.1-2.
Catatan: Jika link di atas tidak berfungsi, kunjungi halaman rilis resmi wkhtmltopdf untuk mendapatkan versi 0.12.6.x terbaru untuk distro berbasis Debian (seperti Bullseye atau Buster, yang kompatibel).
sudo dpkg -i wkhtmltox_0.12.6.1-2.bullseye_amd64.deb
Penjelasan Perintah: Mencoba menginstal paket yang baru saja diunduh.
sudo apt-get install -f -y
Penjelasan Perintah: Perintah ini sangat membantu. Jika instalasi
dpkgtadi gagal karena ada dependensi yang kurang,apt-get install -f(-fartinya fix broken) akan otomatis mencarikan dan memasang semua dependensi yang dibutuhkan olehwkhtmltopdf.
Untuk alasan keamanan, Odoo tidak boleh dijalankan sebagai user root. Kita akan membuat user sistem khusus untuk Odoo.
sudo useradd -m -d /opt/odoo18 -U -r -s /bin/bash odoo18
Penjelasan Perintah:
-m: Membuat home directory di/opt/odoo18.-U: Membuat grup baru dengan nama yang sama (odoo18).-r: Menjadikan ini sebagai user sistem (bukan user login biasa).-s /bin/bash: Memberikan shell login (diperlukan agar kita bisasuke user ini).
Odoo memerlukan user di PostgreSQL untuk mengelola databasenya.
sudo su - postgres -c "createuser --createdb --username postgres --no-createrole --no-superuser odoo18"
Penjelasan Perintah: Perintah ini masuk sementara sebagai user
postgres(user default database) dan langsung menjalankan perintahcreateuseruntuk membuat user database baru bernamaodoo18. Opsi--createdbmemberinya izin untuk membuat database baru.
Kita akan men-download source code Odoo dari GitHub menggunakan user odoo18 yang baru dibuat.
sudo su - odoo18
Penjelasan Perintah: Kita berpindah menjadi user
odoo18. Semua perintah selanjutnya akan dijalankan sebagai user ini di dalam directory/opt/odoo18.
git clone https://www.github.com/odoo/odoo --depth 1 --branch 18.0 /opt/odoo18/odoo
Penjelasan Perintah: Mengunduh source code Odoo 18 (
--branch 18.0) ke dalam folder/opt/odoo18/odoo. Opsi--depth 1hanya mengambil versi terakhir tanpa riwayat commit penuh, sehingga proses unduh lebih cepat.
Setelah selesai, ketik exit untuk kembali ke user sudo.
exit
Menggunakan virtual environment adalah praktik terbaik untuk mengisolasi dependensi Python Odoo dari sistem utama. Silakan jalankan perintah di bawah ini satu per satu pada terminal mu.
cd /opt/odoo18
sudo su - odoo18
python3 -m venv venv
source venv/bin/activate
pip3 install wheel
pip3 install -r odoo/requirements.txt
deactivate
exit
Penjelasan Blok Perintah: Ini adalah langkah krusial.
cd /opt/odoo18&sudo su - odoo18: Pindah ke direktori dan menjadi user Odoo.python3 -m venv venv: Membuatvirtual environtmentPython bernamavenv.source venv/bin/activate: Mengaktifkanvirtual environtmenttersebut. Prompt terminalmu akan berubah, menandakan kamu ada di dalamvenv.pip3 install wheel: Memasangwheel, tool bantu agar instalasi paket Python lebih cepat.pip3 install -r odoo/requirements.txt: Membaca filerequirements.txtdari Odoo dan menginstal semua paket Python yang dibutuhkan Odoo hanya di dalamvenvini.deactivate&exit: Menonaktifkan 'ruang kerja' dan kembali ke usersudo.
Buat direktori untuk custom addons dan file log, lalu buat file konfigurasi.
sudo mkdir /opt/odoo18/odoo-custom-addons
sudo mkdir /var/log/odoo18
sudo chown odoo18:odoo18 /var/log/odoo18
Penjelasan Perintah: Membuat dua folder baru dan memastikan user
odoo18memiliki hak tulis penuh atas folder log (/var/log/odoo18).
Sekarang, buat dan edit file konfigurasi:
sudo nano /etc/odoo18.conf
Penjelasan Perintah: Membuka editor teks
nanountuk membuat file konfigurasi utama Odoo.
Salin dan tempel konfigurasi di bawah ini.
PENTING: Ganti PASSWORD_SUPER_ADMIN_KAMU dengan password yang sangat kuat. Ini seperti kunci brankas utama untuk semua database Odoo milikmu. Simpan di tempat yang aman!
[options]
admin_passwd = PASSWORD_SUPER_ADMIN_KAMU
db_host = False
db_port = False
db_user = odoo18
db_password = False
addons_path = /opt/odoo18/odoo/addons,/opt/odoo18/odoo-custom-addons
logfile = /var/log/odoo18/odoo18.log
Setelah menyimpan, atur hak akses file agar aman:
sudo chown odoo18:odoo18 /etc/odoo18.conf
sudo chmod 640 /etc/odoo18.conf
Penjelasan Perintah: Mengamankan file konfigurasi.
chownmemastikan userodoo18yang memilikinya.chmod 640berarti hanya userodoo18dan gruprootyang bisa membacanya.
Agar Odoo dapat berjalan sebagai service dan menyala otomatis saat server reboot, kita perlu membuat file unit systemd.
sudo nano /etc/systemd/system/odoo18.service
Penjelasan Perintah: Membuat file instruksi untuk
systemd(manager serviceUbuntu) agar tahu cara menjalankan Odoo.
Salin dan tempel konfigurasi di bawah ini:
[Unit]
Description=Odoo18
Requires=postgresql.service
After=network.target postgresql.service
[Service]
Type=simple
SyslogIdentifier=odoo18
PermissionsStartOnly=true
User=odoo18
Group=odoo18
ExecStart=/opt/odoo18/venv/bin/python3 /opt/odoo18/odoo/odoo-bin -c /etc/odoo18.conf
StandardOutput=journal+console
[Install]
WantedBy=multi-user.target
Penjelasan File:
[Unit]: Menjelaskan bahwa service ini butuh database (postgresql.service) untuk berjalan.[Service]: Bagian terpenting.UserdanGroupdisetel keodoo18.ExecStart: Ini adalah perintah inti untuk menyalakan Odoo, menggunakan Python darivenvkita dan menunjuk ke file konfigurasi yang benar.
Selanjutnya, reload daemon systemd dan aktifkan service Odoo.
sudo systemctl daemon-reload
Penjelasan Perintah: Memberi tahu
systemduntuk membaca ulang konfigurasinya karena kita baru saja menambahkan file baru.
sudo systemctl enable --now odoo18.service
Penjelasan Perintah: Menjalankan Odoo sekarang (
--now) dan mendaftarkannya agar otomatis berjalan saat server reboot (enable).
Untuk memeriksa status service Odoo:
sudo systemctl status odoo18.service
Penjelasan Perintah: Memeriksa apakah service Odoo berhasil berjalan. Cari tulisan
active (running)berwarna hijau.
Jika output menunjukkan active (running) seperti Gambar 4, maka instalasi Odoo di VPS-mu telah berhasil. Kamu bisa mengaksesnya melalui http://IP_VPS_KAMU:8069.
Saat ini Odoo hanya bisa diakses via http://IP_VPS_KAMU:8069. Ini tidak praktis dan tidak aman. Kamu bisa menggunakan Nginx sebagai Reverse Proxy agar memungkinkan kamu mengakses Odoo melalui domain (http://odoo.domainmu.com) tanpa perlu mengetik port.
sudo apt install nginx -y
Penjelasan Perintah: Memasang Nginx, web server yang akan kita gunakan sebagai reverse proxy.
sudo nano /etc/nginx/sites-available/odoo.conf
Penjelasan Perintah: Membuat file konfigurasi baru untuk domain Odoo kita di dalam Nginx.
Salin konfigurasi berikut, jangan lupa untuk mengganti odoo.domainmu.com dengan domain milikmu.
upstream odoo {
server 127.0.0.1:8069;
}
server {
listen 80;
server_name odoo.domainmu.com;
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_redirect off;
proxy_pass http://odoo;
}
location /longpolling {
proxy_pass http://odoo;
}
location ~* /web/static/ {
proxy_cache_valid 200 60m;
proxy_buffering on;
expires 864000;
proxy_pass http://odoo;
}
gzip_types text/css text/less text/plain text/xml application/xml application/json application/javascript;
gzip on;
}
Penjelasan Konfigurasi: Ini adalah konfigurasi Nginx yang sangat direkomendasikan untuk Odoo.
upstream odoo: Mendefinisikan Odoo yang berjalan di127.0.0.1:8069.location /longpolling: Penting untuk fitur chat dan notifikasi real-time Odoo.location ~* /web/static/: Mengatur cache untuk file statis (CSS, JS) agar Odoo-mu terasa lebih cepat.
sudo ln -s /etc/nginx/sites-available/odoo.conf /etc/nginx/sites-enabled/ && sudo systemctl restart nginx
Penjelasan Perintah:
sudo ln -s ...: Membuat shortcut (symlink) dari file konfigurasi kita ke foldersites-enabledyang dibaca Nginx.&& sudo systemctl restart nginx: Jika pembuatan shortcut berhasil, maka Nginx akan di-restart untuk menerapkan perubahan.
Langkah terakhir adalah mengamankan koneksi dengan SSL gratis dari Let's Encrypt agar domainmu menggunakan https://.
sudo apt install certbot python3-certbot-nginx -y
Penjelasan Perintah: Memasang Certbot dan plugin Nginx-nya. Certbot adalah tools yang mengotomatiskan proses mendapatkan dan memperbarui sertifikat SSL.
(Jangan lupa ganti odoo.domainmu.com dengan nama domain milikmu)
sudo certbot --nginx -d odoo.domainmu.com
Penjelasan Perintah: Menjalankan Certbot.
--nginx: Menggunakan plugin Nginx. Certbot akan membaca file konfigurasimu dan mengeditnya secara otomatis.-d odoo.domainmu.com: Menentukan domain yang ingin diamankan.Ikuti petunjuk di layar. Kamu akan ditanya email dan diminta menyetujui TOS. Pilih opsi Redirect (biasanya opsi 2) untuk mengalihkan semua trafik HTTP ke HTTPS secara otomatis.
Selamat, kamu berhasil!
Sekarang kamu dapat mengakses Odoo dengan aman melalui https://odoo.domainmu.com.
Seperti pada Gambar 7, halaman pertama ketika Odoo diakses akan meminta kamu untuk membuat database baru.
PASSWORD_SUPER_ADMIN_KAMU yang kamu atur di file /etc/odoo18.conf.Instalasi Odoo 18-mu kini telah selesai, aman, dan siap untuk membantu bisnismu berkembang!
Jangan ragu untuk menghubungi tim support kami jika Anda memiliki pertanyaan atau masalah terkait layanan CloudKilat.