Wie man Odoo ERP 13 auf CentOS 8 installiert

Odoo ist eine kostenlose, quelloffene und am weitesten verbreitete ERP-Software, die eine breite Palette von Geschäftsanwendungen bietet, darunter Kundenbeziehungsmanagement (CRM), Vertriebspipeline, Projektmanagement, Fertigung, Rechnungsstellung, Buchhaltung, eCommerce und viele andere. Es handelt sich um eine webbasierte und voll funktionsfähige Anwendung, die Sie bei der Pflege des ERP in jedem Unternehmen unterstützt. Odoo wird mit 30 Kernmodulen und mehr als 4500 von der Community erstellten Modulen geliefert, die Ihnen helfen, es als kleines Geschäft an ein Unternehmen 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 mit mindestens 2 GB RAM.
  • Ein gültiger Domainname, der auf Ihre Server-IP zeigt. In diesem Tutorial werden wir die Domäne exmaple.com verwenden.
  • Auf dem Server wird ein Root-Passwort konfiguriert.

Erste Schritte

Aktualisieren Sie zunächst 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 Werkzeuge und Abhängigkeiten installieren, die für den Aufbau des Odoo auf Ihrem System benötigt werden.

Sie können sie 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 anlegen

Als nächstes müssen Sie einen neuen Systembenutzer mit dem Namen odoo und dem Heimatverzeichnis /opt/odoo mit dem folgenden Befehl erstellen:

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

Wenn Sie fertig sind, können Sie mit dem nächsten Schritt fortfahren.

Installieren und Konfigurieren von PostgreSQL

Odoo verwendet PostgreSQL zur Speicherung seiner Daten. 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

Nach der Installation initialisieren Sie die Datenbank mit dem folgenden Befehl:

/usr/bin/postgresql-setup initdb

Sie sollten die folgende Ausgabe erhalten:

 * Initializing database in '/var/lib/pgsql/data'
 * Initialized, logs are in /var/lib/pgsql/initdb_postgresql.log

Als nächstes starten Sie den PostgreSQL-Dienst und aktivieren ihn nach dem Systemneustart mit dem folgenden Befehl:

systemctl start postgresql
 systemctl enable postgresql

Sie können nun die PostgreSQL mit dem folgenden Befehl überprüfen:

systemctl status postgresql

Sie sollten die folgende Ausgabe sehen:

? postgresql.service - PostgreSQL database server
   Loaded: loaded (/usr/lib/systemd/system/postgresql.service; disabled; vendor preset: disabled)
   Active: active (running) since Mon 2019-12-02 01:01:44 EST; 6s ago
  Process: 31805 ExecStartPre=/usr/libexec/postgresql-check-db-dir postgresql (code=exited, status=0/SUCCESS)
 Main PID: 31808 (postmaster)
    Tasks: 8 (limit: 12552)
   Memory: 16.5M
   CGroup: /system.slice/postgresql.service
           ??31808 /usr/bin/postmaster -D /var/lib/pgsql/data
           ??31809 postgres: logger process   
           ??31811 postgres: checkpointer process   
           ??31812 postgres: writer process   
           ??31813 postgres: wal writer process   
           ??31814 postgres: autovacuum launcher process   
           ??31815 postgres: stats collector process   
           ??31816 postgres: bgworker: logical replication launcher   

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"

Wkhtmltopdf installieren

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 von Odoo 13

Wechseln Sie zunächst mit folgendem Befehl zum Odoo-Benutzer:

su - odoo

Als nächstes laden Sie die neueste Version von Odoo 13 mit dem git-Befehl aus dem Git-Repository herunter:

git clone https://www.github.com/odoo/odoo --depth 1 --branch 13.0 /opt/odoo/odoo13

Erstellen Sie als nächstes eine neue virtuelle Umgebung für die Instanz von Odoo 13 mit dem folgenden Befehl:

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

Aktivieren Sie dann die virtuelle Umgebung mit dem folgenden Befehl:

source odoo13-venv/bin/activate

Sie sollten die folgende Ausgabe erhalten:

(odoo13-venv) [[email protected] ~]$

Installieren Sie dann alle erforderlichen Python-Module für Odoo 13 mit dem folgenden Befehl:

pip3 install -r odoo13/requirements.txt

Wenn alle erforderlichen Module installiert sind, deaktivieren Sie die virtuelle Umgebung mit dem folgenden Befehl:

deactivate

Verlassen Sie schließlich den Odoo-Benutzer mit dem folgenden Befehl:

exit

Erstellen Sie als nächstes 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 die Eigentümer beider Verzeichnisse mit dem folgenden Befehl auf den Benutzer odoo:

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 = False
db_port = False
db_user = odoo
db_password = False
xmlrpc_port = 8069
logfile = /var/log/odoo13/odoo.log
logrotate = True
addons_path = /opt/odoo/odoo13/addons,/opt/odoo/odoo13-custom-addons

Speichern und schließen Sie die Datei, wenn Sie fertig sind.

Erstellen Sie eine Systemdienstdatei für Odoo 13

Als nächstes müssen Sie eine neue Systemgerätdatei für Odoo 13 erstellen, um den Odoo-Dienst zu verwalten.

Sie können sie 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=simple
SyslogIdentifier=odoo13
PermissionsStartOnly=true
User=odoo
Group=odoo
ExecStart=/opt/odoo/odoo13-venv/bin/python3 /opt/odoo/odoo13/odoo-bin -c /etc/odoo.conf
StandardOutput=journal+console

[Install]
WantedBy=multi-user.target

Speichern und schließen Sie die Datei. Dann laden Sie den systemdämon 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 enable odoo13

Sie können den Odoo-Status auch mit dem folgenden Befehl überprüfen:

systemctl status odoo13

Sie sollten die folgende Ausgabe erhalten:

? odoo13.service - Odoo13
   Loaded: loaded (/etc/systemd/system/odoo13.service; disabled; vendor preset: disabled)
   Active: active (running) since Mon 2019-12-02 01:15:43 EST; 2s ago
 Main PID: 17022 (python3)
    Tasks: 4 (limit: 12552)
   Memory: 63.7M
   CGroup: /system.slice/odoo13.service
           ??17022 /opt/odoo/odoo13-venv/bin/python3 /opt/odoo/odoo13/odoo-bin -c /etc/odoo.conf

Dec 02 01:15:43 centos8 systemd[1]: Started Odoo13.

Standardmäßig lauscht Odoo auf Port 8069. Sie können es 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 zunächst 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 $scheme;
        proxy_set_header X-Real-IP $remote_addr;


        proxy_redirect off;
        proxy_pass http://odoo;
    }

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

    gzip_types text/css text/less text/plain text/xml application/xml application/json application/javascript;
    gzip on;
}

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:

? 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 Mon 2019-12-02 01:25:15 EST; 6s ago
  Process: 17244 ExecStart=/usr/sbin/nginx (code=exited, status=0/SUCCESS)
  Process: 17241 ExecStartPre=/usr/sbin/nginx -t (code=exited, status=0/SUCCESS)
  Process: 17239 ExecStartPre=/usr/bin/rm -f /run/nginx.pid (code=exited, status=0/SUCCESS)
 Main PID: 17245 (nginx)
    Tasks: 3 (limit: 12552)
   Memory: 5.4M
   CGroup: /system.slice/nginx.service
           ??17245 nginx: master process /usr/sbin/nginx
           ??17246 nginx: worker process
           ??17247 nginx: worker process

Dec 02 01:25:15 centos8 systemd[1]: Starting The nginx HTTP and reverse proxy server...
Dec 02 01:25:15 centos8 nginx[17241]: nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
Dec 02 01:25:15 centos8 nginx[17241]: nginx: configuration file /etc/nginx/nginx.conf test is successful
Dec 02 01:25:15 centos8 systemd[1]: Started The nginx HTTP and reverse proxy server.

Konfigurieren Sie die Firewall

Als Nächstes müssen Sie dem Nginx-Dienst über die Firewall den Zugriff auf die Odoo-13-Instanz vom entfernten System aus ermöglichen.

Sie können den folgenden Befehl ausführen, um den Nginx-Dienst durch Firewalld zuzulassen:

firewall-cmd --permanent --zone=public --add-service=nginx
 firewall-cmd --reload

Standardmäßig ist SELinux in CentOS 8 aktiviert. Sie müssen also HTTP über SELinux zulassen. Sie können es mit dem folgenden Befehl erlauben:

setsebool -P httpd_can_network_connect on

Zugriff auf Odoo 13 Web-Schnittstelle

Jetzt ist Odoo 13 installiert und konfiguriert. Es ist an der Zeit, auf die Webschnittstelle von Odoo 13 zuzugreifen.

Öffnen Sie Ihren Webbrowser und geben Sie die URL http://example.com ein. Sie werden auf die folgende Seite weitergeleitet:

Einrichten von Datenbank-Details für Odoo ERP

Geben Sie nun Ihr Master-Passwort, den Datenbanknamen, Ihre E-Mail-Adresse, Ihr Passwort und Ihr Land an und klicken Sie auf die Schaltfläche Datenbank erstellen. Sie werden auf die Odoo 13 Administrationsseite weitergeleitet:

Odee ERP-Anwendungen

Schlussfolgerung

Im obigen Tutorial haben Sie gelernt, wie man Odoo 13 auf einem CentOS 8-Server installiert und konfiguriert. Sie haben auch gelernt, wie man Nginx als Reverse-Proxy für Odoo 13 konfiguriert. Sie können Ihre Odoo 13-Instanz jetzt entsprechend Ihren geschäftlichen Anforderungen anpassen.

Das könnte dich auch interessieren …