Technologieführer

OpenERP-Server & Web‑Client: Startskripte installieren und automatisieren

5 min read OpenERP Installation Aktualisiert 02 Oct 2025
OpenERP Startskripte installieren
OpenERP Startskripte installieren

Installieren Sie die Init-Skripte für den OpenERP-Server und den Web-Client unter /etc/init.d, setzen Sie die richtigen Dateirechte, erstellen Sie das Log-Verzeichnis und aktivieren Sie Autostart mit update-rc.d. Testen Sie Start/Stop, prüfen Sie die Logs und ändern Sie das Super‑Admin‑Passwort sofort.

Worum es hier geht

In diesem Kapitel installieren und automatisieren wir die Start-/Stop-Skripte für den OpenERP-Server und den Web‑Client auf einem Ubuntu-Server. Ziel: Dienste als der richtige Benutzer betreiben, Logs beschreiben und beim Systemstart automatisch starten/stoppen.

Wichtige Begriffe in einer Zeile

  • Init-Skript: Shell-Skript in /etc/init.d, das start/stop/restart für einen Dienst bereitstellt.
  • PID-File: Datei mit der Prozess-ID eines laufenden Dienstes, meist /var/run/.pid.

Schritt 7 — Boot-Skript für den Server installieren

Erstellen Sie ein Init-Skript in /etc/init.d mit folgendem Inhalt (Beispielskript). Dieses Skript startet und stoppt den Server und führt ihn als Benutzer openerp aus:

#!/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

Kopieren Sie den Inhalt in /etc/init.d/openerp-server, dann Rechte und Eigentümer setzen:

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

Wichtig: Prüfen Sie, dass die in CONFIGFILE angegebene Konfigurationsdatei (/etc/openerp-server.conf) existiert und lesbar ist.

Erstellen Sie außerdem das Verzeichnis für Logs und passen Sie Besitzrechte an, damit der openerp-Benutzer schreiben kann:

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

Hinweis: Das Log-Verzeichnis muss vor dem Dienststart vorhanden und beschreibbar sein.

Schritt 8 — Server testen

Starten Sie den Server manuell:

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

Prüfen Sie anschließend die Logdatei:

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

Wenn der Dienst nicht startet, stoppen Sie sich und beheben die Fehler (Konfigurationspfad, Berechtigungen, fehlende Abhängigkeiten). Weiterarbeiten ohne laufenden Server führt zu Inkonsistenzen.

Wenn Sie den GTK-Client starten und ihn auf den Server zeigen, sollten Sie folgendes sehen:

OpenERP GTK-Client: Erster Login, keine Datenbank konfiguriert

OpenERP – Erste Anmeldung

Das bedeutet, der Server akzeptiert Verbindungen, aber es ist noch keine Datenbank vorhanden.

Sichern Sie das Super‑Admin‑Passwort sofort (Standard: “admin”). Damit kann ein Benutzer Datenbanken anlegen, sichern, wiederherstellen und löschen. Im GTK‑Client: Datei -> Databases -> Administrator Password.

Wichtig: Das Super‑Admin‑Passwort wird im Klartext in /etc/openerp-server.conf geschrieben. Beschränken Sie den Zugriff auf diese Datei auf root und openerp.

Tipp: Beim Ändern des Super‑Admin‑Passworts überschreibt OpenERP offenbar die Konfigurationsdatei und entfernt Kommentare; daher Backup der Konfig vor dem Ändern anlegen.

Testen Sie den Stop:

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

Prüfen Sie Log und Prozessliste, ob der Dienst wirklich beendet wurde.

Schritt 9 — Autostart des Servers aktivieren

Wenn Start/Stop funktionieren, aktivieren Sie den Autostart beim Booten:

sudo update-rc.d openerp-server defaults

Nach einem Reboot sollte OpenERP automatisch starten. Eine laufende Instanz erkennen Sie z.B. per:

ps aux | grep openerp

Beispielausgabe:

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

Schritt 10 — Web‑Client konfigurieren und automatisieren

Der Web‑Client ist ein separater Serverprozess, der OpenERP über HTTP (Standardport 8080) an Browser ausliefert. Die Installation und Automatisierung ist analog zu den Schritten für den Server (Konfiguration, Init‑Skript, Rechte, Tests, Autostart).

Beispiel: Standardkonfigurationsdatei (aus /opt/openerp/web/doc/openerp-web.cfg). Passen Sie insbesondere die Logpfade an, damit sie nach /var/log/openerp zeigen:

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

# 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/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 = ''

Kopieren Sie diese Datei nach /etc/openerp-web.conf und setzen Sie Eigentümer/Permission:

sudo chown openerp:root /etc/openerp-web.conf  
sudo chmod 640 /etc/openerp-web.conf

Init-Skript für den Web-Client (analog zum Server):

#!/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

Speichern Sie das Skript als /etc/init.d/openerp-web, setzen Sie Rechte und Eigentümer:

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

Starten Sie den Web-Client:

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

Der Web-Client läuft standardmäßig auf Port 8080. Testen Sie per Browser: http://my-ip-or-domain:8080

Stoppen und aktivieren Sie den Autostart wie beim Server:

sudo /etc/init.d/openerp-web stop
sudo update-rc.d openerp-web defaults

Nach einem Reboot sollten beide Dienste automatisch starten.


Checklisten und kurze Hilfen

Systemadministrator-Checkliste

  • Konfigurationsdateien vorhanden: /etc/openerp-server.conf und /etc/openerp-web.conf
  • Log-Verzeichnis: /var/log/openerp vorhanden und beschreibbar für openerp
  • Init-Skripte: /etc/init.d/openerp-server und /etc/init.d/openerp-web, ausführbar und root:eigentümer
  • Dienste per update-rc.d aktiviert
  • Super‑Admin‑Passwort geändert und Konfigurationsdatei gesichert

Entwickler-Quicktest

  • ps aux | grep openerp zeigt laufende Prozesse
  • Logs prüfen: less /var/log/openerp/openerp-server.log und openerp-web-error.log
  • Web-Client erreichbar: http://:8080

Operator-Playbook (kurz)

  • Bei Startproblemen: journalctl oder /var/log/syslog prüfen
  • Konfigurationsänderung → Backup erstellen, Dienst neu starten
  • Rollback: alte config zurückkopieren, sudo /etc/init.d/openerp-server restart

Incident‑Runbook (Rollback / schnelle Reparatur)

  1. Problem: Server startet nicht.
  2. Prüfen: less /var/log/openerp/openerp-server.log → Fehlermeldung notieren.
  3. Prüfen: Besitzer/Rechte von /var/log/openerp und /etc/openerp-server.conf.
  4. Temporärer Fix: Dienst stoppen, alte konfigurierte .conf wiederherstellen, Dienst starten.
  5. Wenn Prozess hängt: kill (vorsichtig), dann start.
  6. Bei Datenbankfehlern: Datenbanksicherung zurückspielen (nur nach Analyse).

Sicherheits‑ und Betriebs‑Härtung (Kurz)

  • Zugriff auf /etc/openerp-*.conf nur für root und openerp: chmod 640, chown openerp:root.
  • Logs rotieren: systemd- oder logrotate‑Konfiguration für /var/log/openerp/* anlegen.
  • Netzwerkzugriff: Web‑Client hinter Reverse‑Proxy (TLS) betreiben oder Firewall‑Regeln (ufw) setzen.
  • Passwortschutz: Super‑Admin‑Passwort komplex wählen, Regelmäßiger Wechsel optional.

Wann diese Anleitung nicht passt (Gegenbeispiele)

  • Sie verwenden systemd statt SysVinit: Verwenden Sie eine systemd‑Unit statt /etc/init.d Skripten.
  • Containerisierte Deployments (Docker/Kubernetes): Startskripte in Containern sind nicht sinnvoll.
  • Managed‑Hosting mit Spezialkonfigurationen: Hosten und Startmechanismen können abweichen.

Mini‑Methodik: Testfälle nach Installation

  • TC1: Dienst startet manuell und schreibt Logeintrag innerhalb 30 Sekunden.
  • TC2: Dienst stoppt sauber, kein Prozess mehr vorhanden.
  • TC3: Autostart beim Reboot aktiviert, Dienste laufen nach Boot.
  • TC4: Web‑Client erreichbar auf Port 8080 (HTTP 200 auf Loginseite).

Einzeilige Glossareinträge

  • openerp: Systemuser, unter dem die OpenERP‑Prozesse laufen.
  • update-rc.d: Debian/Ubuntu Tool zum Verwalten der SysVinit-Startlinks.
  • start-stop-daemon: Utility zum kontrollierten Starten/Stoppen von Daemons.

Zusammenfassung

  • Legen Sie Init-Skripte in /etc/init.d ab, setzen Sie Rechte und Besitzer.
  • Erstellen Sie /var/log/openerp und geben Sie Schreibrechte an openerp.
  • Testen Sie Start/Stop und aktivieren Sie Autostart mit update-rc.d.
  • Ändern Sie sofort das Super‑Admin‑Passwort und schützen Sie die Konfigurationsdateien.

Wichtig: Wenn Sie systemd verwenden, erstellen Sie bevorzugt systemd-Units statt der hier gezeigten SysVinit‑Skripte.

Autor
Redaktion

Ähnliche Materialien

Instagram‑Analytics: Messen & Tracken
Social Media

Instagram‑Analytics: Messen & Tracken

WhatsApp: Einmal ansehen Medien wiederherstellen
Anleitungen

WhatsApp: Einmal ansehen Medien wiederherstellen

Icecast 2.3.3 auf CentOS 6.3 installieren
Streaming

Icecast 2.3.3 auf CentOS 6.3 installieren

Google Call Widget in Website einbinden
Webanleitungen

Google Call Widget in Website einbinden

Beiträge anzeigen, die du auf Instagram geliked hast
Soziale Medien

Beiträge anzeigen, die du auf Instagram geliked hast

Systeminformationen auf dem Desktop anzeigen
Windows

Systeminformationen auf dem Desktop anzeigen