Setup Odoo trên VPS Ubuntu 22.04


Step 1: Cài Python 3.12 và các dependencies

sudo apt-get install -y --no-install-recommends \
        ca-certificates \
        curl \
        dirmngr \
        fonts-noto-cjk \
        gnupg \
        libssl-dev \
        xz-utils \
        build-essential \
        libldap2-dev \
        libsasl2-dev \
        libpq-dev

sudo add-apt-repository ppa:deadsnakes/ppa

sudo apt-get update

sudo apt-get install python3.12 python3.12-venv python3.12-dev

curl -sS https://bootstrap.pypa.io/get-pip.py | python3.12

Step 2: Tạo Odoo user

sudo useradd -m -d /opt/odoo -U -r -s /bin/bash odoo

Step 3: Cài đặt PostgreSQL 16

sudo apt install gnupg2 wget

# Add PostgreSQL 16 respository
sudo sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list'

# Import Signing Key
curl -fsSL https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo gpg --dearmor -o /etc/apt/trusted.gpg.d/postgresql.gpg

sudo apt update

sudo apt install postgresql-16 postgresql-contrib-16 postgresql-client-16

sudo systemctl start postgresql
sudo systemctl enable postgresql

# Create User Postgres for odoo
sudo su - postgres -c "createuser -s odoo"

Cài password for postgres user

sudo -u postgres psql
ALTER USER postgres PASSWORD 'your_password';

Step 4: Cài đặt wkhtmltopdf

sudo apt-get update && sudo apt-get -y install wkhtmltopdf

Step 5: Tài và config Odoo

Chuyển sang user odoo

sudo su - odoo

Tải Odoo 17

git clone https://www.github.com/odoo/odoo --depth 1 --branch 17.0 /opt/odoo/odoo

Để tách biệt các modules Python của Odoo và của OS, chúng ta cần setup một môi trường ảo Python (Python Virutal Env) ở thư mục cài đặt Odoo. Sử dụng các lệnh sau để cài đặt:

cd /opt/odoo

python3.12 -m venv odoo-venv

Active môi trường ảo python

source odoo-venv/bin/activate

Step 6: Cài đặt các Odoo Dependencies

pip3.12 install wheel
pip3.12 install -r odoo/requirements.txt

Deactivate Python venv

deactivate

Step 7: Tạo file config Odoo

Tạo file config Odoo tại /opt/odoo/odoo.conf

[options]
; This is the password that allows database operations:
admin_passwd = my_admin_passwd
db_host = False
db_port = False
db_user = odoo
db_password = False
xmlrpc_port = 8060
logfile = /var/log/odoo/odoo.log
logrotate = True
addons_path = /opt/odoo/odoo/addons,/opt/odoo/odoo-custom-addons

Step 8: Tạo file systemd để run Odoo.

Tạo file service

sudo touch /etc/systemd/system/odoo.service

Nội dung file service

[Unit]
Description=Odoo
Requires=postgresql.service
After=network.target postgresql.service


[Service]
Type=simple
SyslogIdentifier=odoo
PermissionsStartOnly=true
User=odoo
Group=odoo
ExecStart=/opt/odoo/odoo-venv/bin/python3 /opt/odoo/odoo/odoo-bin -c /opt/odoo/odoo.conf
StandardOutput=journal+console


[Install]
WantedBy=multi-user.target

Step 9: Tạo reserve Proxy Server bằng nginx

Tạo reverse proxy nginx chuyển tiếp từ port 80 to 8060

© nvnhan0810 it-blogs - 2025