1. Update VPS & Install Dependensi
bash
sudo apt update && sudo apt upgrade -y
sudo apt install python3-pip python3-dev libpq-dev build-essential wget git \
libxml2-dev libxslt1-dev libldap2-dev libsasl2-dev \
libjpeg-dev zlib1g-dev libfreetype6-dev liblcms2-dev \
libwebp-dev libharfbuzz-dev libfribidi-dev libxcb1-dev -y
2. Install PostgreSQL
bash
sudo apt install postgresql -y
sudo -u postgres createuser -s odoo
3. Buat User Odoo
bash
sudo adduser --system --home=/opt/odoo --group odoo
4. Install Odoo Source
bash
sudo su - odoo
git clone https://www.github.com/odoo/odoo --branch 17.0 odoo17
cd odoo17
pip3 install -r requirements.txt
exit
5. Buat File Konfigurasi Odoo
ERP1 (/etc/odoo17-erp1.conf):
Code
[options]
addons_path = /opt/odoo/odoo17/addons
db_user = odoo
xmlrpc_port = 8069
ERP2 (/etc/odoo17-erp2.conf):
Code
[options]
addons_path = /opt/odoo/odoo17/addons
db_user = odoo
xmlrpc_port = 8070
6. Buat Service Systemd
ERP1 (/etc/systemd/system/odoo17-erp1.service):
Code
[Unit]
Description=Odoo ERP1
After=network.target
[Service]
User=odoo
ExecStart=/usr/bin/python3 /opt/odoo/odoo17/odoo-bin -c /etc/odoo17-erp1.conf
Restart=always
[Install]
WantedBy=multi-user.target
ERP2 (/etc/systemd/system/odoo17-erp2.service):
Code
[Unit]
Description=Odoo ERP2
After=network.target
[Service]
User=odoo
ExecStart=/usr/bin/python3 /opt/odoo/odoo17/odoo-bin -c /etc/odoo17-erp2.conf
Restart=always
[Install]
WantedBy=multi-user.target
Aktifkan service:
bash
sudo systemctl daemon-reload
sudo systemctl enable odoo17-erp1.service odoo17-erp2.service
sudo systemctl start odoo17-erp1.service odoo17-erp2.service
7. Konfigurasi Nginx Reverse Proxy
bash
sudo apt install nginx -y
ERP1 (/etc/nginx/sites-available/erp1):
Code
server {
listen 80;
server_name erp1.domain.com;
location / {
proxy_pass http://127.0.0.1:8069;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}
}
ERP2 (/etc/nginx/sites-available/erp2):
Code
server {
listen 80;
server_name erp2.domain.com;
location / {
proxy_pass http://127.0.0.1:8070;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}
}
Aktifkan konfigurasi:
bash
sudo ln -s /etc/nginx/sites-available/erp1 /etc/nginx/sites-enabled/
sudo ln -s /etc/nginx/sites-available/erp2 /etc/nginx/sites-enabled/
sudo systemctl restart nginx
8. Tambahkan DNS Record
erp1.domain.com→ A record ke IP VPSerp2.domain.com→ A record ke IP VPS
9. SSL/TLS (Opsional tapi disarankan)
bash
sudo apt install certbot python3-certbot-nginx -y
sudo certbot --nginx -d erp1.domain.com -d erp2.domain.com
Hasil Akhir
http://erp1.domain.com→ Odoo instance pertama (port 8069)http://erp2.domain.com→ Odoo instance kedua (port 8070)- Bisa jalan paralel di satu VPS dengan subdomain berbeda.
