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:
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:
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.