<link href="//fonts.googleapis.com/css?family=Roboto+Slab:700%7CRoboto:700%7CRoboto:normal" rel="stylesheet">

Install Odoo 10 on CentOS 7 with Apache as a reverse proxy

Odoo (formerly known as OpenERP) is a suite of web-based enterprise management applications. It is one of the most popular and powerful Open Source ERP business software based on the Python programming language.

Odoo’s business apps are organized into 6 groups: front-end applications, sales management applications, business operations applications, marketing applications, human resources and productivity applications. They can be used as stand-alone applications and they can be integrated seamlessly so you can get a full-featured Open Source ERP.

In this tutorial, we will install the latest Odoo 10 version and configure Apache as a reverse proxy so you can access your Odoo app via a domain without typing Odoo’s port in the URL.


For this tutorial, we will be using our SSD 1 Linux VPS hosting plan with CentOS 7 as an operating system.

Log in to your server via SSH:

# ssh root@server_ip

Before starting, enter the command below to check whether you have the proper version of CentOS installed on your machine:

# cat /etc/redhat-release

which should give you the underneath output:

CentOS Linux release 7.2.1511 (Core)

Update the system

Make sure your server is fully up to date:

# yum update

Once this is done, install the EPEL repository:

# yum install -y epel-release

Install PostgreSQL

Odoo uses PostgreSQL, therefore let’s install it along with some much-needed dependencies. Execute the below command:

# yum install postgresql-server php-pgsql php-gd fontconfig libpng libX11 libXext libXrender xorg-x11-fonts-Type1 xorg-x11-fonts-75dpi wkhtmltopdf yum-utils

Now initialize the PostgreSQL database:

# postgresql-setup initdb

Enable PostgreSQL to start on boot and start the service using:

# systemctl enable postgresql

# systemctl start postgresql

Install Odoo 10

Add the Odoo repository:

# yum-config-manager --add-repo=https://nightly.odoo.com/10.0/nightly/rpm/odoo.repo

Update the package index and install Odoo 10:

# yum update && yum install odoo

Once the installation is completed, enable Odoo to start on boot:

# systemctl enable odoo

Start Odoo:

# systemctl start odoo

Check if Odoo is working:

# ps aux |grep odoo

Odoo’s default master password is set to ‘admin‘. Let’s change this. Open the configuration file for Odoo with your favorite text editor. We are using nano:

# nano /etc/odoo/odoo.conf

Uncomment (delete ;) the admin_passwd line and set your new master password. Be sure to use a strong password. You can generate one through the command line. Save and close the file. Restart Odoo for the changes to take effect:

# systemctl restart odoo

Configure Apache

Last but not least, you need to configure Apache as a reverse proxy to avoid using Odoo’s port in the web browser when accessing Odoo. But first things first, let’s install Apache:

# yum install httpd

Enable it to start on boot, then start Apache:

# systemctl enable httpd

# systemctl start httpd

Now, let’s do the actual reverse proxy configuration. Open a new config file for your domain:

# nano /etc/httpd/conf.d/your_domain.conf

Paste the following:

<VirtualHost *:80>
ServerName your_domain.com
ServerAlias www.your_domain.com

ProxyRequests Off
<Proxy *>
Order deny,allow
Allow from all

ProxyPass / http://your_domain.com:8069/
ProxyPassReverse / http://your_domain.com:8069/
<Location />
Order allow,deny
Allow from all

Of course don’t forget to replace your_domain.com with your actual domain. Save and close the file, then restart Apache for the changes to take effect:

# service httpd restart

Congratulations, if you followed the instructions carefully, you have successfully installed Odoo 10 on your CentOS 7 VPS. You can now open your favorite web browser and navigate to your Odoo instance using the domain you configured earlier. Create your first database and start using Odoo 10.



Leave a Reply