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.