DocdilHR - Install on Ubuntu

DocdilHR Installation Using Scripts

1. Download the .sh file

2. Open the terminal from the location of the downloaded file.

3. Run the code

sudo chmod +x docdilhrms_install.sh
./docdilhrms_install.sh

Install PostgreSQL

This article helps you with the process of installing DocdilHR at your workplace.Following below are the steps pertaining to same.
sudo apt-get update && sudo apt-get upgrade
PostgreSQL is released under the PostgreSQL License, a free and open source permissive software license, developed by the PGDG (PostgreSQL Global Development Group), a group of individual volunteers and corporate companies. Here, we will go through steps on how to install PostgreSQL 10 on Ubuntu 18.04. PostgreSQL publishes deb packages for Ubuntu, and their packages are fresher than those available in OS base repository.

Import the PostgreSQL signing key.

wget -q https://www.postgresql.org/media/keys/ACCC4CF8.asc -O- | sudo apt-key add -
Add the PostgreSQL repository to /etc/apt/sources.list.d/postgresql.list file.

echo "deb http://apt.postgresql.org/pub/repos/apt/ bionic-pgdg main" | sudo tee /etc/apt/sources.list.d/postgresql.list

update the repository index.

sudo apt update
Install the PostgreSQL 10
sudo apt install -y postgresql-10

Enable PostgreSQL on Startup

sudo systemctl enable postgresql

sudo su postgres------> to get into the postgres here you can type following to create a new user docdilhrms and assign role

createuser --createdb --username postgres --no-createrole --no-superuser --pwprompt docdilhrms
when prompted for a password type docdilhrms to see the postgres interpreter type 'psql' type --------> ALTER USER docdilhrms WITH SUPERUSER; to change it to super user the \du ----> for the list of users (docdilhrms can be seen) to exit use '\q' then 'exit' again to exit from the postgres

DocdilHR Setup

Configure your DocdilHR web application to work with the PostgreSQL database backend.

Create the DocdilHR User

In order to separate DocdilHR from other services, create a new DocdilHR system user to run its processes:

sudo adduser --system --home=/opt/docdilhrms --group docdilhrms

Configure Logs

The examples in this guide use a separate file for logging DocdilHR activity:
sudo mkdir /var/log/docdilhrms 

Install DocdilHR

Use Git to clone the Odoo files onto your server:

sudo git clone https://www.github.com/odoo/odoo --depth 1 \ --branch 11.0 --single-branch /opt/docdilhrms
sudo git clone https://github.com/CybroOdoo/DocdilHR.git --depth 1 \ --branch 11.0 --single-branch /opt/docdilhrms/docdilhrms     

Install Odoo 11 specific Python dependencies:
sudo -H pip3 install --upgrade pip
sudo -H pip3 install -r /opt/docdilhrms/doc/requirements.txt
sudo -H pip3 install -r /opt/docdilhrms/requirements.txt
sudo pip3 install pandas
Install Less CSS via Node.js and npm:
sudo curl -sL https://deb.nodesource.com/setup_6.x | sudo -E bash - \
&& sudo apt-get install -y nodejs \
&& sudo npm install -g less less-plugin-clean-css

Download the wkhtmltopdf stable package

.
cd /tmp
wget https://github.com/wkhtmltopdf/wkhtmltopdf/releases/download/0.12.4/wkhtmltox-0.12.4_linux-generic-amd64.tar.xz 
Extract the package:
tar -xvf wkhtmltox-0.12.4_linux-generic-amd64.tar.xz 

To ensure that wkhtmltopdf functions properly, move the binaries to a location in your executable path and give them the necessary permission for execution:

sudo mv wkhtmltox/bin/wk* /usr/bin/ 
&& sudo chmod a+x /usr/bin/wk

Configure the DocdilHR Server

Copy the included configuration file to /etc/ and change its name to docdilhrms-server.conf

sudo cp /opt/docdilhrms/debian/odoo.conf /etc/docdilhrms-server.conf
And edit the file as follows.

[options]
; This is the password that allows database operations:
; admin_password = admin
db_host = localhost
db_port = 5432
db_user = docdilhrms
db_password = False
addons_path = /opt/docdilhrms/addons, /opt/docdilhrms/docdilhrms
logfile = /var/log/docdilhrms/docdilhrms.log

Create service file /lib/systemd/system/docdilhrms-server.service

[Unit]
Description=DocdilHR
Documentation=https://www.docdilhrms.com
[Service]
# Ubuntu/Debian convention:
Type=simple
User=docdilhrms
ExecStart=/opt/docdilhrms/odoo-bin -c /etc/docdilhrms-server.conf
[Install]
WantedBy=default.target

Change File Ownership and Permissions

Change the DocdilHR -server service permissions and ownership so only root can write to it, while the DocdilHR user will only be able to read and execute it:

sudo chmod 755 /lib/systemd/system/docdilhrms-server.service \
&& sudo chown root: /lib/systemd/system/docdilhrms-server.service
Since the DocdilHR user will run the application, it changes the ownership accordingly:
sudo chown -R docdilhrms: /opt/docdilhrms/
Set the DocdilHR user as the owner of log directory as well:
sudo chown docdilhrms:root /var/log/docdilhrms
Protect the server configuration file. Change its ownership and permissions, so no other non-root user can access it:
sudo chown docdilhrms: /etc/docdilhrms-server.conf \
&& sudo chmod 640 /etc/docdilhrms-server.conf
Start the DocdilHR service:
sudo systemctl start docdilhrms-server
Confirm that DocdilHR - Service is running:
sudo systemctl status docdilhrms-server
Enable DocdilHR on Startup
sudo systemctl enable docdilhrms-server

Open a new browser window and enter http://your_domain_or_IP_address:8069 in the address bar If everything is working properly, you will redirect to DocdilHR database creation page

DocdilHR