Wie installiere ich Odoo 16 ERP Software auf Debian 12

Odoo (früher bekannt als OpenERP) ist eine selbst gehostete Suite mit über 10.000 Open-Source-Anwendungen, die für verschiedene Geschäftsanforderungen geeignet sind, darunter CRM, eCommerce, Buchhaltung, Inventarisierung, Projektmanagement und Point of Sale. Diese Anwendungen sind vollständig integriert und können über eine gemeinsame Weboberfläche genutzt werden.

Diese Anleitung zeigt dir, wie du Odoo 16 auf einem Debian 12 Server installierst.

Voraussetzungen

  1. Ein Debian 12 basierter Server mit mindestens 2 GB RAM, um Odoo Stack zu hosten.
  2. Ein zweiter Debian 12-basierter Server mit mindestens 2 GB RAM für die PostgreSQL-Datenbank. Du kannst die Datenbank auch auf demselben Server wie Odoo installieren, aber für Produktionsumgebungen wird dringend empfohlen, sie auf einem separaten Server zu installieren. Du kannst auch eine der verwalteten Datenbankoptionen von einem Anbieter deiner Wahl wählen.
  3. Die Anforderungen an den Arbeitsspeicher hängen von der Anzahl der gleichzeitigen Nutzer ab, die den Stack verwenden werden. Eine ausführliche Anleitung zur Berechnung der Systemanforderungen findest du in der Dokumentation von Odoo.
  4. Halte deine Systeme auf dem neuesten Stand.
    $ sudo apt update
    $ sudo apt upgrade
    
  5. Ein Nicht-Root-Benutzer mit sudo-Rechten auf beiden Servern.
  6. Einige wenige Pakete, die deine Systeme benötigen.
    $ sudo apt install wget curl nano ufw software-properties-common dirmngr apt-transport-https gnupg2 ca-certificates lsb-release debian-archive-keyring unzip -y
    

    Einige dieser Pakete sind möglicherweise bereits auf deinem System installiert.

Schritt 1 – Firewall-Regeln konfigurieren

Für diese Anleitung gehen wir davon aus, dass du die ufw Firewall auf beiden Servern installiert hast.

Überprüfe den Status der Firewall.

$ sudo ufw status

Du solltest etwas wie das Folgende sehen.

Status: active

To                         Action      From
--                         ------      ----
OpenSSH                    ALLOW       Anywhere
OpenSSH (v6)               ALLOW       Anywhere (v6)

Auf dem Odoo-Server müssen die Ports 22, 80, 443, 6010, 5432 und 8069 geöffnet sein. 22 wird für SSH, 80 für HTTP, 443 für HTTPS, 6010 für die Odoo-Kommunikation, 5432 für PostgreSQL und 8069 für die Odoo-Serveranwendung verwendet.

Führe die folgenden Befehle aus, um die erforderlichen Ports auf dem Odoo-Server zu öffnen.

$ sudo ufw allow 6010,5432,8069,8072/tcp
$ sudo ufw allow http
$ sudo ufw allow https

Überprüfe den Status der Firewall.

$ sudo ufw status
Status: active

To                         Action      From
--                         ------      ----
OpenSSH                    ALLOW       Anywhere
80/tcp                     ALLOW       Anywhere
443                        ALLOW       Anywhere
5432,6010,8069,8072/tcp    ALLOW       Anywhere
OpenSSH (v6)               ALLOW       Anywhere (v6)
80/tcp (v6)                ALLOW       Anywhere (v6)
443 (v6)                   ALLOW       Anywhere (v6)
5432,6010,8069,8072/tcp (v6) ALLOW     Anywhere (v6)

Auf dem PostgreSQL-Server müssen wir die Ports 22, 6010 und 5432 öffnen. Öffne sie mit den folgenden Befehlen.

$ sudo ufw allow 6010/tcp
$ sudo ufw allow 5432/tcp

Schritt 2 – Hostnamen zuweisen

Du kannst entweder die IP-Adressen der Server verwenden oder ihre Fully Qualified Domain Names (FQDN), falls vorhanden. Für unser Lernprogramm werden wir FQDNs verwenden und müssen daher auf beiden Servern Hostnamen festlegen.

Öffne auf dem Odoo-Server die Datei /etc/hosts.

$ sudo nano /etc/hosts

Stelle sicher, dass sie wie die folgende aussieht.

127.0.0.1 	localhost
127.0.0.1	odoo.yourdomain.com		odoo
10.1.1.10	postgresql.yourdomain.com	postgresql

Auf dem PostgreSQL-Server öffnest du die Datei und stellst sicher, dass sie wie die folgende aussieht.

127.0.0.1 	localhost
127.0.0.1	postgresql.yourdomain.com	postgresql
10.1.2.10	odoo.yourdomain.com		odoo

Drücke Strg + X, um den Editor zu schließen und drücke Y, wenn du zum Speichern der Datei aufgefordert wirst.

Schritt 3 – PostgreSQL installieren und konfigurieren

Debian 12 wird standardmäßig mit PostgreSQL 15 ausgeliefert und wir werden es installieren. Führe den folgenden Befehl auf dem PostgreSQL-Server aus.

$ sudo apt install postgresql-15 postgresql-server-dev-15

Als nächstes müssen wir einen Datenbankbenutzer odoo erstellen. Du wirst nach einem Passwort für diese Rolle gefragt. Gib ein sicheres Passwort deiner Wahl ein.

$ sudo -u postgres createuser odoo -U postgres -dP

Die Option -u führt den Befehl als postgres Benutzer aus.

Die Option -U gibt den Benutzernamen an, mit dem du dich verbinden willst.

Die Option -d gibt dem Benutzer das Recht, Datenbanken zu erstellen.

Mit der Option -p wird das Passwort des neuen Benutzers abgefragt.

Host-basierte Authentifizierung konfigurieren

Wir müssen dem PostgreSQL-Dienst die Berechtigung erteilen, sich mit dem Odoo-Server zu verbinden.

Stoppe zunächst den PostgreSQL-Dienst.

$ sudo systemctl stop postgresql

Öffne die Datei /etc/postgresql/15/main/pg_hba.conf zum Bearbeiten.

$ sudo nano /etc/postgresql/15/main/pg_hba.conf

Füge die folgende Zeile am Ende ein.

host		all		odoo		odoo.yourdomain.com		md5

Diese Zeile erteilt dem Benutzer odoo die Erlaubnis, sich mit allen Datenbanken auf diesem Server zu verbinden. Du kannst auch den Namen der Datenbanken angeben, anstatt das Schlüsselwort all zu verwenden.

Drücke Strg + X, um den Editor zu schließen und drücke Y, wenn du zum Speichern der Datei aufgefordert wirst.

PostgreSQL-Listening-Adresse konfigurieren

Als Nächstes müssen wir dem Datenbankserver erlauben, auf Remote-Verbindungen zu lauschen. Öffne die Datei /etc/postgresql/15/main/postgresql.conf zum Bearbeiten.

$ sudo nano /etc/postgresql/15/main/postgresql.conf

Ändere die Zeile listen_addresses von

#listen_addresses = 'localhost' # what IP address(es) to listen on;

zu.

#From CONNECTIONS AND AUTHENTICATION Section
listen_addresses = '*'

* bedeutet, dass er alle IP-Adressen abhören wird. Du kannst sie in die IP-Adresse deiner Odoo-Instanz ändern.

Drücke Strg + X, um den Editor zu schließen und drücke Y, wenn du zum Speichern der Datei aufgefordert wirst.

Aktiviere und starte den PostgreSQL-Dienst

Da unsere Konfiguration abgeschlossen ist, ist es nun an der Zeit, den PostgreSQL-Dienst zu starten und zu aktivieren.

$ sudo systemctl enable postgresql --now

Schritt 4 – Odoo installieren

Installiere die Abhängigkeiten und bereite die Installation vor

Erstelle einen neuen Systembenutzer für die Verwaltung der Odoo-Prozesse auf dem Odoo-Server.

$ sudo adduser --system --home=/opt/odoo --group odoo

Installiere die Systemabhängigkeiten, die für die Einrichtung von Odoo 16 erforderlich sind.

 $ sudo apt install python3-pip python3-suds python3-all-dev python3-venv python3-dev python3-setuptools python3-tk libxml2-dev libxslt1-dev libevent-dev libsasl2-dev libldap2-dev pkg-config libtiff5-dev libjpeg62-turbo-dev libjpeg-dev zlib1g-dev libfreetype6-dev liblcms2-dev liblcms2-utils libwebp-dev tcl8.6-dev tk8.6-dev libyaml-dev xfonts-75dpi libpq-dev git libzip-dev libopenjp2-7-dev

Installiere Nodejs. Debian 12 wird mit Node 18.x ausgeliefert, der aktuellen LTS-Version von Nodejs. Wir werden jedoch das offizielle Nodesource-Repository dafür verwenden.

Lade den Nodesource GPG-Schlüssel herunter und importiere ihn.

$ sudo apt-get install -y ca-certificates curl gnupg
$ sudo mkdir -p /etc/apt/keyrings
$ curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | sudo gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg

Erstelle das System-Repository.

$ NODE_MAJOR=18
$ echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_$NODE_MAJOR.x nodistro main" | sudo tee /etc/apt/sources.list.d/nodesource.list

Aktualisiere die Liste der Systemrepositorien.

$ sudo apt update

Installiere Nodejs.

$ sudo apt install nodejs

Bestätige die Node-Version.

$ node --version
v18.17.1

Installiere das Less CSS-Paket mit Node. Wenn du eine Sprache mit Rechts-nach-Links-Schnittstelle verwendest, installiere auch das Paket rtlcss.

$ sudo npm install -g less rtlcss

Installiere wkhtmltopdf. Es ist als Debian-Systempaket verfügbar.

$ sudo apt install wkhtmltopdf

Überprüfe die installierte Version von wkhtmltopdf.

$ wkhtmltopdf --version
wkhtmltopdf 0.12.6

Odoo-Dateien herunterladen

Klone das Github-Repository von Odoo auf dein System.

$ sudo git clone https://github.com/odoo/odoo.git --depth 1 --branch 16.0 --single-branch /opt/odoo

Für unseren Zweck kopieren wir Odoo in das Verzeichnis /opt/odoo, von wo aus es installiert werden soll.

Virtualenv Python-Umgebung einrichten

Dieser Schritt ist optional, wird aber empfohlen, da eine virtuelle Python-Umgebung für Odoo dazu beiträgt, Konflikte mit Python-Modulen des Betriebssystems zu vermeiden, insbesondere bei Betriebssystem-Upgrades.

Hierfür verwenden wir virtualenv.

  1. Erstelle eine neue virtualenv Umgebung für Odoo.
    $ python3 -m venv /home/<username>/odoo-env
    
  2. Aktiviere die virtuelle Umgebung. Wir erstellen eine Umgebung unter dem Home-Verzeichnis des Systembenutzers. Du kannst den Ort frei wählen.
    $ source /home/<username>/odoo-env/bin/activate
    
  3. Aktualisiere vorsichtshalber PIP.
    (odoo-env) $ pip3 install --upgrade pip
    
  4. Installiere das Python-Rad in der virtuellen Umgebung.
    $ pip3 install wheel
    

Python-Abhängigkeiten installieren

Installiere die Python-Abhängigkeiten, die für Odoo 16 erforderlich sind.

$ pip3 install -r /opt/odoo/requirements.txt

Die Installation der Anforderungen wird einige Zeit in Anspruch nehmen, habe also etwas Geduld.

Überprüfe, ob die Anforderungen korrekt installiert wurden, indem du die Liste der installierten Python-Module überprüfst.

$ pip3 list
Package           Version
----------------- ---------
appdirs           1.4.4
attrs             23.1.0
Babel             2.9.1
beautifulsoup4    4.12.2
cached-property   1.5.2
certifi           2023.7.22
cffi              1.15.1
chardet           4.0.0
cryptography      3.4.8
decorator         4.4.2
defusedxml        0.7.1
docopt            0.6.2
docutils          0.16
ebaysdk           2.1.5
freezegun         0.3.15
gevent            22.10.2
greenlet          2.0.2
idna              2.10
isodate           0.6.1
Jinja2            3.1.2
libsass           0.20.1
lxml              4.9.2
MarkupSafe        2.1.2
num2words         0.5.9
ofxparse          0.21
passlib           1.7.4
Pillow            9.4.0
pip               23.2.1
polib             1.1.0
psutil            5.9.4
psycopg2          2.9.5
pyasn1            0.5.0
pyasn1-modules    0.3.0
pycparser         2.21
pydot             1.4.2
pyOpenSSL         20.0.1
pyparsing         3.1.1
PyPDF2            2.12.1
pyserial          3.5
python-dateutil   2.8.1
python-ldap       3.4.0
python-stdnum     1.16
pytz              2023.3
pyusb             1.2.1
qrcode            6.1
reportlab         3.6.12
requests          2.25.1
requests-file     1.5.1
requests-toolbelt 1.0.0
setuptools        66.1.1
six               1.16.0
soupsieve         2.5
urllib3           1.26.5
vobject           0.9.6.1
Werkzeug          2.0.2
wheel             0.41.2
xlrd              1.2.0
XlsxWriter        1.1.2
xlwt              1.3.0
zeep              4.0.0
zope.event        5.0
zope.interface    6.0

Beende die virtuelle Python-Umgebung.

$ deactivate

Python-Pakete installieren

Odoo 16 benötigt einige weitere Python-Pakete, die in der Datei /opt/odoo/debian/control aufgeführt sind. Wechsle in das Verzeichnis /opt/odoo.

$ cd /opt/odoo

Führe den folgenden Befehl aus, um die erforderlichen Python-Pakete zu installieren.

$ sed -n -e '/^Depends:/,/^Pre/ s/ python3-\(.*\),/python3-\1/p' debian/control | sudo xargs apt-get install -y

Schritt 5 – Odoo konfigurieren

Kopiere die Standardkonfigurationsdatei von Odoo, um eine neue Datei zu erstellen.

$ sudo cp /opt/odoo/debian/odoo.conf /etc/odoo-server.conf

Öffne die Datei zum Bearbeiten.

$ sudo nano /etc/odoo-server.conf

Bearbeite die Datei so, dass sie wie die folgende aussieht.

[options]
; This is the password that allows database operations:
admin_passwd = admin
db_host = postgresql.yourdomain.com
db_port = False
db_user = odoo
db_password = odoo_password
addons_path = /opt/odoo/addons
xmlrpc_port = 8069
default_productivity_apps = True

Drücke Strg + X, um den Editor zu schließen und drücke Y, wenn du zum Speichern der Datei aufgefordert wirst.

Die Option admin_passwd ist das Passwort, das administrative Operationen innerhalb der Odoo-GUI ermöglicht. Achte darauf, dass du ein sicheres Passwort wählst.

Die Option db_host ist der FQDN oder die IP-Adresse des PostgreSQL-Servers.

Die Option db_port ist auf false gesetzt, da der Standard-PostgreSQL-Port 5432 verwendet wird. Wenn du einen anderen Port verwenden möchtest, musst du diesen Wert aktualisieren.

Die Option db_user ist der Name des PostgreSQL-Benutzers.

Die Option db_password ist das Passwort des PostgreSQL-Benutzers „odoo“, das wir zuvor auf dem PostgreSQL-Server erstellt haben.

Die Option addons_path ist der Standardpfad für Addons. Du kannst auch einen benutzerdefinierten Pfad für Addons hinzufügen, indem du sie mit Kommas trennst.

Die Option xmlrpc_port ist der Port, auf dem Odoo lauscht.

Die Option default_productivity_apps stellt sicher, dass die Standard-Produktivitäts-Apps (nämlich Mitarbeiter, E-Mail-Marketing, Projekt und Umfragen) aktiviert bleiben. Diese vier Apps sind die Standardanwendungen der Odoo Community Edition. In der Enterprise Edition gibt es weitere Produktivitäts-Apps, die standardmäßig aktiviert werden können, nämlich Termine, Wissen, Planung und Unterschrift.

Odoo-Dienst erstellen

Um sicherzustellen, dass Odoo auch nach einem Systemneustart weiterläuft, müssen wir einen Dienst dafür erstellen.

Erstelle eine Datei /lib/systemd/system/odoo-server.service und öffne sie zur Bearbeitung.

$ sudo nano /lib/systemd/system/odoo-server.service

Füge den folgenden Code in die Datei ein.

[Unit]
Description=Odoo Open Source ERP and CRM
After=network.target

[Service]
Type=simple
SyslogIdentifier=odoo-server
User=odoo
Group=odoo
ExecStart=python3 /opt/odoo/odoo-bin --config=/etc/odoo-server.conf --addons-path=/opt/odoo/addons/ --logfile /var/log/odoo/odoo-server.log
WorkingDirectory=/opt/odoo/
StandardOutput=journal+console
KillMode=mixed

[Install]
WantedBy=multi-user.target

Ersetze /home/<username> durch den Ort, den du für die Installation der virtuellen Python-Umgebung gewählt hast.

Drücke Strg + X, um den Editor zu schließen und drücke Y, wenn du aufgefordert wirst, die Datei zu speichern.

Erstelle ein Log-Verzeichnis für Odoo

$ sudo mkdir /var/log/odoo

Dateiberechtigungen festlegen

Lege die Berechtigungen für die Datei odoo-server.service so fest, dass nur Odoo-Benutzer sie lesen oder ausführen können.

$ sudo chmod 755 /lib/systemd/system/odoo-server.service
$ sudo chown odoo: /lib/systemd/system/odoo-server.service

Lege die Eigentumsrechte für die Python-Umgebung, die Odoo-Installation und das Log-Verzeichnis fest.

$ sudo chown -R odoo: /opt/odoo/
$ sudo chown -R odoo: /home/<username>/odoo-env
$ sudo chown -R odoo: /var/log/odoo

Schränke die Konfigurationsdatei von Odoo ein.

$ sudo chown odoo: /etc/odoo-server.conf
$ sudo chmod 640 /etc/odoo-server.conf

Starten Sie den Odoo-Server

Starte und aktiviere den Odoo-Server.

$ sudo systemctl start odoo-server
$ sudo systemctl enable odoo-server

Überprüfe den Status des Servers.

$ sudo systemctl status odoo-server
? odoo-server.service - Odoo Open Source ERP and CRM
     Loaded: loaded (/lib/systemd/system/odoo-server.service; enabled; preset: enabled)
     Active: active (running) since Mon 2023-09-04 14:19:38 UTC; 27s ago
   Main PID: 8954 (python3)
      Tasks: 4 (limit: 2315)
     Memory: 131.1M
        CPU: 1.625s
     CGroup: /system.slice/odoo-server.service
             ??8954 python3 /opt/odoo/odoo-bin --config=/etc/odoo-server.conf --addons-path=/opt/odoo/addons/ --logfile /var/log/odoo/odoo-server.log

Sep 04 14:19:38 odoo systemd[1]: Started odoo-server.service - Odoo Open Source ERP and CRM.

Öffne in deinem Browser die URL http://<yourIPaddress>:8069 oder http://odoo.yourdomain.com:8069. Wenn alles ordnungsgemäß funktioniert, solltest du den Bildschirm zur Erstellung der Odoo-Datenbank sehen.

Odoo Datenbank Erstellung Seite

Fülle alle Felder aus. Aktiviere das Feld Demo Data, um die Datenbank mit Beispieldaten zu füllen, und klicke dann auf die Schaltfläche Datenbank erstellen.

Als Nächstes wird dir eine Liste von Anwendungen angezeigt, die du auswählen kannst.

Wenn du zum ersten Mal eine Datenbank erstellst, dauert es eine Weile, bis die Seite mit den Addons geladen ist.

Schritt 6 – Nginx installieren und konfigurieren

Debian 12 wird mit einer älteren Version von Nginx ausgeliefert. Um die neueste Version zu installieren, musst du das offizielle Nginx-Repository herunterladen.

Importiere den Signierschlüssel von Nginx.

$ curl https://nginx.org/keys/nginx_signing.key | gpg --dearmor \
    | sudo tee /usr/share/keyrings/nginx-archive-keyring.gpg >/dev/null

Füge das Repository für die stabile Version von Nginx hinzu.

$ echo "deb [signed-by=/usr/share/keyrings/nginx-archive-keyring.gpg] \
http://nginx.org/packages/debian `lsb_release -cs` nginx" \
    | sudo tee /etc/apt/sources.list.d/nginx.list

Aktualisiere die System-Repositories.

$ sudo apt update

Installiere Nginx.

$ sudo apt install nginx

Überprüfe die Installation. Auf Debian-Systemen funktioniert der folgende Befehl nur mit sudo.

$ sudo nginx -v
nginx version: nginx/1.24.0

Starte Nginx.

$ sudo systemctl start nginx

Überprüfe den Status des Dienstes.

$ sudo systemctl status nginx
? nginx.service - nginx - high performance web server
     Loaded: loaded (/lib/systemd/system/nginx.service; enabled; preset: enabled)
     Active: active (running) since Tue 2023-09-05 06:29:17 UTC; 1s ago
       Docs: https://nginx.org/en/docs/
    Process: 13958 ExecStart=/usr/sbin/nginx -c /etc/nginx/nginx.conf (code=exited, status=0/SUCCESS)
   Main PID: 13959 (nginx)
      Tasks: 2 (limit: 2315)
     Memory: 1.7M
        CPU: 10ms
     CGroup: /system.slice/nginx.service
             ??13959 "nginx: master process /usr/sbin/nginx -c /etc/nginx/nginx.conf"
             ??13960 "nginx: worker process"

Schritt 7 – SSL installieren

Wir müssen Certbot installieren, um die von Let’s Encrypt angebotenen kostenlosen SSL-Zertifikate zu generieren.

Du kannst Certbot entweder über das Repository von Debian installieren oder die neueste Version mit dem Snapd-Tool herunterladen. Wir werden die Snapd-Version verwenden.

Bei Debian 12 ist Snapd noch nicht installiert. Installiere das Snapd-Paket.

$ sudo apt install snapd

Führe die folgenden Befehle aus, um sicherzustellen, dass deine Version von Snapd auf dem neuesten Stand ist.

$ sudo snap install core
$ sudo snap refresh core

Installiere Certbot.

$ sudo snap install --classic certbot

Verwende den folgenden Befehl, um sicherzustellen, dass der Certbot-Befehl ausgeführt werden kann, indem du einen symbolischen Link zum Verzeichnis /usr/bin erstellst.

$ sudo ln -s /snap/bin/certbot /usr/bin/certbot

Überprüfe, ob Certbot richtig funktioniert.

$ certbot --version
certbot 2.6.0

Erstelle das Zertifikat. Wir müssen auch ein DHParams-Zertifikat erstellen.

$ sudo certbot certonly --nginx --agree-tos --no-eff-email --staple-ocsp --preferred-challenges http -m email@yourdomain.com -d odoo.yourdomain.com

Erstelle ein Diffie-Hellman Key-exchange Zertifikat.

$ sudo openssl dhparam -dsaparam -out /etc/ssl/certs/dhparam.pem 4096

Überprüfe den Certbot-Erneuerungszeitplanungsdienst.

$ sudo systemctl list-timers

Du findest snap.certbot.renew.service als einen der Dienste, die für die Ausführung vorgesehen sind.

NEXT                        LEFT          LAST                        PASSED        UNIT                      ACTIVATES
.....
Sun 2023-02-26 06:32:00 UTC 9h left       Sat 2023-02-25 18:04:05 UTC 2h 59min ago  snap.certbot.renew.timer  snap.certbot.renew.service
Sun 2023-02-26 06:43:20 UTC 9h left       Sat 2023-02-25 10:49:23 UTC 10h ago       apt-daily-upgrade.timer   apt-daily-upgrade.service
Sun 2023-02-26 09:00:06 UTC 11h left      Sat 2023-02-25 20:58:06 UTC 5min ago      apt-daily.timer           apt-daily.service

Führe einen Probelauf des Prozesses durch, um zu prüfen, ob die SSL-Erneuerung einwandfrei funktioniert.

$ sudo certbot renew --dry-run

Wenn du keine Fehler siehst, bist du bereit. Dein Zertifikat wird automatisch erneuert.

Schritt 8 – Nginx konfigurieren

Um den Prozess über Nginx laufen zu lassen, muss Odoo auf localhost laufen. Um das zu ändern, stoppst du den Odoo-Dienst.

$ sudo systemctl stop odoo-server

Öffne die Konfigurationsdatei des Odoo-Servers.

$ sudo nano /etc/odoo-server.conf

Füge die folgenden Zeilen hinzu.

xmlrpc_interface = 127.0.0.1
proxy_mode = True

Erstelle eine Nginx-Konfigurationsdatei für Odoo.

$ sudo nano /etc/nginx/conf.d/odoo.conf

Füge den unten stehenden Code ein.

#odoo server
upstream odoo {
 server 127.0.0.1:8069;
}
upstream odoochat {
 server 127.0.0.1:8072;
}

# http -> https
server {
   listen 80;
   listen [::]:80;
   server_name odoo.yourdomain.com;
   return 301 https://$host$request_uri;
}

server {
 listen 443 ssl http2;
 listen [::]:443 ssl http2;
 server_name odoo.yourdomain.com;

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

 # Add Headers for odoo proxy mode
 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;

 # SSL parameters
 ssl_certificate /etc/letsencrypt/live/odoo.yourdomain.com/fullchain.pem;
 ssl_certificate_key /etc/letsencrypt/live/odoo.yourdomain.com/privkey.pem;
 ssl_trusted_certificate /etc/letsencrypt/live/odoo.yourdomain.com/chain.pem;
 
 ssl_session_timeout 1d;
 ssl_session_cache shared:MozSSL:10m;  # about 40000 sessions
 ssl_session_tickets off;
 
 ssl_protocols TLSv1.2 TLSv1.3;
 ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384;
 ssl_ecdh_curve X25519:prime256v1:secp384r1:secp521r1;
 ssl_prefer_server_ciphers off;
 ssl_stapling on;
 ssl_stapling_verify on;
 ssl_dhparam /etc/ssl/certs/dhparam.pem;

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

 # Redirect longpoll requests to odoo longpolling port
 location /longpolling {
 proxy_pass http://odoochat;
 }

 # Redirect requests to odoo backend server
 location / {
   proxy_redirect off;
   proxy_pass http://odoo;
 }

 # common gzip
 gzip_types text/css text/scss text/plain text/xml application/xml application/json application/javascript;
 gzip on;
}

Drücke Strg + X, um den Editor zu schließen und drücke Y, wenn du zum Speichern der Datei aufgefordert wirst.

Öffne die Datei /etc/nginx/nginx.conf zur Bearbeitung.

$ sudo nano /etc/nginx/nginx.conf

Füge die folgende Zeile vor der Zeile include /etc/nginx/conf.d/*.conf; ein.

server_names_hash_bucket_size  64;

Speichere die Datei, indem du Strg + X drückst und Y eingibst, wenn du dazu aufgefordert wirst.

Teste die Nginx-Konfiguration.

$ sudo nginx -t

Wenn du keine Fehler siehst, bist du startklar. Starte den Nginx-Server neu.

$ sudo systemctl restart nginx

Schritt 9 – Odoo starten

Jetzt, wo alles eingerichtet ist, können wir den Odoo-Server wieder starten.

$ sudo systemctl start odoo-server

Starte Odoo in deinem Browser über https://odoo.yourdomain.com. Du erhältst den oben beschriebenen Bildschirm. Gib die erforderlichen Daten ein, um die Datenbank zu erstellen, und du wirst auf die Odoo-Anmeldeseite weitergeleitet.

Odoo Login Seite

Gib die Anmeldedaten ein, die du im vorherigen Schritt verwendet hast, um dich bei Odoo ERP anzumelden. Sie ist bereits mit den Demodaten ausgefüllt. Wenn du die Option Demodaten auf der Seite zur Erstellung der Datenbank nicht aktiviert hast, erhältst du ein anderes, viel übersichtlicheres Dashboard.

Odoo Dashboard

Von hier an kannst du Odoo für die Verwaltung deines Unternehmens nutzen.

Fazit

Damit ist unser Tutorium zur Installation von Odoo auf dem Debian 12 Server abgeschlossen. Wenn du noch Fragen hast, schreibe sie unten in die Kommentare.

Das könnte dich auch interessieren …