Installing from source is vastly different from installing via the APT (.deb) package.
Dependency Hell: This is the biggest hurdle. Odoo relies on a specific stack: Python 3, PostgreSQL, and a host of system-level libraries (libldap, libsasl, PIL/Pillow for image processing, Wkhtmltopdf for reports).
Configuration:
Unlike the packaged installer which sets up a default config file and a odoo service user automatically, the source install requires manual setup. install download odoo enterprise source code
Odoo requires specific Python libraries. Never install them globally (risk of breaking system Python). Use a virtual environment.
cd /opt/odoo
python3 -m venv odoo-venv
source odoo-venv/bin/activate
Install Python requirements:
pip install --upgrade pip setuptools wheel
pip install -r odoo-community/requirements.txt
pip install psycopg2-binary num2words phonenumbers
Also install WKHTMLTOPDF (for PDF reports):
wget https://github.com/wkhtmltopdf/packaging/releases/download/0.12.6.1-2/wkhtmltox_0.12.6.1-2.jammy_amd64.deb
sudo dpkg -i wkhtmltox_0.12.6.1-2.jammy_amd64.deb
sudo ln -s /usr/local/bin/wkhtmltopdf /usr/bin/wkhtmltopdf
Create a configuration file so Odoo knows where to find Enterprise modules. Installing from source is vastly different from installing
sudo mkdir /etc/odoo
sudo nano /etc/odoo/odoo.conf
Paste the following (adjust paths for Enterprise):
[options]
admin_passwd = StrongAdminPassword123
db_host = False
db_port = False
db_user = odoo
db_password = False
addons_path = /opt/odoo/odoo-community/addons,/opt/odoo/odoo-enterprise
logfile = /var/log/odoo/odoo.log
log_level = info
data_dir = /var/lib/odoo
http_port = 8069
proxy_mode = True
without_demo = all
workers = 5
max_cron_threads = 2
Set permissions:
sudo chown odoo:odoo /etc/odoo/odoo.conf
sudo chmod 640 /etc/odoo/odoo.conf
Create data and log directories:
sudo mkdir /var/lib/odoo /var/log/odoo
sudo chown odoo:odoo /var/lib/odoo /var/log/odoo
cd /path/to/odoo-community
python3 odoo-bin -c /path/to/odoo-enterprise.conf