Autostart Odoo/OpenERP server at System reboots (Ubuntu)

Here I am going to show you few easy steps to create a script that will automatically starts your odoo/openerp server when Ubuntu starts (reboots).
Step 1: First of all you need to setup your odoo server by installing odoo packages as well as postgresql database configuration Odoo Installation guide.
Step 2: Once you have done with odoo installation,
            Locate openerp-server.conf file from odoo server files.

                Default path : /opt/openerp/server/install/openerp-server.conf

                Manual Search from terminal:
           locate openerp-server.conf
Step 3: Open file and set following basic parameters for default configuration:
 [options]   
    ; This is the password that allows database operations:   
    ; admin_passwd = admin   
    db_host = False   
    db_port = False   
    db_user = odoo   
    db_password = False   
    dbfilter = .*  
    xmlrpc_port = 8069  
    addons_path = /usr/lib/python2.7/dist-packages/openerp/addons  
                 ; (Custom addons path can be added and separated by commas (,))  
      
 
Step 4: Check your odoo server is running from above configured openerp-server.conf file.

       Terminal:

           ~/odoo-8.0$ ./odoo.py -c /opt/odoo/server/install/openerp-server.conf

Step 5: Create new script file named odoo-server.sh and place this in path /etc/init.d/

odoo-server.sh

 #!/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:  Complete Business Application software  
 # Description:     Odoo is a complete suite of business tools.  
 ### END INIT INFO  
 PATH=/bin:/sbin:/usr/bin  
 DAEMON=/opt/odoo/openerp-server  
 NAME=odoo-server  
 DESC=odoo-server  
 # Specify the user name (Default: odoo).  
 USER=odoo  
 # Specify an alternate config file (Default: /etc/odoo-server.conf).  
 CONFIGFILE="/opt/openerp/server/install/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  

Step 6: to make it executable, we need to give some permission.

      sudo chmod 755 /etc/init.d/odoo-server
Step 7: Testing the script:

        1. To start odoo server:

            sudo /etc/init.d/odoo-server start

            Once the service is start, check it in browser by typing IP_or_Domain_name:8069
        2. To stop odoo server:

            sudo /etc/init.d/odoo-server stop
Step 8: at last we need to hit one more final command to make odoo-server script activate automatically.
 
            sudo update-rc.d odoo-server defaults
Step 9: All is setup now. Just reboot the system and open terminal to check whether the odoo service is start automatic.
             ps aux | grep odoo

you will see something like this,
 odoo 15786 0.1 10.6 207132 53596 ? Sl 22:23 0:02 python /usr/lib/python2.7/dist-packages/openerp/addons -c /opt/odoo/server/install/openerp-server.conf  
It says that you odoo server is running and you can also check this out from web browser.

 

Have fun 🙂
Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s