So installierst du Odoo auf Alma Linux

Odoo ist eine kostenlose, quelloffene und eine der beliebtesten Suiten von Geschäftsanwendungen, die Unternehmen bei der Führung und Verwaltung ihres Geschäfts unterstützen. Es bietet eine breite Palette von Funktionen wie CRM, Rechnungsstellung, Buchhaltung, Fertigung, Lager, Inventar, Projektmanagement und mehr. Sie ist in Python geschrieben und nutzt PostgreSQL als Datenbank-Backend. Wenn du auf der Suche nach einer Open-Source-CRM- und ERP-Anwendung für dein Unternehmen bist, ist Odoo die beste Wahl.

In diesem Beitrag wird die Installation von Odoo mit Nginx auf Alma Linux 8 erklärt.

Voraussetzungen

  • Ein Server, auf dem Alma Linux 8 läuft.
  • Ein gültiger Domainname ist mit der IP deines Servers verknüpft.
  • Ein Root-Passwort ist auf dem Server konfiguriert.

Erforderliche Abhängigkeiten installieren

Bevor du beginnst, musst du Python, PostgreSQL und einige andere Abhängigkeiten auf deinem Server installieren. Installiere zunächst Python und andere Abhängigkeiten mit dem folgenden Befehl:

dnf install python3 python3-devel git gcc git redhat-rpm-config libxslt-devel bzip2-devel openldap-devel libjpeg-devel freetype-devel -y

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

dnf install https://github.com/wkhtmltopdf/wkhtmltopdf/releases/download/0.12.5/wkhtmltox-0.12.5-1.centos8.x86_64.rpm

Als Nächstes installierst du den PostgreSQL-Datenbankserver mit dem folgenden Befehl:

dnf install @postgresql:12 -y

Sobald PostgreSQL installiert ist, kannst du die Datenbank mit dem folgenden Befehl initialisieren:

/usr/bin/postgresql-setup initdb

Starte und aktiviere den PostgreSQL-Dienst mit dem folgenden Befehl:

systemctl start postgresql
systemctl enable postgresql

Als Nächstes musst du einen Benutzer für Odoo in PostgreSQL anlegen. Du kannst ihn mit dem folgenden Befehl anlegen:

su - postgres -c "createuser -s odoo14"

Sobald du damit fertig bist, kannst du mit dem nächsten Schritt fortfahren.

Odoo14 auf Alma Linux 8 installieren

Erstelle zunächst mit dem folgenden Befehl einen eigenen Benutzer für Odoo:

useradd -m -U -r -d /opt/odoo -s /bin/bash odoo14

Melde dich dann mit dem Benutzer Odoo14 an und lade den Quellcode von Odoo14 aus dem Git-Repository herunter:

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

Wechsle dann in das Odoo-Verzeichnis und erstelle eine virtuelle Python-Umgebung:

cd /opt/odoo
python3 -m venv odoo14-venv

Aktiviere als Nächstes die virtuelle Python-Umgebung mit dem folgenden Befehl:

source odoo14-venv/bin/activate

Als Nächstes installierst du alle erforderlichen Python-Abhängigkeiten mit dem folgenden Befehl:

pip3 install -r odoo14/requirements.txt

Sobald alle Abhängigkeiten installiert sind, deaktivierst du die virtuelle Python-Umgebung mit dem folgenden Befehl:

deactivate

Zum Schluss beendest du den Odoo14-Benutzer mit dem folgenden Befehl:

exit

Odoo14 konfigurieren

Als Nächstes erstellst du mit folgendem Befehl das erforderliche Verzeichnis für Odoo:

mkdir /opt/odoo/odoo14-custom-addons
mkdir /var/log/odoo14 && touch /var/log/odoo14/odoo.log

Lege mit folgendem Befehl die richtigen Eigentumsverhältnisse fest:

chown odoo14: /opt/odoo/odoo14-custom-addons
chown -R odoo14: /var/log/odoo14/

Als Nächstes erstellst du eine Odoo-Konfigurationsdatei:

nano /etc/odoo.conf

Füge den folgenden Inhalt hinzu:

[options]
admin_passwd = odoomasterpassword
db_host = False
db_port = False
db_user = odoo14
db_password = False
xmlrpc_port = 8069
logfile = /var/log/odoo14/odoo.log
logrotate = True
addons_path = /opt/odoo/odoo14/addons,/opt/odoo/odoo14-custom-addons

Speichere und schließe die Datei, wenn du fertig bist.

Erstellen einer Systemd-Dienstdatei für Odoo14

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

nano /etc/systemd/system/odoo14.service

Füge die folgenden Zeilen ein:

[Unit]
Description=Odoo14

[Service]
Type=simple
SyslogIdentifier=odoo14
PermissionsStartOnly=true
User=odoo14
Group=odoo14
ExecStart=/opt/odoo/odoo14-venv/bin/python3 /opt/odoo/odoo14/odoo-bin -c /etc/odoo.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 und aktiviere dann den Odoo-Dienst mit dem folgenden Befehl:

systemctl start odoo14
systemctl enable odoo14

Jetzt kannst du den Status des Odoo-Dienstes mit dem folgenden Befehl überprüfen:

systemctl status odoo14

Du erhältst die folgende Ausgabe:

? odoo14.service - Odoo14
   Loaded: loaded (/etc/systemd/system/odoo14.service; enabled; vendor preset: disabled)
   Active: active (running) since Thu 2022-01-04 00:44:36 EST; 5s ago
 Main PID: 45125 (python3)
    Tasks: 4 (limit: 25014)
   Memory: 60.9M
   CGroup: /system.slice/odoo14.service
           ??45125 /opt/odoo14/venv/bin/python3 /opt/odoo/odoo14/odoo-bin -c /etc/odoo14.conf

Feb 04 00:44:36 rockylinux8 systemd[1]: Started Odoo14.
Feb 04 00:44:37 rockylinux8 odoo14[45125]: /opt/odoo14/venv/lib64/python3.6/site-packages/psycopg2/__init__.py:144: UserWarning: The psycopg2 whee>
Feb 04 00:44:37 rockylinux8 odoo14[45125]:   """)
Feb 04 00:44:37 rockylinux8 odoo14[45125]: 2022-01-04 05:44:37,761 45125 INFO ? odoo: Odoo version 14.0
Feb 04 00:44:37 rockylinux8 odoo14[45125]: 2022-01-04 05:44:37,762 45125 INFO ? odoo: Using configuration file at /etc/odoo.conf
Feb 04 00:44:37 rockylinux8 odoo14[45125]: 2022-01-04 05:44:37,762 45125 INFO ? odoo: addons paths: ['/opt/odoo/odoo14/odoo/addons', '/opt/odoo14/>
Feb 04 00:44:37 rockylinux8 odoo14[45125]: 2022-01-04 05:44:37,762 45125 INFO ? odoo: database: odoo14@default:default
Feb 04 00:44:38 rockylinux8 odoo14[45125]: 2022-01-04 05:44:38,057 45125 INFO ? odoo.addons.base.models.ir_actions_report: Will use the Wkhtmltopd>
Feb 04 00:44:38 rockylinux8 odoo14[45125]: 2022-01-04 05:44:38,437 45125 INFO ? odoo.service.server: HTTP service (werkzeug) running on rockylinux8:80>

Zu diesem Zeitpunkt ist Odoo14 gestartet und lauscht auf Port 8069. Du kannst das mit dem folgenden Befehl überprüfen:

ss -antpl | grep 8069

Du erhältst die folgende Ausgabe:

LISTEN 0      128          0.0.0.0:8069      0.0.0.0:*    users:(("python3",pid=27781,fd=5))   

Nginx für Odoo14 konfigurieren

Als Nächstes musst du Nginx als Reverse Proxy für Odoo14 installieren und konfigurieren. Installiere zunächst das Nginx-Paket mit dem folgenden Befehl:

dnf install nginx -y

Als Nächstes erstellst du eine Konfigurationsdatei für den virtuellen Nginx-Host mit folgendem Befehl:

nano /etc/nginx/conf.d/odoo14.conf

Füge den folgenden Inhalt hinzu:

upstream odooserver {
 server 127.0.0.1:8069;
}

server {
    listen 80;
    server_name odoo14.example.com;
    access_log /var/log/nginx/odoo_access.log;
    error_log /var/log/nginx/odoo_error.log;


    # Proxy settings
    proxy_read_timeout 720s;
    proxy_connect_timeout 720s;
    proxy_send_timeout 720s;
    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;

    # Request for root domain
    location / {
       proxy_redirect off;
       proxy_pass http://odooserver;
    }

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

    # 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 Nginx mit dem folgenden Befehl auf Syntaxfehler:

nginx -t

Du erhältst die folgende Ausgabe:

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

Starte und aktiviere den Nginx-Dienst mit dem folgenden Befehl:

systemctl start nginx
systemctl enable nginx

Du kannst den Nginx-Status auch mit dem folgenden Befehl überprüfen:

systemctl status nginx

Du erhältst die folgende Ausgabe:

? nginx.service - The nginx HTTP and reverse proxy server
   Loaded: loaded (/usr/lib/systemd/system/nginx.service; disabled; vendor preset: disabled)
   Active: active (running) since Sat 2022-01-15 15:57:16 UTC; 5s ago
  Process: 28148 ExecStart=/usr/sbin/nginx (code=exited, status=0/SUCCESS)
  Process: 28146 ExecStartPre=/usr/sbin/nginx -t (code=exited, status=0/SUCCESS)
  Process: 28144 ExecStartPre=/usr/bin/rm -f /run/nginx.pid (code=exited, status=0/SUCCESS)
 Main PID: 28149 (nginx)
    Tasks: 5 (limit: 49497)
   Memory: 7.5M
   CGroup: /system.slice/nginx.service
           ??28149 nginx: master process /usr/sbin/nginx
           ??28150 nginx: worker process
           ??28151 nginx: worker process
           ??28152 nginx: worker process
           ??28153 nginx: worker process

Jan 15 15:57:16 almalinux8 systemd[1]: Starting The nginx HTTP and reverse proxy server...
Jan 15 15:57:16 almalinux8 nginx[28146]: nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
Jan 15 15:57:16 almalinux8 nginx[28146]: nginx: configuration file /etc/nginx/nginx.conf test is successful
Jan 15 15:57:16 almalinux8 systemd[1]: Started The nginx HTTP and reverse proxy server.

Als Nächstes bearbeitest du die Odoo-Konfigurationsdatei:

nano /etc/odoo.conf

Füge die folgende Zeile am Ende der Datei hinzu, um den Proxy zu aktivieren:

proxy_mode = True

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

systemctl restart odoo14

Wenn du damit fertig bist, kannst du mit dem nächsten Schritt fortfahren.

Firewall konfigurieren

Als Nächstes musst du Port 80 in der Firewall zulassen. Du kannst ihn mit dem folgenden Befehl zulassen:

firewall-cmd --add-service=http --permanent

Lade dann die Firewall neu, um die Änderungen zu übernehmen:

firewall-cmd --reload

Sobald du damit fertig bist, kannst du mit dem nächsten Schritt fortfahren.

Zugriff auf die Odoo14-Weboberfläche

Öffne nun deinen Webbrowser und rufe die Odoo14-Weboberfläche über die URL http://odoo14.example.com auf. Du solltest den folgenden Bildschirm sehen:

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

Du hast Odoo erfolgreich mit Nginx auf Alma Linux 8 installiert. Du kannst Odoo nun für die Verwaltung deines Unternehmens und deiner Abläufe einsetzen.

Das könnte dich auch interessieren …