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 [email protected]_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 Baun CMS on an Ubuntu 14.04 VPS
Tutorials
How to Install Dotclear on a Debian 8 VPS
Tutorials
Install Flarum on an Ubuntu 14.04 VPS
  • 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.


  • Fred

    FredFred

    Author Reply

    Hi
    Thanks for your tutorial.
    I followed everything but when I try to connect to xxx.xxx.xx.xx:8010 I’ve got a 500 internal server error and a unable to connect on the 8009. The only things I changed where the users, group users and the folders. I also installed odoo 10 on both folders.


    • admin

      adminadmin

      Author Reply

      Please check the Odoo logs for more information.


  • Ebi

    EbiEbi

    Author Reply

    if i am right your tutorial is to install it on a virtual server, how do i go about it if i want to install it directly on my ubuntu 16?


    • admin

      adminadmin

      Author Reply

      You can install multiple Odoo instances on your server using the same steps provided in our tutorial.

      Thanks


      • Ebi

        EbiEbi

        Author Reply

        Okay so do i skip ssh [email protected]_IP and Create python virtual environment and install all requirements?

        Also if i want to enable printing in odoo what command am i supposed to include, and at what stage of the installation do i include it?


        • admin

          adminadmin

          Author Reply

          Hi Ebi,

          Yes, if you want to install Odoo on your local Ubuntu machine, you can skip that step.

          As for the printing, please check Odoo’s official documentation for more details.


 
Free Migration to RoseHosting. Award Winning Linux VPS Hosting with Fully Managed Support. Coupon RHBLOG50 for 50% offOrder Now
+