In this tutorial, we will show you how to install Odoo 10 on an Ubuntu 16.04 VPS with Apache2 and mod_wsgi which is an Apache module that implements a WSGI compliant interface for hosting Python based web applications such as Odoo on top of the Apache web server. There are multiple ways to install Odoo, but in this tutorial, we will install the latest Odoo 10 from the source 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.
Odoo (previously OpenERP) is a suite of business applications for Sales, CRM, Websites, Human Resources, Project management, Warehouse management and many more. You can extend Odoo with thousands of modules.
-------------
Table of Contents
Table of Contents
Update the system and install necessary packages
Install PostgreSQL
Create Odoo user
Install Odoo
Install Apache and mod_wsgi
sudo apt update
apt -y upgrade
sudo apt-get install git python-pip python-dev \
python-virtualenv libevent-dev gcc libjpeg-dev libxml2-dev \
libssl-dev libsasl2-dev node-less libldap2-dev libxslt-dev
Installing PostgreSQL with apt is a quick and easy process.
sudo apt install postgresql-9.5 postgresql-server-dev-9.5
sudo systemctl enable postgresql.service
sudo systemctl start postgresql.service
Create an odoo system user with the following command:
sudo adduser --system --group odoo --home /opt/odoo
Create PostgreSQL database user with the following command:
su - postgres -c "createuser --createdb --username postgres --no-createrole --no-superuser --no-password odoo"
Switch to user odoo and clone the Odoo 10.0 branch from GitHub:
sudo su - odoo -s /bin/bash
git clone https://www.github.com/odoo/odoo --depth 1 --branch 10.0 --single-branch /opt/odoo
Create python virtual environment and install all requirements:
cd /opt/odoo
virtualenv ./venv
source ./venv/bin/activate
pip install -r requirements.txt
When the installation is complete switch back your sudo user:
exit
Create a configuration file by copying the default odoo-wsgi.example.py file:
sudo cp /opt/odoo/setup/odoo-wsgi.example.py /opt/odoo/setup/odoo-wsgi.py
Open the configuration file
sudo nano /opt/odoo/setup/odoo-wsgi.py
change the addon path to:
conf['addons_path'] = 'addons'
and set the master admin password:
conf['admin_passwd'] = 'my_secret_password'
If you want to print PDF reports in Odoo, you need to install the Wkhtmltopdf package:
sudo apt -y install wkhtmltopdf
If you don’t have Apache installed on your system, install it with the following command:
sudo apt update
sudo apt install apache2
To install and enable the mod_wsgi, run the following commands:
sudo apt install libapache2-mod-wsgi
sudo a2enmod wsgi
Create an Apache virtual host directive for your domain:
sudo nano /etc/apache2/sites-available/odoo.conf
<VirtualHost *:80>
ServerName my-odoo-domain.com
ServerAlias www.my-odoo-domain.com
ErrorLog ${APACHE_LOG_DIR}/odoo-error.log
CustomLog ${APACHE_LOG_DIR}/odoo-access.log combined
<Directory /opt/odoo/setup>
<Files odoo-wsgi.py>
Require all granted
</Files>
</Directory>
WSGIDaemonProcess odoo user=odoo group=odoo python-home=/opt/odoo/venv/ python-path=/opt/odoo
WSGIProcessGroup odoo
WSGIScriptAlias / /opt/odoo/setup/odoo-wsgi.py
</VirtualHost>
Activate the virtual host by creating a symbolic link and restart Apache.
sudo a2ensite odoo
sudo systemctl restart apache2
That's it. You have successfully installed Odoo with Apache2 and mod_wsgi on your Ubuntu 16.04 VPS. Now open your browser, type the address of your website and create a database and admin user.
For more information about how to manage your Odoo installation, please refer to the Odoo documentation.
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.