Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 07/01/2011, à 19:25

quentin.theuret

Installation d'OpenERP

J'ai remis à jour la page OpenERP : http://doc.ubuntu-fr.org/openerp

Voici les différents scripts liés à l'installation :

/etc/openerp-server.conf
N'oubliez pas de modifier la directive db_password si vous avez défini un mot de passe lors de la création de l'utilisateur openerp dans
PostgreSQL

Vous pouvez également modifier la directive admin_password qui est le mot de passe 'Super Admin' qui est demandé lors de la création/suppression d'une base de données.

[options]
without_demo = False
netport = 8070
secure = False
demo = {}
syslog = False
cache_timeout = 100000
port = 8069
smtp_password = False
netinterface = 
log_level = info
admin_passwd = admin
smtp_port = 25
smtp_server = localhost
db_user = openerp
price_accuracy = 2
import_partial = 
soap = False
pidfile = None
db_maxconn = 64
reportgz = False
xmlrpc = True
db_port = False
debug_mode = False
netrpc = True
interface = 
logfile = None
csv_internal_sep = ,
pg_path = None
translate_modules = ['all']
stop_after_init = False
root_path = /home/openerp/server/bin
smtp_user = False
db_password = False
db_name = False
db_host = False
assert_exit_level = warn
email_from = False
addons_path = /home/openerp/server/bin/addons

/etc/init.d/openerp-server :

#!/bin/sh

### BEGIN INIT INFO
# Provides:             openerp-server
# Required-Start:       $syslog
# Required-Stop:        $syslog
# Should-Start:         $network
# Should-Stop:          $network
# Default-Start:        2 3 4 5
# Default-Stop:         0 1 6
# Short-Description:    OpenERP Web - the Web Client of the OpenERP
# Description:          OpenERP is a complete ERP and CRM software.
### END INIT INFO

PATH=/sbin:/bin:/usr/sbin:/usr/bin
DAEMON=/usr/bin/openerp-server
CONFIG=/etc/openerp-server.conf
NAME=openerp-server
DESC=openerp-server

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

# pidfile
#mkdir /var/run/openerp
#chown tempo:tempo /var/run/openerp
#PIDFILE=/var/run/openerp/$NAME.pid
PIDFILE=/var/run/$NAME.pid

checkpid() {
    [ -f $PIDFILE ] || return 1
    pid=`cat $PIDFILE`
    [ -d /proc/$pid ] && return 0
    return 1
}

# Additional options that are passed to the Daemon.
DAEMON_OPTS="--logfile=/var/log/openerp/openerp-server.log --config=${CONFIG}"
[ -x $DAEMON ] || exit 0

if [ -f /lib/lsb/init-functions ] || [ -f /etc/gentoo-release ] ; then

    do_start() {
        start-stop-daemon --start --quiet --pidfile $PIDFILE \
            --chuid $USER  --background --make-pidfile \
            --exec $DAEMON -- $DAEMON_OPTS
        
        RETVAL=$?
        sleep 5         # wait for few seconds

        return $RETVAL
    }

    do_stop() {
        start-stop-daemon --stop --quiet --pidfile $PIDFILE --oknodo

        RETVAL=$?
        sleep 2         # wait for few seconds
        rm -f $PIDFILE  # remove pidfile

        return $RETVAL
    }

    do_restart() {
        start-stop-daemon --stop --quiet --pidfile $PIDFILE --oknodo

        sleep 2         # wait for few seconds
        rm -f $PIDFILE  # remove pidfile

        start-stop-daemon --start --quiet --pidfile $PIDFILE \
            --chuid $USER --background --make-pidfile \
            --exec $DAEMON -- $DAEMON_OPTS

       RETVAL=$?
        sleep 5         # wait for few seconds

        return $RETVAL
    }

else
    
    do_start() {
        $DAEMON $DAEMON_OPTS > /dev/null 2>&1 &
        
        RETVAL=$?
        sleep 5         # wait for few seconds

        echo $! > $PIDFILE  # create pidfile

        return $RETVAL
    }

    do_stop() {

        pid=`cat $PIDFILE`
        kill -15 $pid

        RETVAL=$?
        sleep 2         # wait for few seconds
        rm -f $PIDFILE  # remove pidfile

        return $RETVAL
    }

    do_restart() {
        if [ -f $PIDFILE ]; then
            do_stop
        fi

        do_start

        return $?
    }

fi

start_daemon() {

    if [ -f $PIDFILE ]; then
        echo "pidfile already exists: $PIDFILE"
        exit 1
    fi

    echo -n "Starting $DESC: "

    do_start

    checkpid

    if [ $? -eq 1 ]; then                
        rm -f $PIDFILE
        echo "failed."
        exit 1
    fi

    echo "done."
}
stop_daemon() {

    checkpid

    if [ $? -eq 1 ]; then
        exit 0
    fi

    echo -n "Stopping $DESC: "

    do_stop

    if [ $? -eq 1 ]; then
        echo "failed."
        exit 1
    fi

    echo "done."
}

restart_daemon() {

    echo -n "Reloading $DESC: "

    do_restart
    checkpid

    if [ $? -eq 1 ]; then                
        rm -f $PIDFILE
        echo "failed."
        exit 1
    fi

    echo "done."
}

status_daemon() {

    echo -n "Checking $DESC: "

    checkpid

    if [ $? -eq 1 ]; then
        echo "stopped."
    else
        echo "running."
    fi
}

case "$1" in
    start) start_daemon ;;
    stop) stop_daemon ;;
    restart|force-reload) restart_daemon ;;
    status) status_daemon ;;
    *)
        N=/etc/init.d/$NAME
        echo "Usage: $N {start|stop|restart|force-reload|status}" >&2
        exit 1
        ;;
esac
exit 0

# vim: sts=4 st=4 et

/usr/bin/openerp-server :

#!/bin/sh
cd /home/openerp/server/bin
exec /usr/bin/python ./openerp-server.py $@

/etc/openerp-web.conf :

[global]
server.environment = "production"

# Some server parameters that you may want to tweak
server.socket_host = "0.0.0.0"
server.socket_port = 8080

# Sets the number of threads the server uses
server.thread_pool = 10

tools.sessions.on = True
tools.sessions.persistent = False

# Simple code profiling
server.profile_on = False
server.profile_dir = "profile"

# if this is part of a larger site, you can set the path
# to the TurboGears instance here
#server.webpath = ""

# Set to True if you are deploying your App behind a proxy
# e.g. Apache using mod_proxy
#tools.proxy.on = True

# If your proxy does not add the X-Forwarded-Host header, set
# the following to the *public* host url.
#tools.proxy.base = 'http://mydomain.com'

# logging
log.access_file = "/var/log/openerp/web/access.log"
log.error_file = "/var/log/openerp/web/error.log"
log.access_level = "INFO"
log.error_level = "INFO"

# Set to false to disable CSRF checks
tools.csrf.on = True

# replace builtin traceback tools by cgitb
tools.log_tracebacks.on: False
tools.cgitb.on: True
# a default install can probably avoid logging those via cgitb as they're
# available in the server log
tools.cgitb.ignore=(
    openobject.errors.Concurrency,
    openobject.errors.TinyException)

# OpenERP Server
openerp.server.host = 'localhost'
openerp.server.port = '8070'
openerp.server.protocol = 'socket'
openerp.server.timeout = 450

# Web client settings
[openerp-web]
# filter dblists based on url pattern?
# NONE: No Filter
# EXACT: Exact Hostname
# UNDERSCORE: Hostname_
# BOTH: Exact Hostname or Hostname_

dblist.filter = 'NONE'

# whether to show Databases button on Login screen or not
dbbutton.visible = True

# will be applied on company logo
company.url = ''

/etc/init.d/openerp-web :

#!/bin/sh

### BEGIN INIT INFO
# Provides:             openerp-web
# Required-Start:       $syslog
# Required-Stop:        $syslog
# Should-Start:         $network
# Should-Stop:          $network
# Default-Start:        2 3 4 5
# Default-Stop:         0 1 6
# Short-Description:    OpenERP Web - the Web Client of the OpenERP
# Description:          OpenERP is a complete ERP and CRM software.
### END INIT INFO

PATH=/sbin:/bin:/usr/sbin:/usr/bin
DAEMON=/usr/bin/openerp-web
CONFIG=/etc/openerp-web.conf
NAME=openerp-web
DESC=openerp-web

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

# pidfile
#mkdir /var/run/openerp
#chown tempo:tempo /var/run/openerp
#PIDFILE=/var/run/openerp/$NAME.pid
PIDFILE=/var/run/$NAME.pid

checkpid() {
    [ -f $PIDFILE ] || return 1
    pid=`cat $PIDFILE`
    [ -d /proc/$pid ] && return 0
    return 1
}

# Additional options that are passed to the Daemon.
DAEMON_OPTS="--config=${CONFIG}"
[ -x $DAEMON ] || exit 0

if [ -f /lib/lsb/init-functions ] || [ -f /etc/gentoo-release ] ; then

    do_start() {
        start-stop-daemon --start --quiet --pidfile $PIDFILE \
            --chuid $USER  --background --make-pidfile \
            --exec $DAEMON -- $DAEMON_OPTS
        
        RETVAL=$?
        sleep 5         # wait for few seconds

        return $RETVAL
    }

    do_stop() {
        start-stop-daemon --stop --quiet --pidfile $PIDFILE --oknodo

        RETVAL=$?
        sleep 2         # wait for few seconds
        rm -f $PIDFILE  # remove pidfile
s
        return $RETVAL
    }

    do_restart() {
        start-stop-daemon --stop --quiet --pidfile $PIDFILE --oknodo

        sleep 2         # wait for few seconds
        rm -f $PIDFILE  # remove pidfile

        start-stop-daemon --start --quiet --pidfile $PIDFILE \
            --chuid $USER --background --make-pidfile \
            --exec $DAEMON -- $DAEMON_OPTS

       RETVAL=$?
        sleep 5         # wait for few seconds

        return $RETVAL
    }

else
    
    do_start() {
        $DAEMON $DAEMON_OPTS > /dev/null 2>&1 &
        
        RETVAL=$?
        sleep 5         # wait for few seconds

        echo $! > $PIDFILE  # create pidfile

        return $RETVAL
    }

    do_stop() {

        pid=`cat $PIDFILE`
        kill -15 $pid

        RETVAL=$?
        sleep 2         # wait for few seconds
        rm -f $PIDFILE  # remove pidfile

        return $RETVAL
    }

    do_restart() {
        if [ -f $PIDFILE ]; then
            do_stop
        fi

        do_start

        return $?
    }

fi

start_daemon() {

    if [ -f $PIDFILE ]; then
        echo "pidfile already exists: $PIDFILE"
        exit 1
    fi

    echo -n "Starting $DESC: "

    do_start

    checkpid

    if [ $? -eq 1 ]; then                
        rm -f $PIDFILE
        echo "failed."
        exit 1
    fi

    echo "done."
}
stop_daemon() {

    checkpid

    if [ $? -eq 1 ]; then
        exit 0
    fi

    echo -n "Stopping $DESC: "

    do_stop

    if [ $? -eq 1 ]; then
        echo "failed."
        exit 1
    fi

    echo "done."
}

restart_daemon() {

    echo -n "Reloading $DESC: "

    do_restart
    checkpid

    if [ $? -eq 1 ]; then                
        rm -f $PIDFILE
        echo "failed."
        exit 1
    fi

    echo "done."
}

status_daemon() {

    echo -n "Checking $DESC: "

    checkpid

    if [ $? -eq 1 ]; then
        echo "stopped."
    else
        echo "running."
    fi
}

case "$1" in
    start) start_daemon ;;
    stop) stop_daemon ;;
    restart|force-reload) restart_daemon ;;
    status) status_daemon ;;
    *)
        N=/etc/init.d/$NAME
        echo "Usage: $N {start|stop|restart|force-reload|status}" >&2
        exit 1
        ;;
esac
exit 0

# vim: sts=4 st=4 et

/usr/bin/openerp-web :

#!/bin/sh
cd /home/openerp/web
exec /usr/bin/python ./openerp-web.py $@

Ne pas oublier de rendre /etc/init.d/openerp-server , /etc/init.d/openerp-web , /usr/bin/openerp-server et /usr/bin/openerp-web exécutables avec la commande :

sudo chmod +x fichier

Dernière modification par quentin.theuret (Le 31/01/2012, à 11:43)


Framasoft: La route est longue mais la voie est libre.
Consultant Logiciels Libres / Odoo
https://www.quentin-theuret.net

Hors ligne

#2 Le 14/01/2011, à 11:20

Bounaberdi

Re : Installation d'OpenERP

Merci Quentin
Cela va aider pas mal de gens.
A préciser que ces informations sont valides avec les versions 5.0.x d'openerp
bonne journée


SISalp.fr - Conseil et hébergement Tryton et Odoo
Obtenez votre hébergement gratuit en self-service sur http://sisalp.com

Hors ligne

#3 Le 04/05/2011, à 15:01

ringostare

Re : Installation d'OpenERP

bonjour,
est-ce toujours  d'actualité avec les versions 6.0.2 ? J'ai suivi le tuto "main" à la lettre + les scripts, mais au reboot, ça ne fonctionnait plus alors qu'a l'installation oui.

Hors ligne

#4 Le 04/05/2011, à 15:21

quentin.theuret

Re : Installation d'OpenERP

Peux-tu envoyer ce qu'il y a dans /var/log/openerp/openerp-server.log ?

Sinon, se lance-t-il lorsque tu le lances manuellement avec la commande :

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

Framasoft: La route est longue mais la voie est libre.
Consultant Logiciels Libres / Odoo
https://www.quentin-theuret.net

Hors ligne

#5 Le 04/05/2011, à 17:35

ringostare

Re : Installation d'OpenERP

Merci pour la réponse.
Si jamais, je suis sous 11.04 et j'ai bien créé un user openerp dans le home.

Alors non, le serveur ne se lance pas par l'init.d mais par contre, depuis le dossier avec python, oui.

Je n'ai pas de fichier dans /var/log/openerp/

Je vais vérifier un coup les fichiers créés au cours de l'install.

Sinon, la doc nous renvoie ici pour les fichiers de conf, mais un autre init.d est dans la doc ainsi qu'une commande cron pour le serveur web alors qu'il y a ici un init.d pour le serveur web !!! ça donne un peu de confusion.

Dernière modification par ringostare (Le 04/05/2011, à 18:06)

Hors ligne

#6 Le 04/05/2011, à 18:04

quentin.theuret

Re : Installation d'OpenERP

Normalement, celui qui est ici est le meilleur.

Je pense en fait que ton serveur ne se lance pas car il y a un problème de droits.

Le dossier /var/log/openerp existe-t-il ? Si oui, le user openerp a-t-il les droits d'écriture dessus ? Si non, il faut le créer et donner les droits d'écriture au user openerp.
Le user openerp a-t-il le droit de lecture sur les fichiers d'openerp ?


Framasoft: La route est longue mais la voie est libre.
Consultant Logiciels Libres / Odoo
https://www.quentin-theuret.net

Hors ligne

#7 Le 04/05/2011, à 18:07

ringostare

Re : Installation d'OpenERP

ok, je vais voir ça, merci

Hors ligne

#8 Le 04/05/2011, à 18:40

ringostare

Re : Installation d'OpenERP

Le dossier /var/log/openerp existe bien, le propriétaire est openerp (ce devrait être root, non ?) avec les droits de création et suppression de fichiers.
openerp a les droits sur les fichiers de conf ci-dessus et sur tous les fichiers du home/openerp.

Hors ligne

#9 Le 04/05/2011, à 18:47

ringostare

Re : Installation d'OpenERP

ok, c'était les droits dans le fichier /usr/bin j'ai fait des chmod 775 pour rendre le programme exécutable. et la log est apparue.
maintenant la suite, c'est le client web qui me donne une erreur 500 "internal server error". alors que si je le lance par init, il semble bien démarrer.

Dernière modification par ringostare (Le 04/05/2011, à 19:12)

Hors ligne

#10 Le 04/05/2011, à 21:32

quentin.theuret

Re : Installation d'OpenERP

Tu accèdes bien à ton serveur sur le port 8080 ?


Framasoft: La route est longue mais la voie est libre.
Consultant Logiciels Libres / Odoo
https://www.quentin-theuret.net

Hors ligne

#11 Le 05/05/2011, à 06:14

ringostare

Re : Installation d'OpenERP

oui, port 8080.
les démarrages semblent pourtant bien se passer, et le client lourd démarre normalement, il me réclame juste une base de donnée.

...$ sudo /etc/init.d/openerp-server restart
[sudo] password for ...: 
Reloading openerp-server: done.
...$ sudo /etc/init.d/openerp-web restart
Reloading openerp-web: done.

Dernière modification par ringostare (Le 05/05/2011, à 06:28)

Hors ligne

#12 Le 05/05/2011, à 07:58

quentin.theuret

Re : Installation d'OpenERP

Tu n'as pas d'autres services qui pourraient tourner sur le port 8080 ?

Et dans les logs du serveur OpenERP, rien de spécial ?


Framasoft: La route est longue mais la voie est libre.
Consultant Logiciels Libres / Odoo
https://www.quentin-theuret.net

Hors ligne

#13 Le 05/05/2011, à 11:44

ringostare

Re : Installation d'OpenERP

rien dans les logs et rien sur le port.
Je retente une installation complète, mais via synaptique, et là je n'ai plus que des problèmes de mots de passe (ce foutu md5), mais comme ce n'est plus la même instal, je posterai ailleurs mes petits soucis. Si je foire encore et que je retente ton tuto, je reviendrai ici. en tout cas encore merci.

Hors ligne

#14 Le 05/05/2011, à 11:47

quentin.theuret

Re : Installation d'OpenERP

J'aimerai bien que l'on arrive à le faire fonctionner avec mon tuto (Il y a peut être un problème dans mon tuto).

Peux-tu réessayer mon tuto en refaisant les manips juste pour le client web.


Framasoft: La route est longue mais la voie est libre.
Consultant Logiciels Libres / Odoo
https://www.quentin-theuret.net

Hors ligne

#15 Le 05/05/2011, à 12:18

ringostare

Re : Installation d'OpenERP

je vais réessayer.

Hors ligne

#16 Le 05/05/2011, à 12:19

quentin.theuret

Re : Installation d'OpenERP

Et si lances le serveur web en interactif et non en démon ? C'est la même chose ?


Framasoft: La route est longue mais la voie est libre.
Consultant Logiciels Libres / Odoo
https://www.quentin-theuret.net

Hors ligne

#17 Le 05/05/2011, à 14:01

ringostare

Re : Installation d'OpenERP

je suis juste en train de réinstaller en suivant ton tuto. A la place DB_Password : false, il faut mettre son mot de passe ou True ?

Hors ligne

#18 Le 05/05/2011, à 14:05

quentin.theuret

Re : Installation d'OpenERP

En fait, lorsque tu as créé l'utilisateur openerp (ou un autre) dans PostgreSQL. PostgreSQL t'a demandé un mot de passe. Si tu as entré un mot de passe, c'est ce mot de passe qu'il faut mettre dans la directive db_password. Sinon, il faut laisser False.

Mais la directive db_password est dans le fichier de conf du serveur et non du client Web ! Je ne pense pas que ce soit qui fasse planter ton client Web.

Cela pourrait poser problème lorsque tu voudras créer une nouvelle base de données car le serveur n'arrivera pas à communiquer avec le SGBD.


Framasoft: La route est longue mais la voie est libre.
Consultant Logiciels Libres / Odoo
https://www.quentin-theuret.net

Hors ligne

#19 Le 05/05/2011, à 14:15

ringostare

Re : Installation d'OpenERP

Faut il mettre un ordre d'éxecution au démarrage pour le fichier /etc/init.d/openerp-server ?
j'essaie avec le même que pour celui du serveur...

Hors ligne

#20 Le 05/05/2011, à 14:17

quentin.theuret

Re : Installation d'OpenERP

Normalement, le client web peut être lancé sans que le serveur OpenERP tourne. Il te dira simplement qu'il n'arrive pas à se connecter au serveur OpenERP.

Donc pas d'ordre de lancement.


Framasoft: La route est longue mais la voie est libre.
Consultant Logiciels Libres / Odoo
https://www.quentin-theuret.net

Hors ligne

#21 Le 05/05/2011, à 14:36

ringostare

Re : Installation d'OpenERP

ok.
en tentant de lancer directement depuis le dossier, ça fonctionne pour le serveur, mais pas pour le web :

:/home/openerp/web$ python ./openerp-web.py
Traceback (most recent call last):
  File "./openerp-web.py", line 11, in <module>
    from openobject.commands import start, ConfigurationError
  File "/home/openerp/openerp-web-6.0.2/openobject/__init__.py", line 11, in <module>
    import controllers._root
  File "/home/openerp/openerp-web-6.0.2/openobject/controllers/_root.py", line 5, in <module>
    from openobject.tools import expose
  File "/home/openerp/openerp-web-6.0.2/openobject/tools/__init__.py", line 1, in <module>
    from _tools import *
  File "/home/openerp/openerp-web-6.0.2/openobject/tools/_tools.py", line 24, in <module>
    from formencode import NestedVariables
ImportError: No module named formencode

bon, il me manque des dépendances, je cherche

Dernière modification par ringostare (Le 05/05/2011, à 14:39)

Hors ligne

#22 Le 05/05/2011, à 14:46

quentin.theuret

Re : Installation d'OpenERP

Et bien voilà, il faut installer le paquet python-formencode.

Il y avait bien un problème dans mon tuto, c'est corrigé.


Framasoft: La route est longue mais la voie est libre.
Consultant Logiciels Libres / Odoo
https://www.quentin-theuret.net

Hors ligne

#23 Le 05/05/2011, à 15:04

ringostare

Re : Installation d'OpenERP

il faut aussi python-pybabel

Hors ligne

#24 Le 05/05/2011, à 15:05

quentin.theuret

Re : Installation d'OpenERP

OK, dis moi si il en manque d'autres et si tu as besoin d'infos sur un message d'erreur que tu ne comprends pas.

Je corrigerai la doc quand ton problème sera résolu.


Framasoft: La route est longue mais la voie est libre.
Consultant Logiciels Libres / Odoo
https://www.quentin-theuret.net

Hors ligne

#25 Le 05/05/2011, à 15:10

ringostare

Re : Installation d'OpenERP

Maintenant c'est démarré en direct, et j'arrive sur l'interface web dans firefox.

J'ai maintenant lancé le serveur par l'init.d puis le web de la même manière,
et j'obtiens la même erreur 500 qu'hier sur firefox.

Si je lance le serveur par l'init.d et le web en direct, ça fonctionne.

Dernière modification par ringostare (Le 05/05/2011, à 15:17)

Hors ligne