ubuntu 

&

odoo logo

In dieser Anleitung zeigen wir Ihnen, wie Sie Odoo 18 auf Ubuntu 24.04 Server installieren. Odoo 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 14 in einer virtuellen Python-Umgebung auf OS Ubuntu. Wir werden in dieser Anleitung Odoo 14 aus dem Git-Repository herunterladen.

Installationsvoraussetzungen

Stellen Sie zunächst sicher, dass Ihr System vollständig aktualisiert ist::

sudo apt update && sudo apt upgrade -y
sudo apt autoremove -y

Alternativ geht natürlich immer auch: 

sudo apt -f install && sudo apt-get install -f && sudo apt install --fix-broken && sudo apt update && sudo apt upgrade

Installieren Sie den PostgreSQL-Datenbankserver (Odoo benötigt PostgreSQL als Datenbank-Backend. Ubuntu 24.04 wird mit PostgreSQL 16 ausgeliefert, das sich perfekt für Odoo 18 eignet:).:

sudo apt install postgresql postgresql-contrib -y

Überprüfen Sie, ob PostgreSQL auch ausgeführt wird:

sudo systemctl status postgresql

In der folgenden Ausgabe sollte nun "active (running)“ angezeigt werden.

PostgreSQL-Benutzer für Odoo erstellen

Erstellen Sie einen dedizierten Datenbankbenutzer für Odoo:

sudo su - postgres
createuser --createdb --username postgres --no-createrole --no-superuser --pwprompt odoo18

Geben Sie bei Aufforderung ein sicheres Passwort für den Datenbankbenutzer ein. Merken Sie sich dieses Passwort!

Konfigurieren von PostgreSQL

PostgresSQL ist ja bereits installiert, legen Sie nun einen PostgreSQL-Benutzer mit demselben Namen wie der zuvor angelegte Systembenutzer an, in unserem Fall ist das odoo18:

sudo su - postgres

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

Geben Sie bei Aufforderung ein sicheres Passwort für den Datenbankbenutzer ein. Merken Sie sich dieses Passwort!

Verlassen Sie den postgres-user dann mit dem Befehl "exit".

Installieren Sie Python 3 und Abhängigkeiten

Odoo benötigt Node.js für die Verarbeitung von Frontend-Assets. Installieren Sie Node.js

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

sudo apt install python3-dev python3-pip python3-wheel python3-venv -y
Installieren Sie wichtige Build-Abhängigkeiten:
sudo apt install build-essential libxml2-dev libxslt1-dev libldap2-dev libsasl2-dev \
libssl-dev libffi-dev libmysqlclient-dev libjpeg-dev libpq-dev libjpeg8-dev \
liblcms2-dev libblas-dev libatlas-base-dev libopenjp2-7 libtiff6 \
libfreetype6-dev libharfbuzz-dev libfribidi-dev libxcb1-dev -y

Installieren Sie Node.js und npm

Odoo benötigt Node.js für die Verarbeitung von Frontend-Assets. Installieren Sie Node.js 20.x (LTS):
curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash -
sudo apt install nodejs -y

Installieren Sie die erforderlichen npm-Pakete:

sudo npm install -g rtlcss
sudo npm install -g less less-plugin-clean-css

Installieren Sie wkhtmltopdf

Für die Erstellung von PDF-Berichten installieren Sie wkhtmltopdf:

sudo apt install wkhtmltopdf -y

Odoo-Systembenutzer erstellen

Erstellen Sie einen dedizierten Systembenutzer für die Ausführung von Odoo:

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

Installieren Sie Odoo 18 aus dem Repository

Wechseln Sie zum Benutzer odoo18 und klonen Sie das Repository: 

sudo su - odoo18

git clone https://www.github.com/odoo/odoo --depth 1 --branch 18.0 /opt/odoo18/server

exit

Erstellen Sie eine virtuelle Python-Umgebung

Richten Sie eine virtuelle Python-Umgebung für Odoo ein:  

sudo su - odoo18
cd /opt/odoo18
python3 -m venv odoo-venv
source odoo-venv/bin/activate

Pip aktualisieren und Wheel installieren: 

pip install --upgrade pip
pip install wheel

Installieren Sie die Odoo-Abhängigkeiten:

pip install -r /opt/odoo18/server/requirements.txt
deactivate
exit

Beim Abarbeiten dieser Text-Datei "requirements.txt" kommt es manchmal zu Komplikationen - vom System als notwendig erachtete Dateien sind nicht auffindbar, Netzwerkprobleme und noch viele weitere Fehlermeldungen belustigen die User.

Jedoch können alle Dateien mit Fehlermeldungen einfach manuell installiert werden, um danach jeweils nochmal das Spiel mit "requirements.txt" zu starten.
Die bereits installierten Dateien werden erkannt, es geht zur nächsten Datei. Klar, das ist ein Gedulds-Spiel, was wirklich so richtig Zeit in Anspruch nimmt - aber es funktioniert.

Ich habe einige der benötigten Dateien auf www.piwheels.org gefunden, die Suchmaschine der Wahl wird gegebenenfalls weitere Möglichkeiten liefern.

Installiert wird dann mit folgendem Befehl (das waren die Übeltäter bei meiner Installation...):

pip install https://www.piwheels.org/simple/asn1crypto/asn1crypto-1.5.1-py3-none-any.whl#sha256=32be8cb5e73909963866a4879b4a5a9d628f1479c49bb7b0d1097f4b34fa7965
Zumindest bei einer meiner Installationen war es auch hilfreich, pfBlockerNG temporär zu deaktivieren, danach wurde "requirements.txt" klaglos in Rekord-Tempo abgearbeitet.
 

Odoo-Konfigurationsdatei erstellen 

Erstellen Sie das Konfigurationsverzeichnis:
sudo mkdir /etc/odoo18
sudo nano /etc/odoo18/odoo.conf

Fügen Sie die folgende Konfiguration hinzu (Passen Sie die Passwörter an):

[options]
; Security
admin_passwd = Passwort_ist_anzupassen

; Database
db_host = False
db_port = False
db_user = odoo18
db_password = Passwort_ist_anzupassen

; Paths
addons_path = /opt/odoo18/server/addons,/opt/odoo18/custom_addons
data_dir = /opt/odoo18/.local/share/Odoo

; Logging
logfile = /var/log/odoo18/odoo.log
log_level = info

; Performance (Anpassung entsprechend Ihrem Server)
workers = 4
max_cron_threads = 2
limit_memory_hard = 2677721600
limit_memory_soft = 2147483648
limit_time_cpu = 600
limit_time_real = 1200

; Network
xmlrpc_port = 8069
longpolling_port = 8072
Wichtig: Ersetzen Sie die Passwörter durch Ihre eigenen sicheren Passwörter!
.

Erstellen Sie die erforderlichen Verzeichnisse

Erstellen Sie Verzeichnisse für Protokolle und benutzerdefinierte Add-ons:

sudo mkdir /var/log/odoo18
sudo chown odoo18:odoo18 /var/log/odoo18

sudo su - odoo18 mkdir /opt/odoo18/custom_addons exit

Systemd-Dienst erstellen

Erstellen Sie eine systemd-Dienstdatei für den automatischen Start:

sudo nano /etc/systemd/system/odoo18.service

Fügen Sie den folgenden Inhalt hinzu:

[Unit]
Description=Odoo 18
Documentation=https://www.odoo.com/
After=network.target postgresql.service

[Service]
Type=simple
User=odoo18
Group=odoo18
ExecStart=/opt/odoo18/odoo-venv/bin/python3 /opt/odoo18/server/odoo-bin -c /etc/odoo18/odoo.conf
KillMode=mixed
KillSignal=SIGTERM
StandardOutput=journal+console

[Install]
WantedBy=multi-user.target

Dateiberechtigungen festlegen

Stellen Sie die korrekten Eigentumsverhältnisse und Berechtigungen sicher:

sudo chown -R odoo18:odoo18 /opt/odoo18/

sudo chmod -R 755 /opt/odoo18/

sudo chown odoo18:odoo18 /etc/odoo18/odoo.conf

sudo chmod 640 /etc/odoo18/odoo.conf

Odoo-Dienst starten und aktivieren

Starten Sie den Odoo-Dienst:

sudo systemctl daemon-reload

sudo systemctl enable odoo18.service

sudo systemctl start odoo18.service

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

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

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

sudo journalctl -u odoo18

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 der Start-Bildschirm von odoo.

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

Fazit

Dieses Tutorial führte Sie durch die Installation von Odoo 18 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 jeweils passend zu odoo18 in das definierte Verzeichnis zu kopieren, die mögliche Fehlersuche reduziert sich damit dramatisch!