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=https://nightly.odoo.com/10.0/nightly/rpm/odoo.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> ServerName your_domain.ru ServerAlias www.your_domain.ru ProxyRequests Off <Proxy *> Order deny,allow Allow from all </Proxy> ProxyPass / http://your_domain.ru:8069/ ProxyPassReverse / http://your_domain.ru:8069/ <Location /> Order allow,deny Allow from all </Location> </VirtualHost>
Of course, don’t forget to replace your_domain.ru 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.