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 seulsroot
etopenerp
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 :
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.
Matériaux similaires

Mesurer le succès de votre marketing Instagram

Récupérer photos/vidéos view once WhatsApp
Icecast 2.3.3 sur CentOS 6.3 — guide d'installation

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