So installieren Sie Odoo 13 auf Ubuntu Server 18.04 LTS / 20.04 LTS

ubuntu 

&

odoo logo

In dieser Anleitung zeigen wir Ihnen, wie Sie Odoo 13 auf Ubuntu 20.04 installieren. Odoo, auch bekannt als OpenERP, ist eine freie und Open-Source-ERP-Plattform. Es ist eine der beliebteten ERP-Plattformen auf dem Markt, dank seiner Anpassbarkeit und Flexibilität. Odoo ist in Python geschrieben und wird für viele Geschäftsanwendungen verwendet, wie z.B. Vertriebspipeline, Projektmanagement, CRM, Rechnungsstellung, Buchhaltung, Inventar und vieles mehr. Odoo wird mit einer Fülle von Funktionen geliefert, die für die meisten geschäftlichen Anwendungsfälle hervorragend geeignet sind. Wenn Sie zusätzlich etwas Spezielleres benötigen, bietet Odoo auch eine große Bibliothek an teilweise kostenpflichtigen benutzerdefinierten Add-Ons, mit denen Sie die Funktionen von Odoo genau an Ihre Geschäftsanforderungen anpassen können.

Wenn Sie Odoo in einer virtuellen Umgebung oder als Docker-Container installieren, haben Sie mehr Kontrolle über das System-Setup und können mehrere Odoo-Versionen auf demselben System ausführen.

In dieser Anleitung führen wir Sie durch die Installation und den Einsatz von Odoo 13 in einer virtuellen Python-Umgebung auf OS Ubuntu. Wir werden in dieser Anleitung Odoo 13 aus dem Git-Repository herunterladen.

Installationsvoraussetzungen

Melden Sie sich bei Ihrem Ubuntu als sudo-Benutzer an und aktualisieren Sie den Apt-Cache:

$ sudo apt update && sudo apt upgrade

Installieren Sie Git , Pip , Node.js und die für die Erstellung von Odoo-Abhängigkeiten erforderlichen Tools:

$ sudo apt-get install python3-venv build-essential python3-pillow python3-lxml python3-dev python3-pip python3-setuptools npm nodejs git gdebi libldap2-dev libsasl2-dev python3-wheel libzip-dev libxml2-dev libxslt-dev libxslt1-dev libjpeg-dev libpq-dev -y

Anlegen eines Systembenutzers

Legen Sie einen Systembenutzer an, unter dem Odoo laufen soll, mit dem Namen odoo13 und dem Home-Verzeichnis /opt/odoo13:

$ sudo useradd -m -d /opt/odoo13 -U -r -s /bin/bash odoo13

Sie können den Namen des Benutzers auf jeden beliebigen Wert setzen, solange Sie einen PostgreSQL-Benutzer mit demselben Namen anlegen.

Installieren und Konfigurieren von PostgreSQL

Odoo verwendet PostgreSQL als Datenbank-Backend. Um PostgreSQL zu installieren, führen Sie den folgenden Befehl aus:

$ sudo apt install postgresql

Sobald die Installation abgeschlossen ist, legen Sie einen PostgreSQL-Benutzer mit demselben Namen wie der zuvor angelegte Systembenutzer an, in unserem Fall ist das odoo13:

$ sudo su - postgres -c "createuser -s odoo13"

Installieren von Wkhtmltopdf

Das Paket wkhtmltox bietet eine Reihe von Open-Source-Befehlszeilen-Werkzeugen, die HTML in PDF und verschiedene Bildformate umwandeln können. Um PDF-Berichte drucken zu können, müssen Sie das Tool wkhtmltopdf installieren. Die empfohlene Version für Odoo ist 0.12.5, welche aber nicht in den Standard-Repositories von Ubuntu verfügbar ist.

Laden Sie das Paket mit dem folgenden wget-Befehl herunter:

$ wget https://github.com/wkhtmltopdf/wkhtmltopdf/releases/download/0.12.5/wkhtmltox_0.12.5-1.bionic_amd64.deb

Sobald der Download abgeschlossen ist, installieren Sie das Paket mit folgendem Befehl:

$ sudo apt install ./wkhtmltox_0.12.5-1.bionic_amd64.deb

Stellen Sie mit folgendem Befehl sicher, dass wkhtmltopdf auf Ihrem Server installiert ist:

$ wkhtmltopdf --version

Die Ausgabe sollte in etwa wie folgt aussehen, was anzeigt, dass der wkhtmltopdf-Dienst aktiv ist und läuft:

● wkhtmltopdf 0.12.5 (with patched qt)

Installieren und Konfigurieren von Odoo 13

Wie  oben erwähnt, wird Odoo aus dem Quellcode in eine isolierte virtuellen Python-Umgebung installiert.

Wechseln Sie also zunächst zum Benutzer "odoo13":

$ sudo su - odoo13

Klonen Sie den Quellcode von Odoo 13 von GitHub:

$ git clone https://www.github.com/odoo/odoo --depth 1 --branch 13.0 /opt/odoo13/odoo

Sobald der Download abgeschlossen ist, erstellen Sie eine neue virtuelle Python-Umgebung für Odoo:

$ cd /opt/odoo13 && python3 -m venv odoo-venv

Aktivieren Sie die Umgebung mit dem folgenden Befehl:

$ source odoo-venv/bin/activate

Installieren Sie alle benötigten Python-Module mit pip3:

$ pip3 install wheel && pip3 install -r odoo/requirements.txt
Wenn während der Installation ein Fehler auftritt, vergewissern Sie sich, dass alle erforderlichen Abhängigkeiten, die im Abschnitt Installationsvoraussetzungen aufgeführt sind, auch wirklich installiert sind.

Wenn alle erforderlichen Module erfolgreich installiert sind, deaktivieren Sie die virtuelle Umgebung und wechseln Sie mit folgendem Befehl zurück zum Benutzer sudo oder root:

deactivate && exit

Erstellen Sie nun ein neues Verzeichnis, das die Addons von Drittanbietern aufnehmen wird:

$ sudo mkdir /opt/odoo13/odoo-custom-addons

Später werden wir dieses Verzeichnis zum Parameter addons_path hinzufügen. Dieser Parameter definiert eine Liste von Verzeichnissen, in denen odoo neben den eigenen Modulen auch nach Modulen von Drittanbietern sucht.

Erstellen Sie nun eine Konfigurationsdatei:
$ sudo nano /etc/odoo13.conf
Fügen Sie den folgenden Inhalt in diese neue Datei ein:
[options]
; This is the password that allows database operations:
admin_passwd = odoo_passwd
db_host = False
db_port = False
db_user = odoo13
db_password = False
logfile = /var/log/odoo13/odoo.log
logrotate = True
addons_path = /opt/odoo13/odoo/addons,/opt/odoo13/odoo-custom-addons
Bitte ändern Sie odoo_passwd in etwas Passenderes, das den gültigen und empfohlenen Werten eines sicheren Passworts entspricht.
Weitere addons_path können Sie jederzeit zufügen, bitte nur mit Komma (ohne weitere Leerzeichen!) trennen.

Erstellen einer Systemd Unit-Datei

Erstellen Sie nun eine Konfigurationsdatei::

$ sudo nano /etc/systemd/system/odoo13.service
Fügen Sie den folgenden Inhalt in diese neue Datei ein:
[Unit]
Description=Odoo13
Requires=postgresql.service
After=network.target postgresql.service

[Service]
Type=simple
SyslogIdentifier=odoo13
PermissionsStartOnly=true
User=odoo13
Group=odoo13
ExecStart=/opt/odoo13/odoo-venv/bin/python3 /opt/odoo13/odoo/odoo-bin -c /etc/odoo13.conf
StandardOutput=journal+console

[Install]
WantedBy=multi-user.target

Benachrichtigt systemd, dass eine neue Unit-Datei existiert:

$ sudo systemctl daemon-reload

Starten Sie den Odoo-Dienst und aktivieren Sie diesen zukünftig auch beim Booten des Servers mit folgendem Befehl:

$ sudo systemctl enable --now odoo13

Überprüfen Sie den Dienststatus:

$ sudo systemctl status odoo13

Die Ausgabe sollte in etwa wie unten aussehen, was anzeigt, dass der Odoo-Dienst aktiv ist und läuft:

● odoo13.service
   Loaded: loaded (/etc/systemd/system/odoo13.service; enabled; vendor preset: enabled)
   Active: active (running) since Sat 2021-01-02 00:12:17 UTC; 8s ago
 Main PID: 1172 (python3)
    Tasks: 6 (limit: 4915)
   CGroup: /system.slice/odoo13.service
           └─1172 /opt/odoo13/odoo-venv/bin/python3 /opt/odoo13/odoo/odoo-bin -c /etc/odoo13.conf

Um die vom Odoo-Dienst protokollierten Meldungen zu sehen, verwenden Sie den folgenden Befehl:

$ sudo journalctl -u odoo13

Prüfen der Installation

Öffnen Sie Ihren Browser und geben Folgendes ein: http://<your_domain_or_IP_address>:8069

Wenn die Installation erfolgreich war, zeigt sich nun folgender Start-Bildschirm von odoo.

odoo start

Gegebenenfalls sichern Sie bitte den Server mit Nginx als SSL Termination Proxy und Let’s Encrypt weiter ab!

Fazit

Dieses Tutorial führte Sie durch die Installation von Odoo 13 auf Ubuntu in einer virtuellen Python-Umgebung für eine kleine Produktionsumgebung. Bitte achten Sie zusätzlich auf die nötige Security sowie Backup!

Sollten Sie diese Installation vorgenommen haben, um ein bestehendes Backup einzuspielen, achten Sie bitte penibel darauf, wirklich ALLE zu der bestehenden Odoo-Datenbank Custom-Addons in das definierte Verzeichnis zu kopieren, die mögliche Fehlersuche reduziert sich damit dramatisch!

Vielleicht möchten Sie hier auch gleich noch unser Tutorial lesen, wie Sie automatisch tägliche Backups Ihrer Odoo-Datenbank erstellen.