How to install Odoo 8 on CentOS 7

nstall and configure PostgreSQL 9.3

First of all, we need to install PostgreSQL. We’ll install PostgreSQL version 9.3 from the official PostgreSQL repository.

rpm -Uvh http://yum.postgresql.org/9.3/redhat/rhel-7-x86_64/pgdg-centos93-9.3-1.noarch.rpm 

yum -y install postgresql93 postgresql93-server postgresql93-devel –disablerepo=* –enablerepo=pgdg93

After installing the packages, we’ll initialize the database, enable the service on boot and start the PostgreSQL server.

/usr/pgsql-9.3/bin/postgresql93-setup initdb

systemctl enable postgresql-9.3.service 

systemctl start postgresql-9.3  

The following command will create a new PostgreSQL user named odoo:

su – postgres -c “createuser -s odoo” 2> /dev/null || true

Install all nessesary packages

We need the development tools installed:

yum -y groupinstall “Development tools”

Next, we’ll install a few dependencies:

yum -y install zlib-devel bzip2-devel openssl openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel libpcap-devel xz-devel git libpng libjpeg libXext curl xorg-x11-font-utils fontconfig python-virtualenv libevent-devel libxml2-devel libxslt-devel openldap-devel openjpeg-devel freetype-devel libjpeg-turbo-devel libtiff-devel kernel-devel 

Enable EPEL Repository:

wget http://dl.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-5.noarch.rpm 

rpm -ivh epel-release-7-5.noarch.rpm 

To be able to print documents in Odoo we’ll need the wkhtmltopdf package, which is available in the EPEL repository.

To install wkhtmltopdf run the following command:

yum –enablerepo=epel install wkhtmltopdf 

We’ll install Python packages with pip, so let’s install pip from the EPEL repository:

yum –enablerepo=epel install python-pip 

Clone Odoo 8 from GitHub

We are going to clone the Odoo 8 repository from GitHub to the /opt/odoodirectory.

git clone –branch 8.0 https://www.github.com/odoo/odoo /opt/odoo 

Later, if you want to update your Odoo repository to the latest version just rungit pull.

Create a virtual environment for Odoo

Create a new system user named odoo, change the owner ship of the /opt/odoodirectory to odoo user and group and switch to it, using the following commands:

useradd odoo 

chown -R odoo: /opt/odoo 

su – odoo 

Now we’ll create a virtual environment and install all necessary packages from therequirements.txt file:

/bin/virtualenv odoo

source odoo/bin/activate 

PATH=$PATH:/usr/pgsql-9.3/bin 

pip install -r /opt/odoo/requirements.txt 

exit 

The installation will take a few minutes so go grab a coffee.

Create configuration file and systemctl service

Next, we’ll create a basic configuration file and systemctl service for our Odoo instance.

at > /etc/odoo-server.conf << EOF

[options]

admin_passwd = admin 

db_host = False 

db_port = False 

db_user = odoo 

db_password = False 

addons_path = /opt/odoo/addons 

without-demo=all 

no-xmlrpc = True 

no-xmlrpcs = True 

no-netrpc = True 

log_db = False 

log_handler = [‘[\'[“[\\\’:INFO\\\’]”]\’]’] 

log_level = info 

logfile = False 

login_message = False 

logrotate = True 

syslog = False 

EOF 

cat > /usr/lib/systemd/system/odoo.service << EOF 

[Unit]

Description=Odoo 8.0 ERP and CRM server 

After=postgresql-9.3.service

[Service]

Type=simple 

User=odoo 

Group=odoo 

ExecStart=/home/odoo/odoo/bin/python /opt/odoo/openerp-server –config=/etc/odoo-server.conf

[Install]

WantedBy=multi-user.target 

EOF 

You can use the following command to view Odoo log: journalctl -f -u odoo.

Final steps

We also need to open port 8069 in our firewall:

firewall-cmd –zone=public –add-port=8069/tcp –permanent 

firewall-cmd –reload 

Finally, we’ll enable Odoo on boot and start the service:

systemctl enable odoo.service 

systemctl start odoo 

That’s it, Odoo installation is complete. To open Odoo, point your browser at:  http://<ip_address>:8069