Showing posts with label service. Show all posts
Showing posts with label service. Show all posts

Monday, 20 March 2017

Running Odoo 8.0 as a Service

Step 1: Install postgres and pgAdmin.

First execute the below command to update the package lists from the repositories

sudo apt-get update

Execute below command to install postgres and pgAdmin3

sudo apt-get install postgresql-9.1 pgadmin3

Step 2: Start Postgres

sudo su postgres

Step 3: Create user in postgres provide password for that user.

createuser -P -s -e ubuntu (Same as Machine name)

Step 4: Open new terminal and install python requirements by following commands.

sudo apt-get install python-dateutil python-decorator python-docutils python-feedparser \python-gdata python-gevent python-imaging python-jinja2 python-ldap python-libxslt1 python-lxml \python-mako python-mock python-openid python-passlib python-psutil python-psycopg2 python-pybabel \python-pychart python-pydot python-pyparsing python-pypdf python-reportlab python-requests \python-simplejson python-tz python-unittest2 python-vatnumber python-vobject python-werkzeug \python-xlwt python-yaml wkhtmltopdf


Step 5: Download openERP/odoo for Linux platform from the below site.

https://www.odoo.com/page/download

Or you can download source from github which is more preferable options that provides more flexibility during development and deployment of any module.

https://github.com/odoo/odoo/releases

Extract the server and rename it to “odoo”. Copy this folder to “/opt/odoo/” folder(If “odoo” folder in “/opt” does not exists then create this folder).

Step 6: Create configuration file for openerp server.

Create “openerp-server.conf” file and copy and paste below content.

[options]
; This is the password that allows database operations:
admin_passwd = password for admin
db_host = localhost
db_port = 5432
db_user = ubuntu
db_password = password for postgres database user
addons_path = /opt/odoo/odoo/openerp/addons (It may change according to your downloaded bundle)
logfile = /var/log/openerp/openerp-server.log

Provide password in the admin_passwd. Here, db_user = ubuntu and db_password = ***** are for the user created in postgres for ubuntu user.

Copy “openerp-server.conf” file to “/etc” folder, and change odoo server’s folder ownership and permissions by executing below commands. Execute useradd command only if the you want to give other user permission for that folder.

useradd -d /opt/odoo/odoo -s /bin/bash ubuntu
chown ubuntu: -R /opt/odoo/odoo
chown ubuntu: /etc/openerp-server.conf
chmod 640 /etc/openerp-server.conf

Step 7: Install the boot script

Create an “openerp-server” file with the following content and copy-paste this file in “/etc/init.d/” folder.
#!/bin/sh
### BEGIN INIT INFO
# Provides: odoo-server
# Required-Start: $remote_fs $syslog
# Required-Stop: $remote_fs $syslog
# Should-Start: $network
# Should-Stop: $network
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Business Applications
# Description: ODOO Business Applications.
### END INIT INFO
PATH=/bin:/sbin:/usr/bin
DAEMON=/opt/odoo/odoo/openerp-server (It may change according to your downloaded bundle)
NAME=openerp-server
DESC=openerp-server

# Specify the user name (Default: openerp).
USER=ubuntu

# Specify an alternate config file (Default: /etc/odoo-server.conf).
CONFIGFILE="/etc/openerp-server.conf"

# pidfile
PIDFILE=/var/run/$NAME.pid

# Additional options that are passed to the Daemon.
DAEMON_OPTS="-c $CONFIGFILE"
[ -x $DAEMON ] || exit 0
[ -f $CONFIGFILE ] || exit 0
checkpid() {
[ -f $PIDFILE ] || return 1
pid=`cat $PIDFILE`
[ -d /proc/$pid ] && return 0
return 1
}

case "${1}" in
start)
echo -n "Starting ${DESC}: "
start-stop-daemon --start --quiet --pidfile ${PIDFILE} \
--chuid ${USER} --background --make-pidfile \
--exec ${DAEMON} -- ${DAEMON_OPTS}
echo "${NAME}."
;;
stop)
echo -n "Stopping ${DESC}: "
start-stop-daemon --stop --quiet --pidfile ${PIDFILE} \
--oknodo
echo "${NAME}."
;;

restart|force-reload)
echo -n "Restarting ${DESC}: "
start-stop-daemon --stop --quiet --pidfile ${PIDFILE} \
--oknodo
sleep 1
start-stop-daemon --start --quiet --pidfile ${PIDFILE} \
--chuid ${USER} --background --make-pidfile \
--exec ${DAEMON} -- ${DAEMON_OPTS}
echo "${NAME}."
;;
*)
N=/etc/init.d/${NAME}
echo "Usage: ${NAME} {start|stop|restart|force-reload}" >&2
exit 1
;;

esac
exit 0


Make this file executable using the following commands :
chmod 755 /etc/init.d/openerp-server
chown ubuntu: /etc/init.d/openerp-server

Step 8: Create a log file for the odoo server and make this file executable using the following commands.

mkdir /var/log/openerp
chown ubuntu: /var/log/openerp
touch /var/log/openerp/openerp-server.log
chmod 777 /var/log/openerp/openerp-server.log

Step 9: Start the server

/etc/init.d/openerp-server start

To view logs of the server execute below command.

tail -f /var/log/openerp/openerp-server.log

Now you can access the odoo server by hitting the “localhost:8069” in web browser.

Step 10: Once the server started successfully then make this server start and stop automatically using below command.

sudo update-rc.d openerp-server defaults

Thursday, 16 March 2017

How to Create service in odoo10

On Ubuntu 16.04, this is how you create a service for Odoo10:

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


You put this in /etc/systemd/system and I called my file odoo10.service so you can then do:

sudo systemctl start odoo10.service (starts service)
sudo systemctl stop odoo10.service (stops service)
sudo systemctl restart odoo10.service (restarts Service)
sudo systemctl status odoo10.service (status of service)
sudo systemctl enable odoo10.service (starts service at boot)
sudo systemctl disable odoo10.service (disables service at boot)