Odoo ist eine kostenlose, quelloffene und beliebteste ERP-Software, die eine breite Palette von Geschäftsanwendungen bietet, darunter Kundenbeziehungsmanagement (CRM), Vertriebspipeline, Projektmanagement, Fertigung , Rechnungsstellung, Buchhaltung, E-Commerce und viele mehr. Es ist eine webbasierte und voll funktionsfähige Anwendung, die Ihnen hilft, das ERP in jedem Unternehmen zu warten. Odoo wird mit 30 Kernmodulen und mehr als 4500 von der Community erstellten Modulen geliefert, die Ihnen helfen, es von einem kleinen Shop zu einem Unternehmen auf Unternehmensebene anzupassen.
In diesem Tutorial lernen wir, wie man Odoo 13 mit Nginx als Reverse-Proxy auf einem CentOS 8-Server installiert und konfiguriert.
Anforderungen
- Ein Server mit CentOS 8 und mindestens 2 GB RAM.
- Ein gültiger Domänenname, der auf Ihre Server-IP verweist. In diesem Tutorial verwenden wir die Domain exmaple.com..
- Auf dem Server ist ein Root-Passwort konfiguriert.
Erste Schritte
Aktualisieren Sie zuerst das System und installieren Sie das EPEL-Repository mit dem folgenden Befehl:
dnf update
dnf install epel-release
Als Nächstes müssen Sie einige Tools und Abhängigkeiten installieren, die zum Erstellen von Odoo auf Ihrem System erforderlich sind.
Sie können alle mit dem folgenden Befehl installieren:
dnf install python36 python36-devel git gcc wget nodejs libxslt-devel bzip2-devel openldap-devel libjpeg-devel freetype-devel
Sobald alle Pakete installiert sind, können Sie mit dem nächsten Schritt fortfahren.
Odoo-Benutzer erstellen
Als nächstes müssen Sie mit dem folgenden Befehl einen neuen Systembenutzer mit dem Namen odoo und dem Home-Verzeichnis /opt/odoo erstellen:
useradd -m -U -r -d /opt/odoo -s /bin/bash odoo
Sobald Sie fertig sind, können Sie mit dem nächsten Schritt fortfahren.
PostgreSQL installieren und konfigurieren
Odoo verwendet PostgreSQL, um seine Daten zu speichern. Sie müssen also PostgreSQL auf Ihrem Server installieren. Sie können es mit dem folgenden Befehl installieren:
dnf install postgresql postgresql-server postgresql-contrib
Initialisieren Sie die Datenbank nach der Installation mit dem folgenden Befehl:
/usr/bin/postgresql-setup initdb
Sie sollten die folgende Ausgabe erhalten:
* Initialisieren der Datenbank in '/var/lib/pgsql/data' * Initialisiert, Protokolle sind in /var/lib/pgsql/initdb_postgresql.log
Starten Sie als Nächstes den PostgreSQL-Dienst und aktivieren Sie ihn nach dem Systemneustart mit dem folgenden Befehl:
systemctl postgresql starten
systemctl postgresql aktivieren
Sie können nun PostgreSQL mit dem folgenden Befehl überprüfen:
Systemctl-Status postgresql
Sie sollten die folgende Ausgabe sehen:
Als nächstes müssen Sie einen neuen PostgreSQL-Benutzer mit dem gleichen Namen wie der Systembenutzer erstellen, wie unten gezeigt:
su - postgres -c "createuser -s odoo"
Installieren Sie Wkhtmltopdf
Als nächstes müssen Sie das Tool wkhtmltopdf in Ihrem System installieren, damit Odoo PDF-Berichte drucken kann. Sie können es mit dem folgenden Befehl installieren:
wget https://downloads.wkhtmltopdf.org/0.12/0.12.5/wkhtmltox-0.12.5-1.centos7.x86_64.rpm
dnf localinstall wkhtmltox-0.12.5-1.centos7.x86_64 .rpm
Nach der Installation können Sie mit dem nächsten Schritt fortfahren.
Installieren und konfigurieren Sie Odoo 13
Wechseln Sie zunächst mit folgendem Befehl zum Odoo-Benutzer:
su - odoo
Laden Sie als Nächstes die neueste Version von Odoo 13 aus dem Git-Repository mit dem Befehl git herunter:
git-Klon https://www.github.com/odoo/odoo --depth 1 --branch 13.0 /opt/odoo/odoo13
Erstellen Sie als Nächstes mit dem folgenden Befehl eine neue virtuelle Umgebung für die Odoo 13-Instanz:
cd /opt/odoo
python3 -m venv odoo13-venv
Als nächstes aktivieren Sie die virtuelle Umgebung mit dem folgenden Befehl:
source odoo13-venv/bin/activate
Sie sollten die folgende Ausgabe erhalten:
(odoo13-venv) [[email protected] ~]$
Installieren Sie als Nächstes alle erforderlichen Python-Module für Odoo 13 mit dem folgenden Befehl:
pip3 install -r odoo13/requirements.txt
Sobald alle erforderlichen Module installiert sind, deaktivieren Sie die virtuelle Umgebung mit dem folgenden Befehl:
deaktivieren
Verlassen Sie schließlich den Odoo-Benutzer mit dem folgenden Befehl:
beenden
Als nächstes erstellen Sie ein neues Verzeichnis, um die benutzerdefinierten Odoo-Module und Odoo-Protokolle zu speichern:
mkdir /opt/odoo/odoo13-custom-addons
mkdir /var/log/odoo13
touch /var/log/odoo13/odoo.log
Als nächstes ändern Sie den Besitz beider Verzeichnisse mit dem folgenden Befehl auf den odoo-Benutzer:
chown -R odoo:odoo /opt/odoo/odoo13-custom-addons
chown -R odoo:odoo /var/log/odoo13/
Als nächstes erstellen Sie eine neue Konfigurationsdatei für Odoo 13 mit dem folgenden Befehl:
nano /etc/odoo.conf
Fügen Sie die folgenden Zeilen hinzu:
[options]admin_passwd =[email protected]db_host =Falsedb_port =Falsedb_user =odoodb_password =Falsexmlrpc_port =8069logfile =/var/log/odoo13/odoo.loglogrotate =Trueaddons_path =/opt/odoo/odoo13/addons,/opt/odoo /odoo13-custom-addons
Speichern und schließen Sie die Datei, wenn Sie fertig sind.
Erstellen Sie eine Systemd-Dienstdatei für Odoo 13
Als Nächstes müssen Sie eine neue systemd-Einheitendatei für Odoo 13 erstellen, um den Odoo-Dienst zu verwalten.
Sie können es mit dem folgenden Befehl erstellen:
nano /etc/systemd/system/odoo13.service
Fügen Sie die folgenden Zeilen hinzu:
[Unit]Description=Odoo13#Requires=postgresql-10.6.service#After=network.target postgresql-10.6.service[Service]Type=simpleSyslogIdentifier=odoo13PermissionsStartOnly=trueUser=odooGroup=odooExecStart=/opt/odoo/odoo13- venv/bin/python3 /opt/odoo/odoo13/odoo-bin -c /etc/odoo.confStandardOutput=journal+console[Install]WantedBy=multi-user.target
Speichern und schließen Sie die Datei. Laden Sie dann den systemd-Daemon mit dem folgenden Befehl neu:
systemctl daemon-reload
Starten Sie als Nächstes den Odoo-Dienst und aktivieren Sie ihn nach dem Systemneustart mit dem folgenden Befehl:
systemctl start odoo13
systemctl aktiviert odoo13
Sie können den Odoo-Status auch mit dem folgenden Befehl überprüfen:
Systemctl-Status odoo13
Sie sollten die folgende Ausgabe erhalten:
Standardmäßig lauscht Odoo auf Port 8069. Sie können dies mit dem folgenden Befehl überprüfen:
netstat -plntu | grep 8069
Sie sollten die folgende Ausgabe sehen:
tcp 0 0 0.0.0.0:8069 0.0.0.0:* LISTEN 17022/python3
Konfigurieren Sie Nginx als Reverse-Proxy für Odoo 13
Als Nächstes müssen Sie Nginx als Reverse-Proxy für die Odoo 13-Instanz installieren und konfigurieren.
Installieren Sie zuerst den Nginx-Webserver mit dem folgenden Befehl:
dnf install nginx
Erstellen Sie nach der Installation eine neue Konfigurationsdatei für den virtuellen Host mit dem folgenden Befehl:
nano /etc/nginx/conf.d/odoo13.conf
Fügen Sie die folgenden Zeilen hinzu:
upstream odoo { server 127.0.0.1:8069;}server { listen 80; server_name example.com; access_log /var/log/nginx/odoo13.access.log; error_log /var/log/nginx/odoo13.error.log; location / {proxy_set_header X-Forwarded-Host $host; Proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $schema; Proxy_Set_Header X-Real-IP $remote_addr; Proxy-Weiterleitung aus; Proxy_Pass http://odoo; }location ~* /web/static/ {proxy_cache_valid 200 90m; Proxy_buffering an; läuft ab 864000; Proxy_Pass http://odoo; } gzip_types Text/CSS-Text/weniger Text/Klartext/XML-Anwendung/XML-Anwendung/JSON-Anwendung/Javascript; gzip ein;
Speichern und schließen Sie die Datei, wenn Sie fertig sind. Starten Sie dann den Nginx-Dienst und aktivieren Sie ihn nach dem Systemneustart mit dem folgenden Befehl:
systemctl start nginx
systemctl enable nginx
Sie können den Status des Nginx-Dienstes mit dem folgenden Befehl überprüfen:
systemctl status nginx
Sie sollten die folgende Ausgabe sehen:
Firewall konfigurieren
Als Nächstes müssen Sie dem Nginx-Dienst über die Firewall erlauben, vom Remote-System aus auf die Odoo 13-Instanz zuzugreifen.
Sie können den folgenden Befehl ausführen, um den Nginx-Dienst durch die Firewall zuzulassen:
firewall-cmd --permanent --zone=public --add-service=nginx
firewall-cmd --reload
Standardmäßig ist SELinux in CentOS 8 aktiviert. Daher müssen Sie HTTP über SELinux zulassen. Sie können es mit dem folgenden Befehl zulassen:
setsebool -P httpd_can_network_connect on
Zugriff auf die Odoo 13-Webschnittstelle
Nun ist Odoo 13 installiert und konfiguriert. Es ist an der Zeit, auf die Weboberfläche von Odoo 13 zuzugreifen.
Öffnen Sie Ihren Webbrowser und geben Sie die URL http://example.com ein . Sie werden auf die folgende Seite weitergeleitet:
Geben Sie nun Ihr Master-Passwort, Ihren Datenbanknamen, Ihre E-Mail-Adresse, Ihr Passwort und Ihr Land ein und klicken Sie auf Erstellen Datenbank Taste. Sie werden auf die Verwaltungsseite von Odoo 13 weitergeleitet:
Schlussfolgerung
Im obigen Tutorial haben Sie gelernt, wie Sie Odoo 13 auf einem CentOS 8-Server installieren und konfigurieren. Sie haben auch gelernt, wie Sie Nginx als Reverse-Proxy für Odoo 13 konfigurieren. Sie können Ihre Odoo 13-Instanz jetzt an Ihre geschäftlichen Anforderungen anpassen.