Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Avviare automaticamente un demone...

138 views
Skip to first unread message

pierino

unread,
Dec 13, 2016, 9:38:06 AM12/13/16
to
Ciao,
Ho installato su ubuntu 16.04.1 ODOO 10 con successo, nel senso che
digitando l' URL parte.

Pero', all' avvio del server, lo devo lanciare tramite terminale con i
comandi :

cd /opt/odoo/odoo-10.0

./odoo-bin

Vorrei rendere automatico l' avvio, ho cercato in rete ma quasi tutti
gli articoli si riferiscono ad una vesrione obsoleta di Odoo, la 8, dove
i path possono essere diversi.

Ad esempio o cercato di applicare quanto scritto in questa pagina :

https://goo.gl/hdm01C

Ma nn ci riesco, in particolare non so dove intervenire per modificare
lo script :

*****************
Potreste voler avviare automaticamente Odoo all'avvio del sistema.

Non prenderemo in considerazione in questo how-to l'utilizzo di
strumenti quali Supervisord e simili, quindi ci limiteremo a creare un
file di init valido per Debian, Ubuntu e derivate, usando quello
presente di default nei sorgenti di Odoo.

sudo cp /opt/odoo/buildout/parts/odoo/debian/init /etc/init.d/odoo

Ora apriamo il file creato con il nostro editor preferito, modifichiamo
il path del demone (parametro DAEMON), eliminiamo il richiamo al file di
configurazione e a quello di log (gestiti da buildout).

Il file risultante dovrebbe assomigliare al seguente:

#!/bin/bash
### BEGIN INIT INFO
# Provides: odoo.py
# Required-Start: $remote_fs $syslog
# Required-Stop: $remote_fs $syslog
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Start odoo daemon at boot time
# Description: Enable service provided by daemon.
# X-Interactive: true
### END INIT INFO
## more info: http://wiki.debian.org/LSBInitScripts

. /lib/lsb/init-functions

PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/bin
DAEMON=/opt/odoo/buildout/bin/start_odoo
NAME=odoo
DESC=odoo
PIDFILE=/var/run/${NAME}.pid
USER=odoo
export LOGNAME=$USER

test -x $DAEMON || exit 0
set -e

function _start() {
start-stop-daemon --start --quiet --pidfile $PIDFILE --chuid
$USER:$USER --background --make-pidfile --exec $DAEMON --
}

function _stop() {
start-stop-daemon --stop --quiet --pidfile $PIDFILE --oknodo --retry 3
rm -f $PIDFILE
}

function _status() {
start-stop-daemon --status --quiet --pidfile $PIDFILE
return $?
}


case "$1" in
start)
echo -n "Starting $DESC: "
_start
echo "ok"
;;
stop)
echo -n "Stopping $DESC: "
_stop
echo "ok"
;;
restart|force-reload)
echo -n "Restarting $DESC: "
_stop
sleep 1
_start
echo "ok"
;;
status)
echo -n "Status of $DESC: "
_status && echo "running" || echo "stopped"
;;
*)
N=/etc/init.d/$NAME
echo "Usage: $N
{start|stop|restart|force-reload|status}" >&2
exit 1
;;
esac

exit 0

Ora come ultima cosa rendiamo il file di init eseguibile e
configuriamolo per avviarsi automaticamente all'avvio del sistema e
testiamone il corretto funzionamento:

$ sudo chmod +x /etc/init.d/odoo
$ sudo update-rc.d odoo defaults
Adding system startup for /etc/init.d/odoo ...
/etc/rc0.d/K20odoo -> ../init.d/odoo
/etc/rc1.d/K20odoo -> ../init.d/odoo
/etc/rc6.d/K20odoo -> ../init.d/odoo
/etc/rc2.d/S20odoo -> ../init.d/odoo
/etc/rc3.d/S20odoo -> ../init.d/odoo
/etc/rc4.d/S20odoo -> ../init.d/odoo
/etc/rc5.d/S20odoo -> ../init.d/odoo
$sudo /etc/init.d/odoo start
Starting odoo: ok

**************


Tra l' altro cosa sono queste righe dopo il comando : $ sudo update-rc.d
odoo defaults ?

Adding system startup for /etc/init.d/odoo ...
/etc/rc0.d/K20odoo -> ../init.d/odoo
/etc/rc1.d/K20odoo -> ../init.d/odoo
/etc/rc6.d/K20odoo -> ../init.d/odoo
/etc/rc2.d/S20odoo -> ../init.d/odoo
/etc/rc3.d/S20odoo -> ../init.d/odoo
/etc/rc4.d/S20odoo -> ../init.d/odoo
/etc/rc5.d/S20odoo -> ../init.d/odoo

e' quello che mi dovrebbe rispondere ubuntu ?

Grazie

sacarde

unread,
Dec 13, 2016, 10:46:25 AM12/13/16
to
non c'e' tra i servizi ?

systemctl list-unit-files

pierino

unread,
Dec 14, 2016, 12:40:59 AM12/14/16
to
Il 13/12/2016 16:46, sacarde ha scritto:
> systemctl list-unit-files


dice questo :

administrator@SRVODOO:~$ systemctl list-unit-files
UNIT FILE STATE
proc-sys-fs-binfmt_misc.automount static
org.freedesktop.hostname1.busname static
org.freedesktop.locale1.busname static
org.freedesktop.login1.busname static
org.freedesktop.network1.busname static
org.freedesktop.resolve1.busname static
org.freedesktop.systemd1.busname static
org.freedesktop.timedate1.busname static
dev-hugepages.mount static
dev-mqueue.mount static
proc-sys-fs-binfmt_misc.mount static
sys-fs-fuse-connections.mount static
sys-kernel-config.mount static
sys-kernel-debug.mount static
acpid.path enabled
systemd-ask-password-console.path static
systemd-ask-password-plymouth.path static
systemd-ask-password-wall.path static
systemd-networkd-resolvconf-update.path static
accounts-daemon.service enabled
acpid.service disabled
apport-forward@.service static
lines 1-23...skipping...
UNIT FILE STATE
proc-sys-fs-binfmt_misc.automount static
org.freedesktop.hostname1.busname static
org.freedesktop.locale1.busname static
org.freedesktop.login1.busname static
org.freedesktop.network1.busname static
org.freedesktop.resolve1.busname static
org.freedesktop.systemd1.busname static
org.freedesktop.timedate1.busname static
dev-hugepages.mount static
dev-mqueue.mount static
proc-sys-fs-binfmt_misc.mount static
sys-fs-fuse-connections.mount static
sys-kernel-config.mount static
sys-kernel-debug.mount static
acpid.path enabled
systemd-ask-password-console.path static
systemd-ask-password-plymouth.path static
systemd-ask-password-wall.path static
systemd-networkd-resolvconf-update.path static
accounts-daemon.service enabled
acpid.service disabled
apport-forward@.service static
apt-daily.service static
atd.service enabled
autovt@.service enabled
bootlogd.service masked
bootlogs.service masked
bootmisc.service masked
cgmanager.service enabled
cgproxy.service enabled
checkfs.service masked
checkroot-bootclean.service masked
checkroot.service masked
lines 1-34

sacarde

unread,
Dec 14, 2016, 3:30:27 AM12/14/16
to
sembra non sia presente il servizio in systemd

funziona l'abiltazione di /etc/init.d/odoo
con

pierino

unread,
Dec 14, 2016, 3:44:54 AM12/14/16
to
Fa cosi' :

administrator@SRVODOO10:/opt/odoo/odoo-10.0$ sudo update-rc.d odoo defaults
[sudo] password for administrator:
administrator@SRVODOO10:/opt/odoo/odoo-10.0$

Cosa vuol dire ?

Grazie

sacarde

unread,
Dec 14, 2016, 3:48:07 AM12/14/16
to
ha abilitato l'avvio del servizio "odoo" nel runlevel di default

prova a riavviare e vedere se parte

pierino

unread,
Dec 14, 2016, 9:15:35 AM12/14/16
to
Il 14/12/2016 09:48, sacarde ha scritto:
> abilitato l'avvio del servizio "odoo" nel runlevel di default

No, non funziona.

Ho provato a lanciare il file a mano :


administrator@SRVODOO10:~$ sudo /etc/init.d/odoo start
[sudo] password for administrator:
/etc/init.d/odoo: 1: /etc/init.d/odoo:
administrator@SRVODOO10:/etc/init.d$: not found
[....] Starting odoo (via systemctl): odoo.serviceJob for odoo.service
failed because the control process exited with error code. See
"systemctl status odoo.service" and "journalctl -xe" for details.
failed!
administrator@SRVODOO10:~$
----

a parte che mi chiede la password e, quindi, non puo' essere lanciato
automaticamente, ma perche' mi dice :

/etc/init.d$: not found ?

Il file odoo esiste...

Quello dopo cosa vuo dire ?

Dove sbaglio ?

Grazie


sacarde

unread,
Dec 14, 2016, 10:56:31 AM12/14/16
to
- il file /etc/init.d/odoo esiste vero?

- quel messaggio dopo sembra avviare il servizio in systemd

per avviarlo:
sudo systemctl start odoo.service

e per vedere lo stato:
sudo systemctl status odoo.service

per vedere errori:
journalctl -xe

pierino

unread,
Dec 14, 2016, 11:26:42 AM12/14/16
to
Ok, mi da' un sacco di errori, a proposito, nel file /etc/init.d/odoo
Mi dicono di cambiare i DAEMON :

DAEMON=/usr/bin/odoo

Con cosa lo cambio ?

Dentro /usr/bin/ non vedo nesun file di nome : odoo

a mano lancio odoo con :


cd /opt/odoo/odoo-10.0

./odoo-bin

Grazie

sacarde

unread,
Dec 14, 2016, 4:00:42 PM12/14/16
to
prova

/opt/odoo/odoo-10.0/odoo-bin

pierino

unread,
Dec 14, 2016, 4:35:56 PM12/14/16
to
Il 14/12/2016 22:00, sacarde ha scritto:
> prova
>
> /opt/odoo/odoo-10.0/odoo-bin
>

Niente da fare, non parte :

per avviarlo:

sudo systemctl start odoo.service

administrator@SRVODOO10:~$ sudo systemctl start odoo.service
[sudo] password for administrator:
Job for odoo.service failed because the control process exited with
error code. See "systemctl status
odoo.service" and "journalctl -xe" for details.



------

e per vedere lo stato:
sudo systemctl status odoo.service

administrator@SRVODOO10:~$ sudo systemctl status odoo.service
● odoo.service - LSB: Start odoo daemon at boot time
Loaded: loaded (/etc/init.d/odoo; bad; vendor preset: enabled)
Active: failed (Result: exit-code) since Wed 2016-12-14 17:09:32
CET; 23s ago
Docs: man:systemd-sysv-generator(8)
Process: 1273 ExecStart=/etc/init.d/odoo start (code=exited,
status=203/EXEC)

Dec 14 17:09:32 SRVODOO10 systemd[1]: Starting LSB: Start odoo daemon at
boot ti
Dec 14 17:09:32 SRVODOO10 systemd[1]: odoo.service: Control process
exited, code
Dec 14 17:09:32 SRVODOO10 systemd[1]: Failed to start LSB: Start odoo
daemon at
Dec 14 17:09:32 SRVODOO10 systemd[1]: odoo.service: Unit entered failed
state.
Dec 14 17:09:32 SRVODOO10 systemd[1]: odoo.service: Failed with result
'exit-cod
lines 1-11/11 (END)...skipping...
● odoo.service - LSB: Start odoo daemon at boot time
Loaded: loaded (/etc/init.d/odoo; bad; vendor preset: enabled)
Active: failed (Result: exit-code) since Wed 2016-12-14 17:09:32
CET; 23s ago
Docs: man:systemd-sysv-generator(8)
Process: 1273 ExecStart=/etc/init.d/odoo start (code=exited,
status=203/EXEC)

Dec 14 17:09:32 SRVODOO10 systemd[1]: Starting LSB: Start odoo daemon at
boot time...
Dec 14 17:09:32 SRVODOO10 systemd[1]: odoo.service: Control process
exited, code=exited status=203
Dec 14 17:09:32 SRVODOO10 systemd[1]: Failed to start LSB: Start odoo
daemon at boot time.
Dec 14 17:09:32 SRVODOO10 systemd[1]: odoo.service: Unit entered failed
state.
Dec 14 17:09:32 SRVODOO10 systemd[1]: odoo.service: Failed with result
'exit-code'.
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
...skipping...
● odoo.service - LSB: Start odoo daemon at boot time
Loaded: loaded (/etc/init.d/odoo; bad; vendor preset: enabled)
Active: failed (Result: exit-code) since Wed 2016-12-14 17:09:32
CET; 23s ago
Docs: man:systemd-sysv-generator(8)
Process: 1273 ExecStart=/etc/init.d/odoo start (code=exited,
status=203/EXEC)

Dec 14 17:09:32 SRVODOO10 systemd[1]: Starting LSB: Start odoo daemon at
boot time...
Dec 14 17:09:32 SRVODOO10 systemd[1]: odoo.service: Control process
exited, code=exited status=203
Dec 14 17:09:32 SRVODOO10 systemd[1]: Failed to start LSB: Start odoo
daemon at boot time.
Dec 14 17:09:32 SRVODOO10 systemd[1]: odoo.service: Unit entered failed
state.
Dec 14 17:09:32 SRVODOO10 systemd[1]: odoo.service: Failed with result
'exit-code'.
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
lines 1-11/11 (END)



------

per vedere errori:

journalctl -xe

administrator@SRVODOO10:~$ journalctl -xe
Dec 14 22:29:16 SRVODOO10 systemd[1328]: odoo.service: Failed at step
EXEC spawn
-- Subject: Process /etc/init.d/odoo could not be executed
-- Defined-By: systemd
-- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
--
-- The process /etc/init.d/odoo could not be executed and failed.
--
-- The error number returned by this process is 8.
Dec 14 22:29:16 SRVODOO10 systemd[1]: odoo.service: Control process
exited, code
Dec 14 22:29:16 SRVODOO10 systemd[1]: Failed to start LSB: Start odoo
daemon at
-- Subject: Unit odoo.service has failed
-- Defined-By: systemd
-- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
--
-- Unit odoo.service has failed.
--
-- The result is failed.
Dec 14 22:29:16 SRVODOO10 systemd[1]: odoo.service: Unit entered failed
state.
Dec 14 22:29:16 SRVODOO10 systemd[1]: odoo.service: Failed with result
'exit-cod
Dec 14 22:29:16 SRVODOO10 sudo[1323]: pam_unix(sudo:session): session
closed for
Dec 14 22:29:55 SRVODOO10 sudo[1332]: administrator : TTY=pts/0 ;
PWD=/home/admi
Dec 14 22:29:55 SRVODOO10 sudo[1332]: pam_unix(sudo:session): session
opened for
Dec 14 22:30:19 SRVODOO10 sudo[1332]: pam_unix(sudo:session): session
closed for
lines 2011-2033/2033 (END)

-----

Hai qualche idea ?

Grazie

pierino

unread,
Dec 14, 2016, 5:07:53 PM12/14/16
to
Il 14/12/2016 22:00, sacarde ha scritto:
> prova
>
> /opt/odoo/odoo-10.0/odoo-bin
>

Aggiornamento: con il file /etc/init.d/odoo originale :

.....

PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/bin
DAEMON=/usr/bin/odoo
NAME=odoo
DESC=odoo
CONFIG=/etc/odoo/odoo.conf
LOGFILE=/var/log/odoo/odoo-server.log
PIDFILE=/var/run/${NAME}.pid
USER=odoo
export LOGNAME=$USER
....

il servizio parte ma odoo no perche', probabilmente, il paramentro
DAEMON=/usr/bin/odoo

non e' corretto, ed il demone giusto non parte.

con DAEMON=/opt/odoo/odoo-10.0/odoo-bin

non parte nemmeno il ervizio, quindi, forse, e' proprio sbagliato questo
parametro.

Hai idea di cosa dovrei mettere ?
Grazie

pierino

unread,
Dec 15, 2016, 12:07:39 AM12/15/16
to
.....
>
> Hai idea di cosa dovrei mettere ?
> Grazie
>

Ultreriore aggiornamento :

Adesso il servizi parte anche con le modifiche :


DAEMON=/opt/odoo/odoo-10.0/odoo-bin

e

LOGFILE=/var/log/odoo/odoo.log

----
PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/bin
DAEMON=/opt/odoo/odoo-10.0/odoo-bin
NAME=odoo
DESC=odoo
CONFIG=/etc/odoo/odoo.conf
LOGFILE=/var/log/odoo/odoo.log
PIDFILE=/var/run/${NAME}.pid
USER=odoo
export LOGNAME=$USER
----

administrator@SRVODOO10:~$ service odoo status
● odoo.service - LSB: Start odoo daemon at boot time
Loaded: loaded (/etc/init.d/odoo; bad; vendor preset: enabled)
Active: active (exited) since Thu 2016-12-15 05:53:52 CET; 1min 51s ago
Docs: man:systemd-sysv-generator(8)
Process: 1084 ExecStart=/etc/init.d/odoo start (code=exited,
status=0/SUCCESS)
Tasks: 0
Memory: 0B
CPU: 0

Dec 15 05:53:52 SRVODOO10 systemd[1]: Starting LSB: Start odoo daemon at
boot ti
Dec 15 05:53:52 SRVODOO10 odoo[1084]: Starting odoo: ok
Dec 15 05:53:52 SRVODOO10 systemd[1]: Started LSB: Start odoo daemon at
boot tim
lines 1-12/12 (END)
----

Ma il sito Odoo non si apre, devo dare, per forza, da terminale questi
comandi :

cd /opt/odoo/odoo-10.0

./odoo-bin

----

che differenza c'e' tra questi comandi ed il servizio in /etc/init.d/ ?

Con il parametro : DAEMON=/opt/odoo/odoo-10.0/odoo-bin non si fa la
stessa cosa ?

Grazie


sacarde

unread,
Dec 15, 2016, 3:49:48 AM12/15/16
to
- il servizio sembra partire in effetti
lo puoi controllare col comando: ps aux|grep odoo

- eseguire:
cd /opt/odoo/odoo-10.0
./odoo-bin

equivale a eseguire /opt/odoo/odoo-10.0/odoo-bin
l'unica cosa che puo' cambiare e' l'utente che lo lancia
(se anteponi "sudo" lo esegui da root)

pierino

unread,
Dec 15, 2016, 5:01:23 AM12/15/16
to
Partito !! era sbagliato un parametro nel file /etc/init.d/odoo :

Non era : CONFIG=/etc/odoo/odoo.conf ma : CONFIG=/etc/odoo.conf

Il bello e' che nell' articolo che avevo seguito non ne faceva
menzione.. :-(

Cmq tutto bene quello che finisce bene, e... soprattutto : grazie a te !!!

Ciao


0 new messages