So installierst du die ERP-Software Odoo auf Ubuntu 22.04

Odoo, früher bekannt als OpenERP, ist eine der führenden ERP-Software für die Verwaltung von Geschäftsprozessen. Sie enthält geschäftsbezogene Anwendungen und Module wie CRM, Vertrieb, Rechnungsstellung, Buchhaltung, Fertigung, Lager und mehr. Es ist eine gute ERP-Lösung für kleine und mittelgroße Unternehmen. Odoo ERP wird in vielen Branchen eingesetzt, z. B. in der Fertigung, im Vertrieb, in der Forschung und Entwicklung, in Dienstleistungsunternehmen, in der Buchhaltung und in vielen anderen Bereichen.

Dieser Beitrag zeigt dir, wie du Odoo 15 ERP auf Ubuntu 22.04 installierst.

Voraussetzungen

  • Ein Server, auf dem Ubuntu 22.04 läuft.
  • Ein gültiger Domainname ist mit der IP deines Servers verbunden.
  • Ein Root-Passwort ist auf dem Server eingerichtet.

Erste Schritte

Bevor du beginnst, solltest du alle Systempakete auf die neueste Version aktualisieren. Du kannst sie aktualisieren, indem du den folgenden Befehl ausführst:

apt update -y

Sobald dein System aktualisiert ist, installierst du Python und andere Abhängigkeiten mit dem folgenden Befehl:

apt install python3-pip wget python3-dev python3-venv python3-wheel libxml2-dev libpq-dev libjpeg8-dev liblcms2-dev libxslt1-dev zlib1g-dev libsasl2-dev libldap2-dev build-essential git libssl-dev libffi-dev libmysqlclient-dev libjpeg-dev libblas-dev libatlas-base-dev -y

Sobald alle Python-Abhängigkeiten installiert sind, installierst du das Paket wkhtmltopdf mit dem folgenden Befehl:

apt-get install wkhtmltopdf -y

Als Nächstes überprüfst du die Version von wkhtmltopdf mit folgendem Befehl:

wkhtmltopdf --version

Du solltest die folgende Ausgabe sehen:

wkhtmltopdf 0.12.6

Da Odoo PostgreSQL als Datenbank-Backend verwendet, musst du es ebenfalls auf deinem Server installieren. Du kannst es mit dem folgenden Befehl installieren:

apt install postgresql -y

Sobald PostgreSQL installiert ist, legst du mit dem folgenden Befehl einen PostgreSQL-Benutzer für Odoo an:

su - postgres -c "createuser -s odoo15"

Odoo 15 installieren und konfigurieren

Bevor du beginnst, solltest du einen eigenen Benutzer für die Odoo-Instanz anlegen. Mit folgendem Befehl kannst du einen neuen Benutzer namens odoo15 anlegen:

useradd -m -d /opt/odoo15 -U -r -s /bin/bash odoo15

Sobald der Benutzer erstellt ist, wechselst du zu Odoo15 und lädst die neueste Version von Odoo mit dem folgenden Befehl herunter:

su - odoo15
git clone https://www.github.com/odoo/odoo --depth 1 --branch 15.0 /opt/odoo15/odoo

Als Nächstes wechselst du das Verzeichnis zu Odoo15 und erstellst mit folgendem Befehl eine virtuelle Python-Umgebung:

cd /opt/odoo15
python3 -m venv odoo15-venv

Als Nächstes aktivierst du die virtuelle Umgebung mit folgendem Befehl:

source odoo15-venv/bin/activate

Als Nächstes installierst du das Wheel-Paket mit dem folgenden Befehl:

pip3 install wheel

Als Nächstes bearbeitest du die Datei requirements.txt und aktualisierst einige Anforderungen:

nano /opt/odoo15/odoo/requirements.txt

Ändere die folgenden Zeilen:

gevent>=20.9.0 ; python_version >= '3.8'
greenlet>=0.4.17 ; python_version > '3.7'

Speichere und schließe die Datei und installiere dann alle Abhängigkeiten mit dem folgenden Befehl:

pip3 install -r odoo/requirements.txt

Sobald alle Abhängigkeiten installiert sind, deaktivierst du die virtuelle Umgebung mit folgendem Befehl:

deactivate

Als Nächstes erstellst du ein Verzeichnis zum Speichern von Odoo-Addons und beendest den Odoo-Benutzer mit dem folgenden Befehl:

mkdir /opt/odoo15/custom-addons
exit

Als Nächstes bearbeitest du die Odoo-Konfigurationsdatei mit dem folgenden Befehl:

nano /etc/odoo15.conf

Füge die folgenden Zeilen hinzu:

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

Speichere und schließe die Datei, erstelle dann ein Verzeichnis für das Odoo-Log und ändere den Eigentümer:

mkdir /var/log/odoo15
chown odoo15:root /var/log/odoo15

Erstellen einer Systemd-Dienstdatei für Odoo 15

Als Nächstes musst du eine systemd-Dienstdatei erstellen, um den Odoo-Dienst zu verwalten. Du kannst sie mit dem folgenden Befehl erstellen:

nano /etc/systemd/system/odoo15.service

Füge die folgenden Zeilen 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/odoo15-venv/bin/python3 /opt/odoo15/odoo/odoo-bin -c /etc/odoo15.conf
StandardOutput=journal+console
[Install]
WantedBy=multi-user.target

Speichere und schließe die Datei und lade den systemd-Daemon mit dem folgenden Befehl neu:

systemctl daemon-reload

Starte als Nächstes den Odoo-Dienst und aktiviere ihn so, dass er beim Neustart des Systems gestartet wird:

systemctl enable --now odoo15

Du kannst nun den Status des Odoo-Dienstes mit folgendem Befehl überprüfen:

systemctl status odoo15

Du solltest den aktiven Status der Odoo-Instanz in der folgenden Ausgabe sehen:

? odoo15.service - Odoo15
     Loaded: loaded (/etc/systemd/system/odoo15.service; enabled; vendor preset: enabled)
     Active: active (running) since Sun 2022-05-22 10:08:36 UTC; 9s ago
   Main PID: 74016 (python3)
      Tasks: 4 (limit: 2292)
     Memory: 110.3M
        CPU: 1.403s
     CGroup: /system.slice/odoo15.service
             ??74016 /opt/odoo15/odoo15-venv/bin/python3 /opt/odoo15/odoo/odoo-bin -c /etc/odoo15.conf

May 22 10:08:36 ubuntu2204 systemd[1]: Started Odoo15.

Nginx als Reverse Proxy für Odoo konfigurieren

Es ist eine gute Idee, Nginx als Reverse Proxy für Odoo zu konfigurieren. Installiere zunächst das Nginx-Paket mit dem folgenden Befehl:

apt-get install nginx -y

Sobald Nginx installiert ist, erstellst du eine Nginx-Konfigurationsdatei für den virtuellen Host von Odoo:

nano /etc/nginx/conf.d/odoo15.conf

Füge die folgenden Zeilen hinzu:

# Odoo servers
upstream odoo {
 server 127.0.0.1:8069;
}

upstream odoochat {
 server 127.0.0.1:8072;
}

server {
    listen 80;
    server_name odoo15.example.com;

    proxy_read_timeout 720s;
    proxy_connect_timeout 720s;
    proxy_send_timeout 720s;

    # Proxy headers
    proxy_set_header X-Forwarded-Host $host;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header X-Forwarded-Proto $scheme;
    proxy_set_header X-Real-IP $remote_addr;

    # log files
    access_log /var/log/nginx/odoo.access.log;
    error_log /var/log/nginx/odoo.error.log;

    # Handle longpoll requests
    location /longpolling {
        proxy_pass http://odoochat;
    }

    # Handle / requests
    location / {
       proxy_redirect off;
       proxy_pass http://odoo;
    }

    # Cache static files
    location ~* /web/static/ {
        proxy_cache_valid 200 90m;
        proxy_buffering on;
        expires 864000;
        proxy_pass http://odoo;
    }

    # Gzip
    gzip_types text/css text/less text/plain text/xml application/xml application/json application/javascript;
    gzip on;
}

Speichere und schließe die Datei und überprüfe dann den Nginx auf Syntaxkonfigurationsfehler:

nginx -t

Du solltest die folgende Ausgabe sehen:

nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

Starte abschließend den Nginx-Dienst neu, um die Änderungen zu übernehmen:

systemctl restart nginx

Als Nächstes bearbeitest du die Odoo-Konfigurationsdatei und aktivierst die Proxy-Einstellung:

nano /etc/odoo15.conf

Füge die folgende Zeile hinzu:

proxy_mode = True

Speichere und schließe die Datei und starte den Odoo-Dienst neu, um die Änderungen zu übernehmen:

systemctl restart odoo15

Jetzt kannst du den Nginx-Status mit folgendem Befehl überprüfen:

systemctl status nginx

Du erhältst die folgende Ausgabe:

? nginx.service - A high performance web server and a reverse proxy server
     Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled)
     Active: active (running) since Sun 2022-05-22 10:10:55 UTC; 18s ago
       Docs: man:nginx(8)
    Process: 74717 ExecStartPre=/usr/sbin/nginx -t -q -g daemon on; master_process on; (code=exited, status=0/SUCCESS)
    Process: 74718 ExecStart=/usr/sbin/nginx -g daemon on; master_process on; (code=exited, status=0/SUCCESS)
   Main PID: 74719 (nginx)
      Tasks: 2 (limit: 2292)
     Memory: 2.6M
        CPU: 28ms
     CGroup: /system.slice/nginx.service
             ??74719 "nginx: master process /usr/sbin/nginx -g daemon on; master_process on;"
             ??74720 "nginx: worker process" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" ""

May 22 10:10:55 ubuntu2204 systemd[1]: Starting A high performance web server and a reverse proxy server...
May 22 10:10:55 ubuntu2204 systemd[1]: Started A high performance web server and a reverse proxy server.

Wenn du damit fertig bist, kannst du auf die Odoo 15-Weboberfläche zugreifen.

Zugriff auf die Odoo 15 Weboberfläche

Öffne nun deinen Webbrowser und rufe die Odoo 15-Weboberfläche über die URL http://odoo15.example.com auf. Du solltest die Seite zur Konfiguration der Odoo 15 Datenbank sehen:

Gib dein Odoo Master-Passwort, deine E-Mail-Adresse und deine Datenbank ein und klicke auf die Schaltfläche Datenbank erstellen. Auf der folgenden Seite solltest du das Odoo 15 Dashboard sehen:

Fazit

Herzlichen Glückwunsch! Du hast Odoo 15 erfolgreich mit Nginx als Reverse Proxy auf Ubuntu 22.04 installiert. Du kannst Odoo jetzt in deinem Unternehmen einsetzen und mit der Verwaltung der Geschäftsprozesse beginnen. Wenn du noch Fragen hast, kannst du dich gerne an mich wenden.

Das könnte dich auch interessieren …