Guide des technologies

Installer et automatiser OpenERP sous Ubuntu

5 min read Administration système Mis à jour 02 Oct 2025
Installer et automatiser OpenERP sous Ubuntu
Installer et automatiser OpenERP sous Ubuntu

Objectif principal

Installer les scripts de démarrage (init.d) pour OpenERP et openerp-web, vérifier que les services démarrent et s’arrêtent correctement, et automatiser leur démarrage au boot du serveur Ubuntu.

Intentions de recherche (variantes)

  • Installer OpenERP sous Ubuntu
  • Script init.d OpenERP
  • Automatiser démarrage OpenERP
  • Configurer client web OpenERP
  • Démarrer OpenERP au boot

Prérequis rapides

  • Accès root ou sudo sur un serveur Ubuntu
  • OpenERP installé dans /opt/openerp (ou adapter les chemins)
  • Un utilisateur système openerp existant

Important: adaptez tous les chemins (DAEMON, CONFIGFILE, PIDFILE) à votre installation si elle diffère.

Étape 7. Installer le script de démarrage du serveur

Le script suivant démarrera et arrêtera automatiquement le serveur OpenERP et exécutera le processus sous l’utilisateur openerp. Copiez son contenu dans /etc/init.d/openerp-server puis rendez-le exécutable et appartenant à root.

#!/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/openerp/server/bin/openerp-server.py
NAME=openerp-server
DESC=openerp-server

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

# Specify an alternate config file (Default: /etc/openerp-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

Une fois le fichier créé :

sudo chmod 755 /etc/init.d/openerp-server
sudo chown root: /etc/init.d/openerp-server

Créez ensuite le répertoire de logs et donnez-lui le propriétaire adapté :

sudo mkdir /var/log/openerp
sudo chown openerp:root /var/log/openerp

Important: Le mot de passe super-admin (admin par défaut) est stocké en clair dans /etc/openerp-server.conf. Assurez-vous que seuls root et openerp peuvent lire ce fichier (permissions 640).

Étape 8. Tester le serveur

Démarrez le serveur :

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

Consultez le journal pour vérifier le démarrage :

less /var/log/openerp/openerp-server.log

Si le serveur ne démarre pas, revenez en arrière et vérifiez : chemin vers l’exécutable (DAEMON), fichier de configuration, droits, et port occupé.

Lancement du client GTK vers le serveur devrait afficher un écran de première connexion comme ci-dessous :

Écran de première connexion d'OpenERP montrant le message

Ceci signifie que le serveur accepte les connexions mais qu’aucune base de données n’est encore configurée.

Changez le mot de passe super-admin immédiatement via le client GTK: Fichier → Bases de données → Mot de passe administrateur.

Arrêtez proprement le serveur pour vérifier l’arrêt :

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

Vérifiez le fichier de log et la liste des processus.

Étape 9. Automatiser le démarrage et l’arrêt du serveur

Si tout fonctionne, enregistrez le script pour qu’il s’exécute au démarrage :

sudo update-rc.d openerp-server defaults

Redémarrez le système pour valider. Après le reboot, vérifiez la présence du processus :

ps aux | grep openerp

Exemple attendu :

openerp 708 3.8 5.8 181716 29668 ? Sl 21:05 0:00 python /opt/openerp/server/bin/openerp-server.py -c /etc/openerp-server.conf

Étape 10. Configurer et automatiser le client web

Le client web est une application serveur qui sert OpenERP via HTTP (navigateur). Le processus d’installation suit les mêmes étapes que pour le serveur : config, script de démarrage, droits, tests et automatisation.

Exemple de fichier de configuration du client web (souvent /etc/openerp-web.conf) :

[global]
server.environment = "development"

# 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"

# logging
#log.access_file = "/var/log/openerp-web/access.log"
log.error_file = "/var/log/openerp/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]

dblist.filter = 'NONE'

dbbutton.visible = True

company.url = ''

Exemple de script init.d pour le client web — placez-le dans /etc/init.d/openerp-web :

#!/bin/sh

### BEGIN INIT INFO
# Provides:             openerp-web
# 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:    OpenERP Web - the Web Client of the OpenERP
# Description:          Open ERP is a complete ERP and CRM software.
### END INIT INFO

PATH="/sbin:/bin:/usr/sbin:/usr/bin"
DAEMON="/opt/openerp/web/openerp-web.py"
NAME="openerp-web"
DESC="openerp-web"

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

# Specify an alternate config file (Default: /etc/openerp-web.conf).
CONFIGFILE="/etc/openerp-web.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

Rendez-le exécutable et appartenant à root :

sudo chmod 755 /etc/init.d/openerp-web
sudo chown root: /etc/init.d/openerp-web

Démarrez-le et vérifiez les logs. Le client web écoute par défaut sur le port 8080 : http://mon-ip-ou-domaine:8080

Automatisez-le au démarrage :

sudo update-rc.d openerp-web defaults

Alternatives et bonnes pratiques

  • Migration vers systemd (moderne) : sur les distributions récentes, préférez créer des unités systemd au lieu d’utiliser init.d. Systemd gère mieux les dépendances, le redémarrage automatique et les journaux via journald.

Exemple minimal d’un service systemd pour openerp-server (adapté à votre configuration) :

[Unit]
Description=OpenERP Server
After=network.target

[Service]
Type=forking
User=openerp
PIDFile=/var/run/openerp-server.pid
ExecStart=/opt/openerp/server/bin/openerp-server -c /etc/openerp-server.conf
Restart=on-failure

[Install]
WantedBy=multi-user.target
  • Conteneuriser l’application (Docker) pour isoler dépendances et faciliter le déploiement.
  • Utiliser des outils de supervision (Monit, systemd watchdog, Nagios) pour redémarrer automatiquement si le processus plante.

Dépannage courant

  • Le script ne démarre pas : vérifiez les chemins DAEMON et CONFIGFILE, les permissions et l’existence du binaire.
  • PID file restant empêchant le démarrage : supprimez /var/run/openerp-server.pid si le processus n’existe plus.
  • Port occupé : utilisez netstat/ss pour identifier le processus qui écoute sur le port (8080 ou 8069/8070 selon config).
  • Fichiers de configuration réécrits après modification du mot de passe super-admin : OpenERP peut réécrire /etc/openerp-server.conf après modification via l’interface, ce qui casse les commentaires et l’ordre — conservez une copie sauvegarde de votre config.

Critères d’acceptation

  • Le service openerp-server démarre et répond aux connexions clients GTK ou web.
  • Les logs s’écrivent dans /var/log/openerp et sont accessibles à l’utilisateur openerp.
  • Les scripts /etc/init.d/openerp-server et /etc/init.d/openerp-web sont propriétaires root: et ont le mode 755.
  • Les services sont configurés pour démarrer automatiquement au boot (update-rc.d ou systemd enabled).

Checklist par rôle

  • Administrateur système

    • Vérifier les droits et propriétaires des fichiers (/etc/*.conf, /var/log/openerp)
    • Valider le démarrage et l’arrêt corrects
    • Mettre en place la supervision et les sauvegardes
  • Développeur / Ops

    • Confirmer les options DAEMON_OPTS et l’environnement (development/production)
    • Tester les performances (threads, timeout)
  • Responsable sécurité

    • Changer le mot de passe super-admin
    • Restreindre l’accès aux fichiers de configuration
    • Bloquer l’accès non autorisé au port web via le pare-feu

Fiche technique rapide

  • Chemins importants :
    • Binaire serveur : /opt/openerp/server/bin/openerp-server.py
    • Config serveur : /etc/openerp-server.conf
    • Config web : /etc/openerp-web.conf
    • Logs : /var/log/openerp/
    • Init scripts : /etc/init.d/openerp-server, /etc/init.d/openerp-web
  • Ports par défaut :
    • Serveur OpenERP (XML-RPC) : 8069 / 8070 parfois selon config
    • Client web : 8080

Glossaire rapide

  • DAEMON : exécutable qui lance le service.
  • PIDFILE : fichier contenant l’ID du processus en cours d’exécution.
  • init.d : système traditionnel de scripts d’initialisation Unix.
  • systemd : gestionnaire moderne d’unités et de services sous Linux.

Résumé final

Ce guide vous a montré comment installer les scripts init.d pour OpenERP et son client web, tester le démarrage et l’arrêt, configurer les logs et automatiser le démarrage au boot. Pour les systèmes modernes, envisagez la migration vers systemd ou la conteneurisation pour une gestion plus robuste et une meilleure observabilité.

Notes:

  • Sauvegardez toujours les fichiers de configuration avant modification.
  • Renouvelez le mot de passe super-admin et limitez l’accès aux fichiers sensibles.
Auteur
Édition

Matériaux similaires

Mesurer le succès de votre marketing Instagram
Marketing

Mesurer le succès de votre marketing Instagram

Récupérer photos/vidéos view once WhatsApp
Guides

Récupérer photos/vidéos view once WhatsApp

Icecast 2.3.3 sur CentOS 6.3 — guide d'installation
Streaming

Icecast 2.3.3 sur CentOS 6.3 — guide d'installation

Widget d'appel Google — guide d'intégration
Support client

Widget d'appel Google — guide d'intégration

Voir les publications aimées sur Instagram
Réseaux sociaux

Voir les publications aimées sur Instagram

Afficher infos système sur le bureau Windows 10/11
Windows

Afficher infos système sur le bureau Windows 10/11