Install multiple Odoo instances on a single machine


In this tutorial, we will explain how to install multiple Odoo instances on a single Ubuntu 16.04 VPS using a python virtual environment. This guide should work on other Linux VPS systems as well but was tested and written for an Ubuntu 16.04 VPS.

Log in to your VPS via SSH

ssh user@vps_IP

Update the system and install all necessary packages

sudo apt-get update && apt-get -y upgrade
sudo apt-get install git wkhtmltopdf python-pip python-dev \
    python-virtualenv libevent-dev gcc libjpeg-dev libxml2-dev \
    libssl-dev libsasl2-dev node-less libldap2-dev libxslt-dev

Install PostgreSQL

Installing PostgreSQL with apt is quick and easy:

apt install postgresql-9.5 postgresql-server-dev-9.5
systemctl enable postgresql.service
systemctl start postgresql.service

Create Odoo users

We will install two Odoo instances, Odoo version 10 and Odoo version 9. To create system users for both instances run:

sudo adduser --system --group odoo10 --home /opt/odoo10
sudo adduser --system --group odoo9 --home /opt/odoo9

Create PostgreSQL database users, odoo10 and odoo9:

su - postgres -c "createuser --createdb --username postgres --no-createrole --no-superuser --no-password odoo10"
su - postgres -c "createuser --createdb --username postgres --no-createrole --no-superuser --no-password odoo9"

Install Odoo

First, we will install Odoo version 10. To switch to user odoo10 run:

sudo su - odoo10 -s /bin/bash

Clone the Odoo 10.0 branch from github:

git clone https://www.github.com/odoo/odoo --depth 1 --branch 10.0 --single-branch /opt/odoo10

Create python virtual environment and install all requirements:

cd /opt/odoo10
virtualenv ./venv
source ./venv/bin/activate
pip install -r requirements.txt

Switch back your user:

exit

To install Odoo version 9, switch to user odoo9:

sudo su - odoo9 -s /bin/bash

Clone the Odoo 9.0 branch from github:

git clone https://www.github.com/odoo/odoo --depth 1 --branch 9.0 --single-branch /opt/odoo9

Create python virtual environment and install all requirements:

cd /opt/odoo9
virtualenv ./venv
source ./venv/bin/activate
pip install -r requirements.txt

Switch back your user:

exit

Configure Odoo

We will configure Odoo 10 to listen on port 8010 and Odoo 9 to port 8009 and set the master admin password. You can also set the ports numbers according to your liking.

>sudo nano /etc/odoo10.conf
[options]
admin_passwd = your_strong_admin_password
db_host = False
db_port = False
db_user = odoo10
db_password = False
addons_path = /opt/odoo10/addons
logfile = /var/log/odoo10.log
xmlrpc_port = 8010
sudo nano /etc/odoo9.conf
[options]
admin_passwd = your_strong_admin_password
db_host = False
db_port = False
db_user = odoo9
db_password = False
addons_path = /opt/odoo9/addons
logfile = /var/log/odoo9.log
xmlrpc_port = 8009

Create SystemD scripts:

sudo nano /lib/systemd/system/odoo10.service
[Unit]
Description=Odoo 10
Requires=postgresql.service
After=postgresql.service

[Service]
Type=simple
PermissionsStartOnly=true
User=odoo10
Group=odoo10
SyslogIdentifier=odoo10
ExecStart=/opt/odoo10/venv/bin/python2 /opt/odoo10/odoo-bin -c /etc/odoo10.conf

[Install]
WantedBy=multi-user.target
sudo nano /lib/systemd/system/odoo9.service
[Unit]
Description=Odoo 10
Requires=postgresql.service
After=postgresql.service

[Service]
Type=simple
PermissionsStartOnly=true
User=odoo9
Group=odoo9
SyslogIdentifier=odoo9
ExecStart=/opt/odoo9/venv/bin/python2 /opt/odoo9/openerp-server -c /etc/odoo9.conf

[Install]
WantedBy=multi-user.target

Final steps

Enable both Odoo instances to start on boot:

sudo systemctl enable odoo10.service
sudo systemctl enable odoo9.service

To start both Odoo 10 and Odoo 9 instances, run:

sudo systemctl start odoo10.service
sudo systemctl start odoo9.service

You can now access your Odoo 10 installation at http://your_ip_address:8010 and Odoo 9 installation at http://your_ip_address:8009.

That’s it. You have successfully installed both Odoo version 10 and version 9 on your Ubuntu VPS. Now open your browser, type the address of your installation and create a database and admin user. For more information about how to manage your Odoo installation, please refer to the Odoo documentation. If you want to make your Odoo faster, check our tutorial on how to Speed up Odoo


Of course you don’t have to do any of this if you use one of our Odoo VPS Hosting services, in which case you can simply ask our expert Linux admins to setup this for you. They are available 24×7 and will take care of your request immediately.

PS. If you liked this post please share it with your friends on the social networks using the buttons on the left or simply leave a reply below. Thanks.

Tutorials
Install Magento on an Ubuntu 14.04 VPS and Enable Redis as Back End Cache
Tutorials
Install Squid proxy server on Ubuntu 14.04
Tutorials
How to install and test FFMPEG/FFMPEG-PHP in Debian Squeeze
  • Mwangi

    MwangiMwangi

    Author Reply

    Hi,

    Thanks! Your tutorial was quite helpful for me.

    However, on installation, I’m getting an error”Database creation error: Access denied” in all instances, even when using ‘admin’ as the Master password.

    What could be the issue?


    • admin

      adminadmin

      Author Reply

      Please closely follow the instructions. If you do everything as described in our tutorial, you shouldn’t have any issues with your database.