1. Preparation
- Log in to your server (it is recommended to use a stable version of Ubuntu or Debian).
- Ensure you have a user with sudo privileges.
- Update system: Bash
sudo apt update && sudo apt upgrade -y
- Install PostgreSQL (Odoo requires a database service). For example, on Debian/Ubuntu: Bash
sudo apt install postgresql -y
- Confirm that the PostgreSQL service is enabled and running.
Tip: In a production environment, it is recommended to use SSD storage, at least 20 GB (for testing) or larger (for production), and ensure sufficient server resources (CPU, memory).
2. Add Odoo repository and install Odoo packages
- Import the Odoo repository key and add the Odoo repository to the system: Bash
wget -q -O - https://nightly.odoo.com/odoo.key | sudo gpg --dearmor -o /usr/share/keyrings/odoo-archive-keyring.gpg echo "deb [signed-by=/usr/share/keyrings/odoo-archive-keyring.gpg] https://nightly.odoo.com/19.0/nightly/deb/ ./" | sudo tee /etc/apt/sources.list.d/odoo.list sudo apt update ```
- Install Odoo: Bash
sudo apt install odoo
- This will install the Odoo Community Edition. If you are using the Enterprise Edition, you need to download the Enterprise Edition installation package through an authorized account.
3. Initial Configuration
- Install wkhtmltopdf (used to generate PDF reports that support headers and footers). Note: A specific version (e.g., 0.12.6) must be installed to ensure proper functionality.
- Configure PostgreSQL: Ensure that Odoo can connect to the database. If PostgreSQL is on the same host as Odoo, using the default localhost is sufficient. For distributed deployments, you need to modify PostgreSQL's listening configuration and firewall rules.
- Edit the Odoo configuration file (e.g., /etc/odoo/odoo.conf or /etc/odoo.conf, depending on the installation package) for basic settings. For example, specify the user, log path, addons path, etc.
- Start the Odoo service and set it to auto-start on boot: Bash
sudo systemctl start odoo sudo systemctl enable odoo
- Open the browser and visit: http://your_server_IP:8069 (default port 8069) to enter Odoo.
4. Production Environment Recommendations (Optional but Strongly Recommended)
- Set up a reverse proxy (such as Nginx) and configure HTTPS (using certificates like Let’s Encrypt).
- Set dbfilter in the configuration file to control multi-database environments and enhance security.
- Prohibit access to the database list page (using the --no-database-list parameter) to enhance security.
- Regularly back up PostgreSQL databases and Odoo files.
- Restrict open ports on the firewall (typically only open 8069, 80/443, and database ports when necessary) and monitor logs.
5. Quick Summary
- Installation Process: Preparation → Install PostgreSQL → Add Odoo Repository → Install Odoo Packages → Configure and Start Service.
- Notes: wkhtmltopdf version, PostgreSQL configuration, security settings (dbfilter, reverse proxy, HTTPS) are key.
- The official documentation clearly states that this package installation method is suitable for most users, especially when not pursuing source code development or high customization.
