Smart Technologies & Artificial Intelligence co.
Odoo is a framework of Business Management Software suite that is growing exponentially fast and now being used with millions of companies across the world. Odoo is developed using Python programming, which allows developers to catch quickly. The great advantage of Odoo over its competitors like SAP, Quickbooks, Microsoft Dynamics, etc is that it can be customised quickly by writing your business apps from scratch and it comes loaded with nice apps that are integrated to each other like Website builder, CRM, Expense powered by AI, e-Commerce, Invoicing, Sales to name a few, straight out-of-the-box. Odoo recently unveiled Odoo 14 which came with significant improvements plus tons of features as compared to the previous version of Odoo 13. Odoo 14 has been unveiled in September at the #OdooExperience which is the biggest Odoo event hosted online.
Like before Odoo comes with Enterprise and Community Version. We are going to focus on Community Version today which will allow us to download, install and deploy Odoo 14 from official Odoo Open Source repo inside Python Virtual Environment on our online Virtual Private Server (VPS) running Ubuntu 20.04 LTS that has been purchased from Linode (Linode is one of the best VPS providers which provide latest OS).
Prerequisites
Getting Started
Now that you have a server from linode up and running, are connect to it via SSH in Ubuntu terminal using ssh user@your_vps_public_ip_address, its time to install Odoo.
Install Git, Pip, NodeJs and tools required to build by Odoo dependencies,
sudo apt update sudo apt install git python3-pip build-essential wget python3-dev python3-venv python3-wheel libxslt-dev libxml2-dev libzip-dev libldap2-dev libsasl2-dev python3-setuptools node-less libjpeg-dev zlib1g-dev libpq-dev
Create a System User
Running Odoo under the root user is very risk and not allowed. We’ll create a new user and group with home directory /opt/odoo14
that will run the Odoo service. To do so, enter the following command:
sudo useradd -m -d /opt/odoo14 -U -r -s /bin/bash odoo14
You can name the user anything you want, as long you create a PostgreSQL user with the same name.
Installing and Configuring Postgres
Odoo uses PostgreSQL as the database back-end. PostgreSQL is included in the standard Ubuntu repositories. To install it, run:
sudo apt install postgresql
After complete installation of Postgres, create a PostgreSQL user with the same name as the previously created system user. In this example, that is odoo14
sudo su - postgres -c "createuser -s odoo14"
Installing wkhtmltopdf tool
Its a set of open-source command-line tools that renders html and various image formats to PDF and generation and printing of reports. Install version 0.12.5
of wkhtmltox
package by:
sudo wget https://github.com/wkhtmltopdf/packaging/releases/download/0.12.6-1/wkhtmltox_0.12.6-1.bionic_amd64.deb
…after file download is complete, install by
sudo apt install ./wkhtmltox_0.12.6-1.bionic_amd64.deb
Installing and configuring Odoo14
We are going to install Odoo 14 from the source inside our Python Virtual Environment.
But first, change to “odoo14”
sudo su - odoo14
Clone the Odoo 14 source code from GitHub,
git clone https://www.github.com/odoo/odoo --depth 1 --branch 14.0 /opt/odoo14/odoo
Creating a new Python virtual environment for Odoo,
cd /opt/odoo14
python3 -m venv odoo-venv
Activate the virtual environment,
source odoo-venv/bin/activate
Install all required Python modules with pip3,
(odoo-venv) $ pip3 install wheel (odoo-venv) $ pip3 install -r odoo/requirements.txt
After installation complete, deactivate virtual environment
(odoo-venv) $ deactivate
The interesting thing about Odoo is that you can create your own apps and run them in Odoo. Your 3rd part apps can be housed in a directory that you can create by
mkdir /opt/odoo14/odoo-custom-apps
We will add this directory to addons_path
parameters where Odoo searches for modules
Go back to sudo user,
$ exit
Create a configuration file and add following configurations,
sudo nano /etc/odoo14.conf
[options] ; This is the password that allows database operations: admin_passwd = my_admin_passwd db_host = False db_port = False db_user = odoo14 db_password = False addons_path = /opt/odoo14/odoo/addons,/opt/odoo14/odoo-custom-apps
Replace
my_admin_passwd
to something more secure.
Creating Systemd Unit file
Create a service called odoo14.service like below,
sudo nano /etc/systemd/system/odoo14.service
[Unit] Description=Odoo14 Requires=postgresql.service After=network.target postgresql.service [Service] Type=simple SyslogIdentifier=odoo14 PermissionsStartOnly=true User=odoo14 Group=odoo14 ExecStart=/opt/odoo14/odoo-venv/bin/python3 /opt/odoo14/odoo/odoo-bin -c /etc/odoo14.conf StandardOutput=journal+console [Install] WantedBy=multi-user.target
Notify systemd about new unit file,
sudo systemctl daemon-reload
Start the Odoo service and enabled it to start on boot by running,
sudo systemctl enable --now odoo14
Verify the service status,
sudo systemctl status odoo14
● odoo14.service - Odoo14 Loaded: loaded (/etc/systemd/system/odoo14.service; enabled; vendor preset: enabled) Active: active (running) since Fri 2020-10-16 19:05:32 UTC; 3s ago ...
You should get something like that.
To see messages logged by Odoo server, run,
sudo journalctl -u odoo14
This should be it, test your installation in the browser by putting your VPS public IP address followed with a port number like your_vps_public_ip_address:8069
You should see this:
Conclusion
If you have individual software solutions that work, but don’t talk to each other, you are probably entering things more than once and missing a comprehensive overview of what’s going on. Odoo is a great software that allows you to enter data about your business once and get overview using its unified range of apps.
Get in touch with us today and get Odoo into your company for sales(Quotations, Invoicing), Accounting, Expenses, etc. We are experienced Odoo developers we can develop modules that suit your business needs. It’s cheaper than what you have ever heard before.
Comment below if you face any installation glitches and our team will be more than happy to assist for FREE. Enjoy!