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

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

Odoo business applications 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 so you can get a fully functional Open Source ERP.

In this tutorial, we will install the latest version of Odoo 10 and configure Apache as a reverse proxy, so you can get accessing an Odoo application through the Odoo domain without entering from a port into the URL

Log in to the server using SSH:

ssh [email protected]_ip

Before starting, enter the following command to check if you have the correct version of CentOS installed on your computer:

cat /etc/redhat-release

The output should be as follows:

CentOS Linux release 7.2.1511 (Core)

System update

Make sure your server is fully up to date:

yum update

Once this is done, install the EPEL repository:

yum install -y epel-release

Installing PostgreSQL

Odoo uses PostgreSQL, so let’s install it along with some much needed dependencies. Run the following 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 your PostgreSQL database:

postgresql-setup initdb

Enable PostgreSQL to start at system boot and start the service with:

systemctl enable postgresql

systemctl start postgresql

Install Odoo 10

Add the Odoo repository:

yum-config-manager --add-repo=

Updating the package and installing Index Odoo 10:

yum update && yum install odoo

After the installation is complete, enable Odoo to start at boot:

systemctl enable odoo

Launching Odoo:

systemctl start odoo

Check if Odoo is running:

ps aux |grep odoo

Master – The default Odoo password is set to ‘ admin“. Let’s change it. Open the configuration file for Odoo with your text editor. We are using nano:

nano /etc/odoo/odoo.conf

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

systemctl restart odoo

Apache configuration

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

yum install httpd

Let’s enable it to start at boot, and 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>

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

ProxyPass /
ProxyPassReverse /
<Location />
Order allow,deny
Allow from all

Of course, don’t forget to replace with your real domain. Save and close the file, and 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. You can now open your web browser and navigate to your Odoo instance using the domain you configured earlier. Create your first database and start using Odoo 10.