In dieser Anleitung installieren wir die Open-Source ERP-Software-Lösung Odoo in der aktuellsten Version (15) auf einen Linux Ubuntu Server. Für dieses Tutorial wird die Ubuntu 20.04 Distribution verwendet. Die Installationsanleitung habe ich in einfache Schritte aufgeteilt und sie funktioniert sowohl auf virtuellen als auch physischen Hostsysteme.
Wir installieren zuerst alle notwendigen Abhängigkeiten und anschließend die Software selbst. Es existieren verschiedene Installationsmöglichkeiten für die Odoo-Business-Software. Je nach Anwendungsgrund und vorhandener IT-Infrastruktur bieten sich verschiedene Lösungen an.
So kann die ERP-Software direkt auf einem Linux-Host installiert werden, wie in dieser Installationsanleitung hier, oder als Container in einer Docker Umgebung. Wir installieren Odoo klassischerweise auf einem Linux-Ubuntu-Server. Implementieren eine Datenbank und erstellen eine virtuelle Python-Umgebung, die erforderlich für den Betrieb ist.
Bevor wir mit der Installation von Odoo beginnen, möchte ich vorerst erklären, wofür die modulare Software eingesetzt werden kann und einige Empfehlungen für die Anforderungen an die Hardware aussprechen.
Inhaltsverzeichnis: Odoo-ERP-Software auf Linux Ubuntu 20.04 installieren (Tutorial)
Was ist Odoo und wer steckt hinter der Entwicklung?
Bei der Software Odoo handelt es sich um eine ERP-Lösung mit einem dualen Lizenzmodell. Odoo wird von vielen Unternehmen und Organisationen für die Verwaltung von Geschäftsanwendungen verwendet. Dazu zählt die Finanzbuchhaltung, Webseiten und E-Commerce (Shop-Systeme), Lagerverwaltung, Projektmanagement und Customer-Relationship-Management und noch vieles mehr.
Mittlerweile sind zahlreiche Module und Anwendungen für Odoo verfügbar, welche vom Kleinunternehmer bis hin zum großen Konzern, die Verwaltung und Steuerung von unterschiedlichen Geschäftsprozessen ermöglicht.
Einer der größten Vorteile von einem selbst-gehosteten Server mit installiertem Odoo ist die Skalierbarkeit. Wächst das Unternehmen, kann die Software den eigenen Ansprüchen nach mit vielen Anwendungen erweitert werden. Installieren wir Odoo auf eine virtuelle Maschine, können wir mit Leichtigkeit Cluster für die Ausfallsicherheit implementieren und Backups lassen sich komfortabel automatisieren.
Welche Hardwareanforderungen hat Odoo?
Minimalanforderung an die Hardware:
- Prozessor mit einer 64-Bit-Architektur und mindestens 6 Kerne
- 8 GB Arbeitsspeicher
Empfohlene Hardwareanforderung:
- Prozessor mit einer 64-Bit-Architektur und 8 Kerne
- 16 GB Arbeitsspeicher
Hinweis: Die Hardwareanforderungen wachsen mit der Anzahl der täglich gleichzeitigen Benutzer von Odoo. Bei großen Unternehmen mit über 100 Mitarbeiter ist es ratsam, die Datenbank auf einen eigenen Server zu installieren. Erfahrungsgemäß wird dann erheblich mehr Prozessorleistung und Arbeitsspeicher benötigt, um einen einwandfreien und flüssigen Betrieb zu gewährleisten. Darauf gehe ich nach der Grundinstallation von Odoo am Ende dieser Installationsanleitung noch einmal etwas genauer drauf ein.
Odoo Installationsanleitung: Abhängigkeiten installieren und Benutzerkonto erstellen (Schritt 1.)
Beginnen wir mit der Installation eines Odoo-Servers für Linux Ubuntu 20.04. Bringe die Paketquellen von deinem Ubuntu-Host auf den neusten Stand mit folgendem Befehl:
sudo apt update
Abhängigkeiten für Odoo installieren:
Installiere zuerst die Abhängigkeiten (Python, Git, Pip und Node.js), die für die Installation und den Betrieb von Odoo erforderlich sind:
sudo apt install git python3-pip build-essential wget python3-dev python3-venv \ python3-wheel libfreetype6-dev libxml2-dev libzip-dev libldap2-dev libsasl2-dev \ python3-setuptools node-less libjpeg-dev zlib1g-dev libpq-dev \ libxslt1-dev libldap2-dev libtiff5-dev libjpeg8-dev libopenjp2-7-dev \ liblcms2-dev libwebp-dev libharfbuzz-dev libfribidi-dev libxcb1-dev
Benutzerkonto für Odoo erstellen:
Jetzt erstellen wir einen neuen Benutzer, da Ausführungen von Odoo als Root-Benutzer ein gravierendes Sicherheitsrisiko darstellen würden. Verwende folgenden Befehl, um einen neuen Benutzer anzulegen und eine Gruppe zu erstellen:
sudo useradd -m -d /opt/odoo15 -U -r -s /bin/bash odoo15
Für die Erstellung des Benutzers kann ein beliebiger Name verwendet werden. Der PostgreSQL-Benutzer muss jedoch den identischen Namen bekommen.
Installation und Konfiguration der Datenbank (PostgreSQL) für Odoo-ERP (Schritt 2.)
Für die Odoo-Software wird eine PostgreSQL-Datenbank verwendet. Da PostgreSQL bereits im Standard-Repository von Ubuntu vorhanden ist, kann die Datenbank relativ leicht installiert werden:
sudo apt install postgresql
PostgreSQL-Benutzer erstellen:
Nach der Installation der PostgreSQL-Datenbank erstellen wir einen Benutzer mit demselben Namen, den wir bereits für unser Odoo-Benutzerkonto erstellt haben:
sudo su - postgres -c "createuser -s odoo15"
Installation von wkhtmltopdf (Schritt 3.)
Mit wkhtmltopdf installieren wir eine Reihe von Open-Source Befehlszeilen-Werkzeuge, die zum Rendern von HTML-Inhalten in PDF und verschiedene Bildformate verantwortlich sind. Diese dienen unter anderem dazu, HTML-Dokumente über Odoo als PDF-Datei ausdrucken zu können. Wir installieren die aktuelle Version von Github mit folgendem Befehl:
sudo wget https://github.com/wkhtmltopdf/wkhtmltopdf/releases/download/0.12.5/wkhtmltox_0.12.5-1.bionic_amd64.deb
Nachdem die Datei erfolgreich heruntergeladen wurde, installieren wir das Paket mit diesem Befehl:
sudo apt install ./wkhtmltox_0.12.5-1.bionic_amd64.deb
Odoo Version 15 auf einem Ubuntu Server installieren und konfigurieren (Schritt 4.)
Wir installieren Odoo in eine virtuelle Python-Umgebung. Wechsel dafür zunächst zum neu erstellten Odoo-Benutzer mit diesem Befehl:
sudo su - odoo15
Als Nächstes wird der Quellcode von Github für die Installation von Odoo mit folgendem Befehl geklont:
git clone https://www.github.com/odoo/odoo --depth 1 --branch 15.0 /opt/odoo15/odoo
Erstelle eine virtuelle Python-Umgebung für Odoo:
cd /opt/odoo15
python3 -m venv odoo-venv
Aktiviere die soeben erstelle virtuelle Python-Umgebung mit diesem Befehl:
source odoo-venv/bin/activate
Die Abhängigkeiten von Odoo sind in der Datei „Requirements.txt“ vorzufinden. Installiere nun den Paketmanager „Pip3“, dieser ist notwendig und erweitert unsere Python-Umgebung mit Funktionen, die nicht in der Python-Standardbibliothek enthalten sind:
pip3 install wheel
pip3 install -r odoo/requirements.txt
Hast du diesen Schritt erledigt, deaktivieren wir zunächst unsere Umgebung:
deactivate
Anschließend erstellen wir ein neues Verzeichnis für Third-Party-Addons:
mkdir /opt/odoo15/odoo-custom-addons
Dieses Verzeichnis wird als Zielverzeichnis für installierte Odoo-Addons verwendet.
Verlasse die virtuelle Python-Umgebung und erstelle eine Konfigurations-Datei für Odoo:
exit
sudo nano /etc/odoo15.conf
Kopiere die Konfiguration und füge sie in die Datei mit dem Nano-Editor ein:
[options]
; This is the password that allows database operations:
admin_passwd = mein_admin_passwort
db_host = False
db_port = False
db_user = odoo15
db_password = False
addons_path = /opt/odoo15/odoo/addons,/opt/odoo15/odoo-custom-addons
Wähle ein sicheres Passwort und ergänze den Eintrag „mein_admin_passwort“. Speichere die Änderungen ab (STRG+S) und verlasse die Konfigurationsdatei wieder (STRG+X).
Erstelle die Odoo15.service Datei wie angegeben. Diese beinhaltet notwendige Informationen über den Service:
sudo nano /etc/systemd/system/odoo15.service
Kopiere den folgenden Inhalt und füge ihn mit dem Nano-Editor in die Service-Datei ein:
[Unit]
Description=Odoo15
Requires=postgresql.service
After=network.target postgresql.service
[Service]
Type=simple
SyslogIdentifier=odoo15
PermissionsStartOnly=true
User=odoo15
Group=odoo15
ExecStart=/opt/odoo15/odoo-venv/bin/python3 /opt/odoo15/odoo/odoo-bin -c /etc/odoo15.conf
StandardOutput=journal+console
[Install]
WantedBy=multi-user.target
Speichere die Eingaben (STRG+S) und verlasse den Nano-Editor wieder (STRG+X). Damit die Datei eingelesen wird, starten wir den Dienst „daemon“ mit folgendem Befehl neu:
sudo systemctl daemon-reload
Jetzt ist es an der Zeit, die Odoo Software zu starten und den automatischen Start bei einem System-Reboot zu aktivieren:
sudo systemctl enable --now odoo15
Überprüfe, ob der Odoo-Service läuft:
sudo systemctl status odoo15
Die Installation von Odoo auf einen Linux-Ubuntu-Server ist jetzt abgeschlossen. Im nächsten Abschnitt überprüfen wir, ob unser Odoo-Server erreichbar ist
Odoo wurde installiert: Web-Oberfläche über die IP-Adresse aufrufen
Wenn alles erfolgreich funktioniert hat und der Odoo-Service auf deinem Ubuntu-Server läuft, kannst du die Web-Oberfläche (Dashboard) von Odoo über die IP-Adresse von deinem Server gefolgt vom Port 8069 aufrufen. Begebe dich an einem beliebigen Client im selben Netzwerk (LAN) und gebe die IP-Adresse in deinen Browser, wie im Beispiel beschrieben ein:
http://192.168.178.100:8069
Bedenke, dass du die IP-Adresse von deinem Server verwenden musst. Über das Terminal (Shell) kann die aktuelle IP-Adresse mit dem Befehl „ip a“ angezeigt werden. Sollte kein Zugriff möglich sein bzw. keine Seite angezeigt werden, füge den Port zu der UFW-Firewall hinzu und erlaube einen Zugriff.
Empfehlungen für den erfolgreichen Betrieb eines Odoo-Servers (Sicherheits- und Leistungstipps)
Ohne weitere Einstellungen und Konfigurationen wird der Datenverkehr unverschlüsselt über HTTP übertragen. Für Testzwecke und kleinere Projekte spricht nichts gegen eine Verwendung von Odoo ohne weitere Konfigurationen. Um die Sicherheit zu erhöhen, empfehle ich die Verwendung eines Reverse-Proxys z.B. von Nginx und die Installation eines SSL-Zertifikats, um den Datenverkehr zu verschlüsseln.
Anleitungen dafür findest du auf meinem Blog:
Die Verwendung eines Reverse-Proxys bringt eine ganze Menge Vorteile für Odoo mit sich. Funktionen wie Load Balancing, Caching, Komprimierungen und SSL-Termination sind ideal für den Betrieb eines performanten Servers.