Wie installiert man Flectra Business Management Software mit Nginx auf CentOS 8?

Flectra ist eine Open-Source-Business-Management-Software der nächsten Generation, die CRM- und ERP-Systeme in einem einzigen Paket vereint. Ihr Ziel ist es, den Benutzern die Möglichkeit zu geben, das System entsprechend ihren geschäftlichen Anforderungen zu modifizieren, und sie können problemlos weitere Tools hinzufügen, um ihr Geschäft zu skalieren. Einfach ausgedrückt, Flectra bietet Ihnen eine umfassende Plattform, so dass Sie das System entsprechend Ihren Anforderungen leicht modifizieren oder konfigurieren können. Flectra bietet eine Vielzahl von Funktionen wie Buchhaltung, E-Commerce, Bestandsverwaltung, Marketing, Projektmanagement, CRM, Reporting, Urlaubsverwaltung und vieles mehr.

In diesem Tutorial zeigen wir Ihnen, wie Sie Flectra mit Nginx unter CentOS 8 installieren.

Voraussetzungen

  • Ein Server mit CentOS 8 mit mindestens 4 GB RAM.
  • In Ihrem Server ist ein Root-Passwort konfiguriert.

Erste Schritte

Zuerst müssen Sie Ihre Systempakete auf den neuesten Stand bringen. Sie können dies mit dem folgenden Befehl tun:

dnf update -y

Nachdem Sie alle Pakete aktualisiert haben, wird empfohlen, SELinux in Ihrem System zu deaktivieren. Sie können es deaktivieren, indem Sie die Datei /etc/selinux/config bearbeiten:

nano /etc/selinux/config

Ändern Sie die folgende Zeile:

SELINUX=disabled

Speichern und schließen Sie die Datei und starten Sie Ihren Server neu, um die Änderungen zu übernehmen.

Python-Abhängigkeiten installieren

Als nächstes müssen Sie Python und andere Flectra-Abhängigkeiten in Ihrem System installieren. Sie können sie alle installieren, indem Sie den folgenden Befehl ausführen:

dnf install python36 python36-devel git gcc wget nodejs libxslt-devel bzip2-devel openldap-devel libjpeg-devel freetype-devel -y

Sobald alle Pakete installiert sind, führen Sie den folgenden Befehl aus, um das Modul Node.js zu installieren:

npm install -g less

Als nächstes müssen Sie auch das Paket wkhtmltopdf in Ihrem System installieren. Sie können es von ihrer offiziellen Download-Seite herunterladen:

Nach dem Herunterladen installieren Sie die heruntergeladene Datei mit dem folgenden Befehl:

dnf localinstall wkhtmltox-0.12.6-1.centos8.x86_64.rpm

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

PostgreSQL installieren

Flectra verwendet PostgreSQL als Datenbank-Backend. Sie müssen es also auf Ihrem Server installieren. Sie können sie mit dem folgenden Befehl installieren:

dnf install postgresql-server -y

Nachdem Sie den PostgreSQL-Server installiert haben, initialisieren Sie die Datenbank mit dem folgenden Befehl:

postgresql-setup --initdb --unit postgresql

Sie sollten die folgende Ausgabe erhalten:

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

Starten Sie als nächstes den PostgreSQL-Dienst und ermöglichen Sie ihm, beim Systemneustart mit dem folgenden Befehl zu starten:

systemctl start postgresql
systemctl enable postgresql

Überprüfen Sie anschließend den Status des PostgreSQL-Dienstes mit folgendem Befehl:

systemctl status postgresql-12

Sie sollten die folgende Ausgabe erhalten:

? postgresql-12.service - PostgreSQL 12 database server
   Loaded: loaded (/usr/lib/systemd/system/postgresql-12.service; disabled; vendor preset: disabled)
   Active: active (running) since Thu 2020-08-13 04:39:31 EDT; 7s ago
     Docs: https://www.postgresql.org/docs/12/static/
  Process: 1176 ExecStartPre=/usr/pgsql-12/bin/postgresql-12-check-db-dir ${PGDATA} (code=exited, status=0/SUCCESS)
 Main PID: 1182 (postmaster)
    Tasks: 8 (limit: 12537)
   Memory: 17.3M
   CGroup: /system.slice/postgresql-12.service
           ??1182 /usr/pgsql-12/bin/postmaster -D /var/lib/pgsql/12/data/
           ??1183 postgres: logger   
           ??1185 postgres: checkpointer   
           ??1186 postgres: background writer   
           ??1187 postgres: walwriter   
           ??1188 postgres: autovacuum launcher   
           ??1189 postgres: stats collector   
           ??1190 postgres: logical replication launcher   

Aug 13 04:39:31 centos8 systemd[1]: Starting PostgreSQL 12 database server...
Aug 13 04:39:31 centos8 postmaster[1182]: 2020-08-13 04:39:31.136 EDT [1182] LOG:  starting PostgreSQL 12.3 on x86_64-pc-linux-gnu, compiled b>
Aug 13 04:39:31 centos8 postmaster[1182]: 2020-08-13 04:39:31.137 EDT [1182] LOG:  listening on IPv6 address "::1", port 5432
Aug 13 04:39:31 centos8 postmaster[1182]: 2020-08-13 04:39:31.137 EDT [1182] LOG:  listening on IPv4 address "127.0.0.1", port 5432
Aug 13 04:39:31 centos8 postmaster[1182]: 2020-08-13 04:39:31.139 EDT [1182] LOG:  listening on Unix socket "/var/run/postgresql/.s.PGSQL.5432"
Aug 13 04:39:31 centos8 postmaster[1182]: 2020-08-13 04:39:31.142 EDT [1182] LOG:  listening on Unix socket "/tmp/.s.PGSQL.5432"
Aug 13 04:39:31 centos8 postmaster[1182]: 2020-08-13 04:39:31.161 EDT [1182] LOG:  redirecting log output to logging collector process
Aug 13 04:39:31 centos8 postmaster[1182]: 2020-08-13 04:39:31.161 EDT [1182] HINT:  Future log output will appear in directory "log".
Aug 13 04:39:31 centos8 systemd[1]: Started PostgreSQL 12 database server.

Als nächstes müssen Sie einen neuen PostgreSQL-Benutzer für Flectra erstellen. Sie können ihn mit dem folgenden Befehl erstellen:

su - postgres -c "createuser -s flectra"

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

Flectra installieren

Bevor Sie Flectra installieren, müssen Sie einen separaten Benutzer für Flectra anlegen. Sie können ihn mit dem folgenden Befehl erstellen:

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

Hinweis: Stellen Sie sicher, dass der Benutzername mit dem des PostgreSQL-Benutzers übereinstimmt.

Melden Sie sich dann mit dem Flectra-Benutzer an und laden Sie Flectra aus dem Git-Repository mit folgendem Befehl herunter:

su - flectra
git clone --depth=1 --branch=1.0 https://gitlab.com/flectra-hq/flectra.git flectra

Als nächstes erstellen Sie mit dem folgenden Befehl eine virtuelle Umgebung für Flectra:

python3 -m venv my-flectra

Als nächstes aktivieren Sie die virtuelle Umgebung mit dem folgenden Befehl:

source my-flectra/bin/activate

Als nächstes installieren Sie alle Python-Module, indem Sie den folgenden Befehl ausführen:

pip3 install -r flectra/requirements.txt

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

deactivate

Als nächstes verlassen Sie den Flectra-Benutzer mit dem folgenden Befehl:

exit

Konfigurieren Sie Flectra

Zuerst müssen Sie einige Verzeichnisse für Flectra-Addons, Konfigurationsdatei und Protokoll erstellen. Sie können diese mit dem folgenden Befehl erstellen:

mkdir /opt/flectra/flectra-custom-addons
mkdir /var/log/flectra
mkdir /etc/flectra
touch /var/log/flectra/flectra.log

Als nächstes ändern Sie den Besitzer der oben genannten Verzeichnisse mit dem folgenden Befehl auf Flectra:

chown -R flectra:flectra /opt/flectra/flectra-custom-addons
chown -R flectra:flectra /var/log/flectra/
chown -R flectra:flectra /etc/flectra

Als nächstes erstellen Sie eine Flectra-Konfigurationsdatei mit dem folgenden Befehl:

nano /etc/flectra/flectra.conf

Fügen Sie die folgenden Zeilen hinzu:

[options]
admin_passwd = your-flectra-password
db_host = False
db_port = False
db_user = flectra
db_password = False
logfile = /var/log/flectra/flectra.log
logrotate = True
proxy_mode = True
addons_path = /opt/flectra/flectra/addons, /opt/flectra/flectra-custom-addons

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

Systemdienstdatei für Flectra erstellen

Als nächstes müssen Sie eine Systemdatei für Flectra erstellen, um den Flectra-Service zu verwalten. Sie können diese mit dem folgenden Befehl erstellen:

nano /etc/systemd/system/flectra.service

Fügen Sie die folgenden Zeilen hinzu:

[Unit]
Description=flectra
#Requires=postgresql-10.6.service
#After=network.target postgresql-10.6.service

[Service]
Type=simple
SyslogIdentifier=flectra
PermissionsStartOnly=true
User=flectra
Group=flectra
ExecStart=/opt/flectra/my-flectra/bin/python3 /opt/flectra/flectra/flectra-bin -c /etc/flectra/flectra.conf
StandardOutput=journal+console

[Install]
WantedBy=multi-user.target

Speichern und schließen Sie die Datei, wenn Sie fertig sind. Dann laden Sie den systemd-Daemon mit folgendem Befehl neu:

systemctl daemon-reload

Starten Sie nun den Flectra-Dienst und aktivieren Sie ihn beim Systemneustart mit dem folgenden Befehl:

systemctl start flectra
systemctl enable flectra

Sie können nun den Status des Flectra-Dienstes mit dem folgenden Befehl überprüfen:

systemctl status flectra

Wenn alles in Ordnung ist, sollten Sie die folgende Ausgabe erhalten:

? flectra.service - flectra
   Loaded: loaded (/etc/systemd/system/flectra.service; disabled; vendor preset: disabled)
   Active: active (running) since Thu 2020-08-13 05:34:15 EDT; 1min 3s ago
 Main PID: 10917 (python3)
    Tasks: 4 (limit: 25028)
   Memory: 57.9M
   CGroup: /system.slice/flectra.service
           ??10917 /opt/flectra/my-flectra/bin/python3 /opt/flectra/flectra/flectra-bin -c /etc/flectra/flectra.conf

Aug 13 05:34:15 centos8 systemd[1]: Started flectra.

Jetzt läuft und hört Flectra auf Port 7073. Sie können dies mit dem folgenden Befehl überprüfen:

netstat -plntu | grep 7073

Sie sollten die folgende Ausgabe sehen:

tcp        0      0 0.0.0.0:7073            0.0.0.0:*               LISTEN      10917/python3

Nginx für Flectra konfigurieren

Als nächstes müssen Sie Nginx als Reverse-Proxy für Flectra konfigurieren. Sie können also über den Port 80 auf Flectra zugreifen.

Installieren Sie zunächst den Nginx-Webserver mit dem folgenden Befehl:

dnf install nginx -y

Nachdem Sie Nginx installiert haben, starten Sie den Nginx-Dienst und ermöglichen Sie ihm, beim Systemneustart zu starten:

systemctl start nginx
systemctl enable nginx

Als nächstes erstellen Sie eine neue Nginx-Konfigurationsdatei für den virtuellen Host für Flectra:

nano /etc/nginx/conf.d/flectra.conf

Fügen Sie die folgenden Zeilen hinzu:

#flectra server
upstream flectra {
 server 127.0.0.1:7073;
}

server {
   listen 80;
   server_name flectra.your-domain.com;

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

 # Add Headers for flectra 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;

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

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

 # common gzip
 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 neu, um die Änderungen zu übernehmen:

systemctl restart nginx

Zu diesem Zeitpunkt ist der Nginx-Webserver so konfiguriert, dass er Flectra bedient. Sie können nun mit dem nächsten Schritt fortfahren.

Zugriff auf die Flectra-Web-Benutzeroberfläche

Öffnen Sie nun Ihren Webbrowser und geben Sie die URL http://flectra.your-domain.com ein. Sie werden auf den folgenden Bildschirm weitergeleitet:

Details zur Datenbank

Geben Sie Ihr Master-Passwort, das Sie in der Konfigurationsdatei definiert haben, Datenbankdetails, E-Mail, Passwort ein und klicken Sie auf die Schaltfläche Datenbank erstellen. Sie sollten das Flectra Dashboard sehen, wie im folgenden Bildschirm gezeigt:

Flectra CRM und ERP

Schlussfolgerung

Herzlichen Glückwunsch! Sie haben Flectra mit Nginx erfolgreich unter CentOS 8 installiert. Sie können nun Ihr eigenes Flectra-Geschäftsinformationssystem hosten und Ihr Geschäft mit dem leistungsstarken modularen Design und den vielen Add-Ons von Flectra ausbauen. Für weitere Informationen über Flectra können Sie die offizielle Flectra-Dokumentation lesen.

Das könnte dich auch interessieren …