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.