Tutorial: Odoo 9 unter Ubuntu installieren

geschrieben am 11.10.2015
Schlagwörter: , , , , , ,

Odoo 9 App Übersicht

Odoo 9 Apps

Odoo 9 ist seit dem 1.Oktober 2015 verfügbar und lockt mit einer Fülle neuer Features wie dem Website Builder, einem überarbeiteten e-Commerce und Vertragsmanagement Modul (zu Odoo 9 Keynotes).

Um sich schnell und unkompliziert diese neuen Features ansehen zu können, bietet sich die Installation von Odoo 9 in einer virtuellen Maschine (z.B. VirtualBox) an. Die Installation des Ubuntu Server Systems und Odoo 9 (ehemals OpenERP) ist in weniger als einer Stunde abgeschlossen. Danach kann man unkompliziert und ohne Risiko die neuen Fähigkeiten sowie sämtliche Apps des OpenSource ERP / CRM ausprobieren. Also worauf warten?

Hinweis: sämtliche Befehle werden im folgenden als Root-User ausgeführt. Nur wenn es ein anderer Benutzer sein muss, wird dies explizit erwähnt.

Updates des Servers

Auch wenn es sich um eine frische Ubuntu Installation handelt, sollte man immer zuerst das Basissystem aktualisieren. Außerdem installieren wir den Zeichensatz c.utf-8, da es dann garantiert keine Inkompatibilitäten zwischen ASCII und UTF8 bei der Anlage der Postgresql-Datenbank gibt.

apt-get update
apt-get upgrade -y
apt-get install -y locales
dpkg-reconfigure locales
locale-gen C.UTF-8
/usr/sbin/update-locale LANG=C.UTF-8
echo 'LC_ALL=C.UTF-8' >> /etc/environment

Postgresql installieren

Als nächstes Installieren wir die Datenbank. Odoo (ehemals OpenERP) setzt auf Postgresql, welche mit wenigen Befehlen installiert ist. Nach der Installation der Datenbank legen wir einen neuen Datenbankbenutzer „odoo“ an.

apt-get install postgresql -y
su - postgres -c "createuser -s odoo"
service postgresql restart

Odoo Benutzer und Log-Datei anlegen

Odoo soll später unter einem eigenen Systembenutzer (und nicht dem Root-User) laufen. Dieser Benutzer mit dem Namen odoo soll sich nicht am System anmelden können, sondern sich lediglich um die Ausführung von Odoo kümmern. Deshalb wird das Home-Verzeichnis auch unter /opt/odoo angelegt.

adduser --system --quiet --shell=/bin/bash --home=/opt/odoo --gecos 'ODOO' --group odoo
mkdir /var/log/odoo
chown odoo: /var/log/odoo

Odoo Voraussetzungen installieren

Bevor wir zur eigentlichen Installation kommen, müssen eine Vielzahl von Voraussetzungen erfüllt sein. Dieses erledigen wir mit den folgenden Befehlen.

apt-get install wget git python-pip python-imaging python-setuptools python-dev libxslt-dev libxml2-dev libldap2-dev libsasl2-dev node-less postgresql-server-dev-all -y
wget http://download.gna.org/wkhtmltopdf/0.12/0.12.2.1/wkhtmltox-0.12.2.1_linux-trusty-amd64.deb

Weiterhin installieren wir das Webkit html-to-pdf. Dies machen wir mit den folgenden Befehlen.

dpkg -i wkhtmltox-0.12.2.1_linux-trusty-amd64.deb
apt-get install -f -y
dpkg -i wkhtmltox-0.12.2.1_linux-trusty-amd64.deb
cp /usr/local/bin/wkhtmltopdf /usr/bin
cp /usr/local/bin/wkhtmltoimage /usr/bin
rm wkhtmltox-0.12.2.1_linux-trusty-amd64.deb

Odoo 9 mit allen Abhängigkeiten installieren

Nachdem nun alle Voraussetzungen erfüllt sind, kommen wir zu eigentlichen Installation von Odoo. Mit den folgenden Befehlen wird das ca. 50 Megabyte große Odoo Paket von github runtergeladen und sämtlich Abhängigkeiten installiert. Dieser Vorgang dauert mit Abstand am längsten von allen Arbeitsschritten.

cd /opt/odoo
su odoo -c "git clone --depth 1 --single-branch --branch 9.0 https://www.github.com/odoo/odoo /opt/odoo/odoo-server/"
su odoo -c "mkdir -p /opt/odoo/custom/addons"
chown -R odoo:odoo /opt/odoo/*
pip install -r /opt/odoo/odoo-server/requirements.txt
easy_install pyPdf vatnumber pydot psycogreen suds ofxparse

Odoo konfigurieren

Nun ist es fast geschafft. Odoo 9 ist installiert und es bedarf nur noch ein paar Einstellungen um Odoo lauffähig zu machen. Konkret muss die odoo-server.conf angepasst werden.

cp /opt/odoo/odoo-server/debian/openerp-server.conf /etc/odoo-server.conf
chown odoo: /etc/odoo-server.conf
chmod 640 /etc/odoo-server.conf
nano /etc/odoo-server.conf

Bitte passen Sie die odoo-server.conf an, dass diese den folgenden Inhalt hat. Das geheime Passwort dürfen Sie natürlich beliebig setzen. Wählen Sie ein ausreichend sicheres Passwort.

[options]
; This is the password that allows database operations:
db_host = False
db_port = False
db_password = False
db_user = odoo
admin_passwd = HIER_STEHT_IHR_GEHEIMES_PASSWORT
logfile = /var/log/odoo/odoo-server.log
addons_path=/opt/odoo/odoo-server/addons,/opt/odoo/custom/addons

Nun wird noch ein Start-Script angelegt, dass man das ERP / CRM System bequem per service odoo-server start starten kann und dieses auch zum Autostart des Servers hinzufügen kann.

touch /etc/init.d/odoo-server
chmod 755 /etc/init.d/odoo-server
chown root: /etc/init.d/odoo-server
nano /etc/init.d/odoo-server

Kopieren Sie nun den vollständigen Inhalt in das Start-Script odoo-server.

#!/bin/sh
### BEGIN INIT INFO
# Provides: odoo-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 Business Applications
# Description: ODOO Business Applications
### END INIT INFO
PATH=/bin:/sbin:/usr/bin
DAEMON=/opt/odoo/odoo-server/openerp-server
NAME=odoo-server
DESC=odoo-server

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

# Specify an alternate config file (Default: /etc/openerp-server.conf).
CONFIGFILE="/etc/odoo-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
}
_status() {
start-stop-daemon --status --quiet --pidfile $PIDFILE
return $?
}

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}."
;;

status)
echo -n "Status of ${DESC}: "
start-stop-daemon --status --quiet --pidfile $PIDFILE
_status && echo "running." || echo "stopped."
;;

*)
N=/etc/init.d/${NAME}
echo "Usage: ${NAME} {start|stop|restart|force-reload}" >&2
exit 1
;;

esac
exit 0

Um nun Odoo automatisch bei jedem Neustart zu starten genügt der folgende Befehl.

update-rc.d odoo-server defaults

Herzlichen Glückwunsch! Odoo 9 ist nun installiert und kann über http://IHRE-IP:8069 aufgerufen werden.

  • Facebook
  • Twitter
  • Google+
  • RSS Feed
  • YouTube

Datenbank anlegen und loslegen

initiale Datenbank in Odoo anlegen

Anlage der ersten Datenbank in Odoo

Beim ersten Aufruf von Odoo im Browser, müssen Sie eine initiale Datenbank anlegen. Natürlich funktioniert die Anlage nur, wenn Sie beim Master Passwort Ihr geheimes Passwort aus der odoo-server.conf eintragen. Die anderen Werte können Sie beliebig wählen.

Nach einem Klick auf „Create database“ dauert es ca. 30 Sekunden, bis die Datenbank angelegt wurde und Sie in Ihrem fertig installiertem Odoo System landen. Sie sind nun als Administrator eingeloggt und können direkt mit der Installation der gewünschten Apps loslegen.

Natürlich ist dies nur eine absolute Basisinstallation von Odoo 9, welche nicht für den produktiven Einsatz gedacht ist. Für den produktiven Einsatz sind noch eine Reihe von Sicherheitseinstellungen zu treffen, um das System gründlich abzusichern. Alternativ können Sie auch einen ionas-Server Small Business kaufen. Dort ist Odoo 9 bereits vorinstalliert, abgesichert und mit einer zentralen Benutzerverwaltung und der VoIP-Telefonanlage integriert.

Korrupte Datenbank mit „demonstration data“ löschen

Bei meinen ersten Testinstallationen kam es bei der Anlage einer neuen Datenbank mit Beispieldaten (demonstration data) zu einem reproduzierbarem Fehler. Die Fehlermeldung lautete Database creation error: Unable to use a closed cursor und sobald diese Datenbank verwendet wurde, war das System nicht mehr zu erreichen.

Mit den folgenden Befehlen können Sie Odoo beenden und die korrupte Datenbank löschen. Natürlich müssen Sie DATENBANKNAME durch den Namen der erzeugten Datenbank ersetzen.

service odoo-server stop
su postgres -c "dropdb DATENBANKNAME"
service odoo-server start

Kommentar schreiben

Kommentar


Wie sieht es mit der Stabilität von Odoo 9 aus? Ist es schon wirklich fertig oder hat es noch viele offensichtliche Bugs?

Hallo Markus,
das ist eine gute Frage. Meine persönliche Meinung ist, dass zum jetzigen Zeitpunkt (18.10.2015) Odoo 9 noch nicht bereit für den Business Einsatz ist. Die deutsche Übersetzung ist noch nicht vollständig, viele Apps sind noch nicht portiert und ein paar Kernfunktionalitäten wie z.B. einige Berechtigungssteuerungen funktionieren einfach noch nicht. Das ganze wäre nicht so schlimm, wenn es ein kontinuierliches Update des Quellcodes geben würde, aber das ist bei Odoo einfach eine Schwachstelle. Ich würde bis Anfang 2016 warten, bevor man in Betracht zieht Odoo 9 produktiv einzusetzen.
Gruß Christoph

Die Frage von Markus hat uns keine Ruhe gelassen. Mittlerweile haben wir Odoo 9 einem Test unterzogen. Die Antwort auf die Frage, ob Odoo 9 bereit für den Business Einsatz ist, findet man hier:
https://www.ionas-server.com/blog/odoo-9-ready-for-business/
Gruß Christoph

Hallo.
Ein wirklich toller Artikel, aber auch ein toller Bericht vom 23.01.2015, in wieweit odoo tatsächlich schon „ready-for-business“ ist.

Nun zu meiner Frage:
Ist das System in den letzten Monaten verbessert worden?
Oder sollte man tatsächlich noch warten, was aber für mich etwas schwierig ist, da wir Zeitnah ein neues System benötigen werden.

Abschließend noch eins zwei Frage:
Auf welchem Betriebssystem läuft das System stabil?
Was benötige ich als Hardware für dieses System? (max. 10 MA am system angemeldet)

Darüber hinaus habe ich starke Zweifel, in Bezug auf die Sicherheit, wenn man odoo für Externe „Nutzer/Besucher“ zugänglich macht (>> Website Builder).
Sind meine Zweifel berechtigt?
Oder ist das System so sicher entwickelt, dass es zu keiner Komplikation kommen kann.
Es wäre für uns eine Katastrophe (Vertragsstrafen etc. … ), wenn (auch fremde) Kundendaten in die Öffentlichkeit gelangen würden.

Vielen Dank im Voraus!

Beste Grüße
Hans Meier

Hi, sehr gutes Tutorial!! Bei mir hat die Installation geklappt und ich habe mir nun die Enterprise Edition gekauft. Wie funktioniert da die Installation? Also wie muss ich da vorgehen um den Enterprise Code zu verwenden?

Hallo Patrick,
leider hast du auf mein Angebot, dir Installationssupport zu leisten, nicht reagiert. Ich hoffe, du hast es mittlerweile geschafft Odoo Enterprise selbstständig zu installieren.
Viele Grüße
Christoph

Hallo danke für die super Anleitung !
Leider habe ich sobald ich eine Datenbank öffne die Fehlermeldung „Error: Cannot find module ‚clean-css‘ “ und nur der untere Teil des Bildschirms ist sichtbar.
Hat jemand eine Ahnung woran das liegen könnte ?

Hallo Michael,
spontan fallen mir zwei mögliche Fehlerquellen ein:
1) Die Einbindung der Module in der odoo.conf funktioniert nicht richtig. Probieren Sie nur die Basismodule zu laden oder versuchen Sie die Reihenfolge der Verzeichnisse zu ändern.
2) Es gibt eine Diskrepanz zwischen Datenbank und Odoo. Wurde die Datenbank mit dieser Odoo Version angelegt? Tritt der Fehler auf, wenn Sie eine neue Datenbank ohne Beispieldaten anlegen?
Ansonsten bitte einfach mal anrufen. Ich kann Ihnen gerne versuchen per TeamViewer zu helfen.


« | »