Odoo Logo

Odoo v9

Vorwort

Dieser Blog dient mir hauptsächlich zur Dokumentation und als Nachschlagewerk von einzelnen Projekten und Versuchen. Natürlich kann sich jeder an meinem Text hier bedienen. Ich bitte nur um Erwähnung woher Ihr die Information habt. Eine Hand wäscht bekanntlich ja die andere ;)

Inspiriert durch meinen Freund René Zingerle und seiner Firma Rothirsch Technologies

HowTo-Guide zur Installation von Odoo v9 auf Ubuntu Server 15.04 / Debian Jessie

Habe Odoo v9 einmal unter Ubuntu Server und unter Debian Jessie aufgesetzt

Der nächste Schritt wird der Versuch auf einem Raspberry Pi 2

-> Dies wurde am Raspberry Pi 3 ausprobiert und funktioniert

Updaten des Systemes

Am einfachsten geht es, wenn die Installation auf einem frisch aufgesetzten Server ausgeführt wird.
Nachdem der Server aufgesetzt wurde, können die neuesten Versionen der einzelnen Pakete abgefragt werden.

Zuerst holen wir uns ein Update aller Pakete

sudo apt-get update && sudo apt-get dist-upgrade

Anlegen des Users

Für Odoo hab ich einen eigenen Benutzer angelegt mit

sudo adduser --system --home=/opt/odoo --group odoo

und versuche auch gleich ob man sich mit dem Usernamen anmelden kann

sudo su - odoo -s /bin/bash

Man kann nun ctrl + d oder exit zum verlassen schreiben.

Installation und Configuraton von Postgres

Wenn der Befehl

sudo apt-get install postgresql

durchgeführt wird, wird Postgres v9.1 installiert. Egal ob für Ubuntu oder Debian. Wenn eine neuere Version verwendet werden soll, müssen folgende Anpassungen vorgenommen werden.

Erstelle die Datei /etc/apt/sources.list.d/pgdg.list und füge folgende Zeile hinzu

deb http://apt.postgresql.org/pub/repos/apt/ trusty-pgdg main

Importiere den Repository Signing Key und Update die Package-Liste

wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -

Nun folgt das Updaten mit

sudo apt-get update

danach kann nach einer verfügbaren/unterstützten postgres version gesucht und installiert werden.

sudo apt-get install postgresql-9.4 postgresql-server-dev-9.4

Ich hab es jetzt mal mit Version 9.4 probiert und funktioniert gut

Nach Installation von postgres v9.4, wird der postgres-User angelegt

sudo su - postgres

Nun wird ein neuer Datenbank-User erstellt mit der Möglichkeit eine Datenbank zu erstellen oder auch zu löschen

createuser --createdb --username postgres --no-createrole --no-superuser --pwprompt odoo

Enter password for new role: ********

Enter it again: ********

Verlassen können wir den Benutzer wieder mit

exit (oder STRG+D)

Installation der notwendigen Bibliotheken

sudo apt-get install python-pip python-dev libevent-dev gcc libxml2-dev libxslt-dev node-less libldap2-dev libssl-dev libsasl2-dev

Beachte: Odoo 9 benötigt node-less

Nach Installation dieser System-Bibliotheken, können wir Python-Bibliotheken anhang pip installieren

Erstelle reqirement.txt Datei am Server

Es wird in den Ordner /tmp gewechselt, ziehen die offizielle requirements.txt von github und installieren alles auf dem System.

cd /tmp && wget https://raw.githubusercontent.com/odoo/odoo/9.0/requirements.txt && sudo pip install -r requirements.txt

Nun sind alle Abhängkeiten installiert für Odoo v9.0

Installation von wkhtmltopdf

wkhtmltopdf ist notwendig für die Templates von Odoo. Abhängig davon ob die 32bit oder die 64bit benötigt wird. Nach vollzogenem Download wird das Paket installiert.

[+]Für Raspberry:

http://ftp.at.debian.org/debian/pool/main/w/wkhtmltopdf/wkhtmltopdf_0.12.1-2_armhf.deb

[+] Ubuntu

für 64bit

sudo dpkg -i /tmp/wkhtmltox-0.12.2.1_linux-trusty-amd64.deb

für 32bit

sudo dpkg -i /tmp/wkhtmltox-0.12.2.1_linux-trusty-i386.deb

[+] Debian

für 64bit

wget http://ftp.at.debian.org/debian/pool/main/w/wkhtmltopdf/wkhtmltopdf_0.12.1-2_amd64.deb

sudo dpkg -i http://ftp.at.debian.org/debian/pool/main/w/wkhtmltopdf/wkhtmltopdf_0.12.1-2_amd64.deb


für 32bit

wget http://ftp.at.debian.org/debian/pool/main/w/wkhtmltopdf/wkhtmltopdf_0.12.1-2_i386.deb

sudo dpkg -i http://ftp.at.debian.org/debian/pool/main/w/wkhtmltopdf/wkhtmltopdf_0.12.1-2_i386.deb


Installation des Odoo-Servers

Nun wird Git installiert damit der Code von github bezogen werden kann

sudo apt-get install git

Wechsel zum Odoo-User

sudo su - odoo -s /bin/bash

Beziehe eine Kopie der Odoo v9 Daten (master) von GIT

git clone https://www.github.com/odoo/odoo --depth 1 --branch 9.0 --single-branch .

Beachte: Dies kann einige Minuten dauern. Abhängig von der Geschwindigkeit deines Internet-Providers das dir zu Verfügung gestellt wird.

-depth 1 damit wird die letzte Version ohne History bezogen. Der Download wird dadurch ein wenig schneller.

Danach wieder mit CTRL-D oder exit verlassen den Benutzer

Configuration der Odoo-Anwendung

Die Standardkonfiguration für den Server liegt unter /opt/odoo/debian/openerp-server.conf. Die Daten werden in ein Verzeichniss kopiert wo sie benötigt werden und ändern die Berechtigungen und den Besitz

cd /etc && mkdir odoo

sudo cp /opt/odoo/debian/openerp-server.conf /etc/odoo/odoo-server.conf

sudo chown odoo: /etc/odoo/odoo-server.conf

sudo chmod 640 /etc/odoo/odoo-server.conf

Die oben genannten Befehle ändern den Besitz und Schreiberlaubnis an den odoo-User und an die Gruppe und nur lesbar für odoo und root

Damit odoo die Standard-Addons verwenden kann, muss der Pfad angepasst werden.

Ändere hierzu addons_path= /usr/lib/python2.7/dist-packages/openerp/addons zu addons_path = /opt/odoo/addons in der Datei odoo-server.conf

Man auch die anderen Zeilen so ändern wie man es benötigt


Installation des Init-Script

Dieses Script wird zum automatischen Hochfahren und Herunterfahren des Odoo-Servers verwendet und wird durch den Standard-User gestartet.

Hab die Daten schon modifiziert

#!/bin/bash

### BEGIN INIT INFO

# Provides: odoo.py

# Required-Start: $remote_fs $syslog

# Required-Stop: $remote_fs $syslog

# Default-Start: 2 3 4 5

# Default-Stop: 0 1 6

# Short-Description: Start odoo daemon at boot time

# Description: Enable service provided by daemon.

# X-Interactive: true

### END INIT INFO

## more info: http://wiki.debian.org/LSBInitScripts

. /lib/lsb/init-functions

PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/bin

DAEMON=/opt/odoo/odoo.py

NAME=odoo

DESC=odoo-server

CONFIG=/etc/odoo/odoo-server.conf

LOGFILE=/var/log/odoo/odoo-server.log

PIDFILE=/var/run/${NAME}.pid

USER=odoo

export LOGNAME=$USER

test -x $DAEMON || exit 0

set -e

function _start() {

start-stop-daemon --start --quiet --pidfile $PIDFILE --chuid $USER:$USER --background --make-pidfile --exec $DAEMON -- --config $CONFIG --logfile $LOGFILE

}

function _stop() {

start-stop-daemon --stop --quiet --pidfile $PIDFILE --oknodo --retry 3

rm -f $PIDFILE

}

function _status() {

start-stop-daemon --status --quiet --pidfile $PIDFILE

return $?

}

case "$1" in

start)

echo -n "Starting $DESC: "

_start

echo "ok"

;;

stop)

echo -n "Stopping $DESC: "

_stop

echo "ok"

;;

restart|force-reload)

echo -n "Restarting $DESC: "

_stop

sleep 1

_start

echo "ok"

;;

status)

echo -n "Status of $DESC: "

_status && echo "running" || echo "stopped"

;;

*)

N=/etc/init.d/$NAME

echo "Usage: $N {start|stop|restart|force-reload|status}" >&2

exit 1

;;

esac

exit 0

Nun wird entweder kopiert oder der Inhalt eingefügt für dieses Script in /etc/init.d und nenne es odoo-server und der ausführbar und zugreifbar von root:

sudo chmod 755 /etc/init.d/odoo-server

sudo chown root: /etc/init.d/odoo-server

wir benönigen ein Log-File mit den Namen /var/log/odoo/odoo-server.log und vergeben die Rechte zur Verwendung von Odoo unter dem Verzeichniss /var/log/

sudo mkdir /var/log/odoo

wechsle zum Verzeichniss

cd /var/log/odoo

erstelle eine Datei mit dem Namen odoo-server.log

touch odoo-server.log

vergibt die Schreibrechte an den Odoo-User

sudo chmod 755 /etc/init.d/odoo-server

sudo chown root: /etc/init.d/odoo-server

Zusatz zur Installation bei Debian-Systemen und Raspberry

Nicht vergessen Apache2-Server installieren

sudo apt-get install apache2 libapache2-mod-php5

Testen des Odoo-Server

Zum Starten des Odoo-Servers wird

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

eingegeben. Du solltest nun in der Lage sein, das Log-File zu sehn und wie der Server startet

sudo tail -f /var/log/odoo/odoo-server.log

Wenn das Log-File okay aussieht, öffne die URL 127.0.0.1:8069, hier ist 8069 der Standard-Port von Odoo.

http://127.0.0.1:8069 oder IP-Adresse

Nun ist es Zeit die Überprüfen ob der Server auch stoppt

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

sudo tail -f /var/log/odoo-server.log

Automatisches Hochfahren des Odoo-Servers

Wenn alles so funktioniert wie geplant, wird ein Eintrag in update-rc.d für odoo-server angelegt welcher einen automatischen Start und Stop ermöglicht.

sudo update-rc.d odoo-server defaults

Das war es. :)

Der Odoo-Server läuft, ist einsatzbereit für die persöhnliche Einstellungen beziehungsweise Installation der einzelnen Apps die man haben möchte