I installed odoo and try manual start openerp-server. All ok. My next step it's try to add odoo to auto start. For this I use this script:
!/bin/sh
### BEGIN INIT INFO
# Provides: openerp-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: Enterprise Resource Management software
# Description: Open ERP is a complete ERP and CRM software.
### END INIT INFO
PATH=/bin:/sbin:/usr/bin
DAEMON=/opt/odoo/openerp-server
NAME=openerp-live
DESC="OpenERP server process for live bases"
LFILE=/var/log/openerp/daemon.log
# Specify the user name (Default: openerp).
USER=odoo
# Specify an alternate config file (Default: /etc/openerp-server.conf).
CONFIGFILE="/etc/odoo-live.conf"
# pidfile
PIDFILE=/var/run/$NAME.pid
touch $PIDFILE
chown odoo:root $PIDFILE
chmod 755 $PIDFILE
# 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
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}."
echo "${NAME}."
;;
*)
N=/etc/init.d/${NAME}
echo "Usage: ${NAME} {start|stop|restart|force-reload}" >&2
exit 1
;;
esac
exit 0
When I start script, pid file created but service don't work. Also if I try to stop it, I see msg:
Stopping openerp-server: start-stop-daemon: warning: failed to kill 1204: No such process openerp-server.
I don't understand what I do wrong. And my old friend google can't help me. this don't help
Maybe anybody have solve for this problem?
=====================================update====================================
Really David Bertha is right. But, after changing user to other and change permission to all needed files, i have a new problem. My script can't create a pid file.
On google i saw info about init.d scripts:
when script start on boot (from update-rc.d), he start by root user. And we can add to script something like this:
if [ ! -d /var/run/openerp ]; then
mkdir /var/run/openerp
chown -R odoo:odoo /var/run/openerp
chmod -R 755 /var/run/openerp
fi
BUT it's don't work. After server boot I check /var/run and don't find openerp folder.
=====================================update====================================
Also I try create file, but after reboot i don't saw it too.
If I use something like:
sudo su root
sh /etc/init.d/odoo-live
all ok, pid creating, permissions changing and service work. but if I reboot the server nothing happening.
Also I update my script upper
Really David Bertha is right. But, after changing user to other and change permission to all needed files, i have a new problem. My script can't create a pid file. On google i saw info about init.d scripts: when script start on boot (from update-rc.d), he start by root user. And we can add to script something like this: if [ ! -d /var/run/openerp ]; then mkdir /var/run/openerp chown -R odoo:odoo /var/run/openerp chmod -R 755 /var/run/openerp fi BUT it's don't work. After server boot I check /var/run and don't find openerp folder.