So installierst du ERPNext auf Rocky Linux 9

ERPNext ist ein Open-Source-ERP-System (Enterprise Resource Planning), das in deinem Unternehmen implementiert werden kann. ERPNext kann in vielen verschiedenen Branchen eingesetzt werden, z. B. in der Produktion, im Vertrieb, im Einzelhandel, im Handel, im Dienstleistungssektor, im Bildungswesen, in gemeinnützigen Organisationen und im Gesundheitswesen. Außerdem bietet es Module wie Buchhaltung, CRM, Vertrieb, Einkauf, Website, E-Commerce, Point of Sale, Fertigung, Lager, Projektmanagement, Inventar und Dienstleistungen.

ERPNext ist eine Enterprise ERP-Plattform, die unter der GNU General Public Licence v3 lizenziert ist. Sie ist hauptsächlich in Python und JavaScript geschrieben und wurde von Frappe Technologies Pvt. entwickelt. ERPNext ist eine Anwendung, die unter dem Frappe-Framework geschrieben wurde, einem Open-Source-Web-Framework in Python und Javascript.

ERPNext wurde als Alternative zu Diensten wie NetSuite von Oracle, QAD, Tython, OpenBrave und Odoo entwickelt. Von der Funktionalität her ist ERPNext ähnlich wie Odoo (früher OpenERP).

In diesem Lernprogramm installierst du ERPNext auf einem Rocky Linux 9 Server und sicherst deine Installation mit SSL/TLS-Zertifikaten über Certbot und Letsencrypt. Außerdem lernst du, wie du Abhängigkeiten für ERPNext installierst, z. B. Python 3.10 aus dem Quellcode, Redis, das als Sitzungsmanager verwendet wird, Nginx als Webserver und Reverse Proxy, Supervisor als Prozessmanager, Fail2ban zum Schutz vor Brute Force, MariaDB als Datenbankserver, Node.js und Yarn zum Erstellen und Kompilieren statischer Dateien.

ERPNext ist eine Anwendung, die auf dem Frappe-Framework aufbaut. Deshalb installierst du das Frappe-Framework während des Prozesses auch über die Frappe-Bench.

Vorraussetzungen

Du brauchst die folgenden Voraussetzungen, um dieses Tutorial durchzuführen:

  • Einen Debian 11-Server – In diesem Beispiel wird ein Debian-Server mit dem Hostnamen„erpnext-rocky“ verwendet.
  • Einen Nicht-Root-Benutzer mit sudo/root-Administrator-Rechten. Du wirst alle Befehle in dieser Anleitung als Nicht-Root-Benutzer ausführen.
  • Ein Domainname, der auf die IP-Adresse des Servers zeigt.
  • Ein SELinux, das mit permissivem Modus läuft.

Jetzt können wir loslegen und ERPNext installieren.

Benutzer einrichten

Die erste Aufgabe in diesem Lernprogramm besteht darin, einen neuen Benutzer zu erstellen, der für die ERPNext-Anwendung verwendet wird. Du wirst diesen neuen Benutzer auch benutzen, um alle Befehle für die Paketinstallation und -konfiguration auszuführen.

Führe den folgenden Befehl aus, um einen neuen Benutzer„frappe“ zu erstellen. Richte dann das Passwort für den Benutzer„frappe“ ein, gib das neue sichere Passwort ein und wiederhole das Passwort.

sudo useradd -m -s /bin/bash frappe
sudo passwd frappe

Führe nun den folgenden Befehl aus, um den Benutzer„frappe“ zur Gruppe„wheel“ hinzuzufügen. Dadurch kann der Benutzer„frappe“ den sudo-Befehl als root-Benutzer ausführen oder den Befehl mit root-Rechten ausführen.

sudo usermod -aG wheel frappe

Melde dich abschließend als Benutzer „frappe“ an, um sicherzustellen, dass dein Benutzer erstellt wurde. Dann führst du den Befehl sudo su aus, um die Root-Rechte zu erhalten.

sudo - frappe
sudo su

Gib dein Passwort für den Benutzer „frappe“ ein. Wenn du erfolgreich bist, wird deine Eingabeaufforderung wie folgt aussehen: ‚root@hostname:/home/frappe…‚.

Benutzer einrichten

Tippe nun exit ein oder drücke Strg+d, um die Root-Shell zu verlassen.

Installation von Python 3.10

ERPNext ist eine Webanwendung, die mit dem auf Python basierenden Frappe-Webframework erstellt wurde. Zum Zeitpunkt der Erstellung dieses Artikels war für die neueste Version des Frappe-Frameworks und von ERPNext mindestens Python 3.10 erforderlich.

In diesem Schritt wirst du Python 3.10 manuell aus dem Quellcode auf dem Rocky Linux 9 Server installieren.

Führe zunächst den folgenden dnf-Befehl aus, um einige grundlegende Abhängigkeiten für die Kompilierung von Python 3.10 zu installieren.

sudo dnf install gcc openssl-devel bzip2-devel libffi-devel zlib-devel wget make

Gib y ein, wenn du dazu aufgefordert wirst, und drücke ENTER, um fortzufahren.

Abhängigkeiten installieren

Als Nächstes lädst du den Quellcode von Python 3.10 mit dem unten stehenden wget-Befehl herunter.

wget https://www.python.org/ftp/python/3.10.9/Python-3.10.9.tgz

Nachdem du Python 3.10 heruntergeladen hast, entpacke den Python-Quellcode und verschiebe dein Arbeitsverzeichnis dorthin.

tar xzf Python-3.10.9.tgz
cd Python-*/

Als Nächstes führst du den unten stehenden Befehl aus, um die Kompilierung von Python 3.10 zu starten. Installiere es dann auf deinem System. Dadurch werden die Python 3.10 Binärdateien in das Verzeichnis „/usr/local/bin“ installiert.

./configure --enable-optimizations
nproc
sudo make -j2
sudo make altinstall

python-kompilieren

Führe den folgenden Befehl aus, um die Python 3.10-Binärdateien zu überprüfen. Du solltest mehrere Python-Binärdateien sehen, die Pip3.10 enthalten.

ls /usr/local/bin

Um sicherzustellen, dass du die neue Version der Python-Befehle ausführen kannst, solltest du das Verzeichnis „/usr/local/bin“ zum Systempfad und zum visudo secure_path hinzufügen.

Führe den folgenden Befehl des nano-Editors aus, um eine neue Datei„/etc/bashrc“ zu öffnen.

sudo nano /etc/bashrc

Füge die folgende Zeile in die Datei ein.

export PATH=$PATH:/usr/local/bin/

Speichere und beende die Datei, wenn du fertig bist.

Führe nun den folgenden Befehl aus, um die Konfigurationsdatei „/etc/bashrc“ neu zu laden. Überprüfe dann den Systempfad.

source /etc/bashrc
echo $PATH

Du solltest jetzt sehen, dass das Verzeichnis „/usr/local/bin“ zur Umgebungsvariablen „system PATH “ hinzugefügt wurde.

Als Nächstes führst du den folgenden Befehl aus, um die Konfigurationsdatei sudoers hinzuzufügen und zu ändern.

sudo visudo

Füge das Verzeichnis „/usr/local/bin“ zu der Option„Defaults secure_path:“ wie unten beschrieben hinzu.

Defaults secure_path=....:/usr/local/bin

Speichere die Datei und beende den Editor, wenn du fertig bist.

Führe nun die Python3.10- und Pip3.10-Binärdateien mit dem sudo-Befehl aus (siehe unten).

sudo python3.10 --version
sudo pip3.10 --version

Du solltest eine ähnliche Ausgabe wie diese erhalten – Python 3.10 ist aus dem Quellcode auf deinem Rocky Linux Server installiert.

python einrichten

Im nächsten Schritt wirst du den MariaDB Server für ERPNext installieren und konfigurieren.

MariaDB Server installieren und konfigurieren

Bei der Standardinstallation verwendet ERPNext MySQL/MariaDB als Datenbankserver. Für die Installation von ERPNext ist eine bestimmte Version von MySQL/MariaDB erforderlich. Zum Zeitpunkt der Erstellung dieses Artikels benötigt die neueste Version von ERPNext MariaDB 10.6.

In diesem Schritt installierst du den MariaDB Server 10.6 aus dem offiziellen MariaDB Repository. Dann fügst du Konfigurationen zu deinem MariaDB Server hinzu und sicherst die MariaDB Server-Bereitstellung.

Führe den folgenden Befehl aus, um das MariaDB Repository v10.6 hinzuzufügen.

sudo curl -LsS https://r.mariadb.com/downloads/mariadb_repo_setup | sudo bash -s -- --mariadb-server-version="mariadb-10.6"

Du erhältst dann eine Ausgabe wie diese.

mariadb Repo hinzufügen

Als Nächstes führst du den Befehl dnf aus, um die MariaDB-Pakete zu installieren. Gib y ein, wenn du zur Bestätigung aufgefordert wirst, und drücke ENTER, um fortzufahren.

sudo dnf install MariaDB-server MariaDB-client

mariadb installieren

Wenn du gefragt wirst, ob du den GPG-Schlüssel des MariaDB-Repositorys akzeptieren willst, gibst du y ein und drückst ENTER.

Nachdem MariaDB Server installiert ist, führe den folgenden systemctl-Befehl aus, um den MariaDB-Dienst zu starten und zu aktivieren.

sudo systemctl start mariadb
sudo systemctl enable mariadb

Überprüfe nun den MariaDB-Dienst mit dem unten stehenden Befehl. Du solltest sehen, dass der MariaDB-Dienst läuft und aktiviert ist, d.h. er wird beim Hochfahren automatisch gestartet.

sudo systemctl status mariadb

start enable mariadb

Wenn der MariaDB Server läuft, kannst du MariaDB so konfigurieren, wie es für den ERPNext erforderlich ist.

Öffne die MariaDB-Konfigurationsdatei „/etc/my.cnf.d/server.cnf“ mit dem unten stehenden nano-Editor-Befehl.

sudo nano /etc/my.cnf.d/server.cnf

Füge die folgenden Zeilen in den Abschnitt ‚[mysqld]‚ ein. Damit aktivierst du das Barracuda-Format für deine MariaDB. Außerdem stellst du den Standardzeichensatz auf utf8mb4 ein.

[mysqld]
innodb-file-format=barracuda
innodb-file-per-table=1
innodb-large-prefix=1
character-set-client-handshake = FALSE
character-set-server = utf8mb4
collation-server = utf8mb4_unicode_ci

Speichere und beende die Datei, wenn du fertig bist.

Als Nächstes öffnest du eine weitere MariaDB-Konfigurationsdatei„/etc/my.cnf.d/mysql-clients.cnf“ mit dem unten stehenden nano-Editor.

sudo nano /etc/my.cnf.d/mysql-clients.cnf

Füge die folgende Zeile in den Abschnitt „[mysql]“ ein. Dadurch wird der Zeichensatz für den Client immer auf utf8mb4 gesetzt.

[mysql]
default-character-set = utf8mb4

Speichere die Datei und beende den Editor.

Führe nun den folgenden systemctl-Befehl aus, um den MariaDB-Dienst neu zu starten und die Änderungen zu übernehmen.

sudo systemctl restart mariadb

Führe den folgenden Befehl„mariadb-secure-installation“ aus, um deine MariaDB-Installation zu sichern. Du wirst dann nach der Konfiguration des MariaDB-Root-Passworts gefragt, also gib das neue Passwort ein und wiederhole es. Für die übrigen Konfigurationen gibst du zur Bestätigung Y ein und drückst ENTER.

sudo mariadb-secure-installation

Damit hast du die Installation und Konfiguration von MariaDB Server abgeschlossen. Im nächsten Schritt wirst du Redis, Nginx und Supervisor auf deinem Rocky Linux Rechner installieren.

Installation der Abhängigkeiten aus dem Rocky Linux Repository

In diesem Schritt installierst du einige Abhängigkeiten für die ERPNxt-Installation. Dazu gehören Redis, das für die Sitzungsverwaltung verwendet wird, Nginx als Webserver, Supervisor für die Prozessverwaltung und Fail2ban, das deinen ERPNext vor Brute-Force-Angriffen schützt.

Die meisten der Pakete, die du hier installieren wirst, sind standardmäßig im Rocky Linux AppStream Repository verfügbar. Du musst aber auch sicherstellen, dass das Repository eines Drittanbieters wie EPEL auf deinem System verfügbar ist.

Führe den folgenden dnf-Befehl zur Installation aus Redis, Nginx, Überwacher, und Fail2ban auf deinem Rocky Linux System zu installieren.

sudo dnf install redis nginx supervisor fail2ban

Wenn du zur Bestätigung aufgefordert wirst, gib Y ein und drücke ENTER, um fortzufahren.

Nachdem die Paketinstallation abgeschlossen ist, führe die folgenden systemctl-Befehle aus, um die Dienste zu starten und zu aktivieren. Überprüfe dann jeden Dienst, um sicherzustellen, dass er läuft.

Starte und aktiviere den Redis-Dienst und überprüfe dann Redis, um sicherzustellen, dass er läuft.

sudo systemctl start redis
sudo systemctl enable redis

sudo systemctl status redis

Du erhältst eine ähnliche Ausgabe wie diese.

Reddis überprüfen

Als Nächstes startest und aktivierst du den Nginx-Dienst und überprüfst ihn, um sicherzustellen, dass er läuft.

sudo systemctl start nginx
sudo systemctl enable nginx

sudo systemctl status nginx

Du erhältst eine ähnliche Ausgabe wie diese.

nginx verifizieren

Starte danach den Supervisor-Dienst und aktiviere ihn. Überprüfe dann den Supervisor-Dienst, um sicherzustellen, dass er läuft.

sudo systemctl start supervisord
sudo systemctl enable supervisord

sudo systemctl status supervisord

Unten siehst du die Ausgabe, die du auf deinem Terminalbildschirm erhalten solltest.

Aufsichtsbehörde überprüfen

Den Fail2ban-Dienst starte und aktiviere ihn mit dem folgenden systemctl-Befehl. Überprüfe dann den Fail2ban-Dienst, um sicherzustellen, dass der Dienst läuft.

sudo systemctl start fail2ban
sudo systemctl enable fail2ban

sudo systemctl status fail2ban

Du solltest jetzt sehen, dass der Status des Fail2ban-Dienstes „running“ ist.

verifiziere fail2ban

Nachdem du diesen Abschnitt abgeschlossen und überprüft hast, dass die Dienste Redis, Nginx, Supervisor und Fail2ban laufen, kannst du zum nächsten Abschnitt übergehen. Gehe zum nächsten Abschnitt über, um den Node.js und Yarn Paketmanager zu installieren.

Installation von Nodejs 16 und Yarn

Die neueste Version von ERPNext ist v14, für die mindestens Node.js 16 und der Yarn-Paketmanager erforderlich sind. In diesem Schritt richtest du das Nodesource Repository für Node.js v16 ein und fügst das Yarn Repository für die RHEL Distribution hinzu. Dann installierst du sowohl Node.js als auch Yarn über DNF.

Führe zunächst den folgenden Befehl aus, um das Nodesource-Repository für Node.js v16 für die RHEL-Distributionen hinzuzufügen.

curl -fsSL https://rpm.nodesource.com/setup_16.x | sudo bash -

Die Ausgabe sollte in etwa so aussehen – Das Skript erkennt automatisch die Version der aktuellen RHEL-Distribution und fügt das Nodesource-Repository hinzu.

Nodesource Repo hinzufügen

Für das Yarn-Repository musst du den folgenden Befehl ausführen, um das Repository herunterzuladen und deinem System hinzuzufügen.

curl -sL https://dl.yarnpkg.com/rpm/yarn.repo | sudo tee /etc/yum.repos.d/yarn.repo

Nachfolgend siehst du die Ausgabe, die du auf deinem Terminal erhalten solltest.

Garn-Repository hinzufügen

Nun, da sowohl das Nodesource- als auch das Yarn-Repository zu deinem Rocky Linux-System hinzugefügt wurden, ist es an der Zeit, den Node.js- und Yarn-Paketmanager über DNF zu installieren.

Führe den folgenden dnf-Befehl aus, um Node.js und Yarn auf deinem System zu installieren. Gib y ein, wenn du zur Bestätigung aufgefordert wirst, und drücke ENTER, um fortzufahren.

sudo dnf install gcc-c++ make nodejs yarn

Die Installation von Node.js und Yarn sollte nun beginnen.

yarn nodejs installieren

Wenn du nach dem GPG-Schlüssel für beide Repositories gefragt wirst, gib y ein und drücke ENTER, um den GPG-Schlüssel zu deinem System hinzuzufügen.

gpg-Schlüssel akzeptieren

Jetzt, wo der Node.js- und Yarn-Paketmanager installiert ist, installierst du als Nächstes das Wkhtmltopdf-Paket per RPM-Datei.

Installation von Wkhtmltopdf

In diesem Schritt installierst du das Wkhtmltopdf-Paket, das von ERPNext zur Erstellung von PDF-Berichten verwendet wird. Wkhtmltopdf kann heruntergeladen und manuell über eine .deb- oder .rpm-Datei installiert werden.

Führe zunächst den folgenden dnf-Befehl aus, um die Abhängigkeiten für das Wkhtmltopdf-Paket zu installieren.

sudo dnf install fontconfig freetype libX11 libXext libXrender libjpeg libpng xorg-x11-fonts-75dpi xorg-x11-fonts-Type1

Gib y ein, wenn du dazu aufgefordert wirst, und drücke ENTER, um fortzufahren.

Abhängigkeiten installieren

Als Nächstes führst du den unten stehenden rpm-Befehl aus, um das Wkhtmltopdf-Paket herunterzuladen und auf deinem Rocky Linux-System zu installieren.

sudo rpm -Uvh https://github.com/wkhtmltopdf/packaging/releases/download/0.12.6.1-2/wkhtmltox-0.12.6.1-2.almalinux9.x86_64.rpm

Nachdem Wkhtmltopdf installiert ist, führe die folgenden Befehle aus, um die Installation zu überprüfen.

Das Wkhtmltopdf-Paket enthält zwei Kommandozeilen-Tools. Der Befehl wkhtmltopdf wird verwendet, um eine HTML-Seite in PDF zu konvertieren, während wkhtmltoimage die HTML-Seite in verschiedene Bildformate konvertiert.

which wkhtmltopdf
which wkhtmltoimage
wkhtmltopdf --version
wkhtmltoimage --version

Du erhältst eine ähnliche Ausgabe wie diese – Das Paket Wkhtmltopdf v0.12 ist auf deinem Rocky Linux System installiert.

install verify wkhtmltopdf

An diesem Punkt hast du die Installation der Paketabhängigkeiten für ERPNext und frappeframework abgeschlossen. Dazu gehören die Pakete Python3.10, Redis, Nginx, Supervisor, Fail2ban, MariaDB Server und Wkhtmltopdf.

Im nächsten Abschnitt startest du die Installation von ERPNext. Aber zuerst musst du das Frappeframework installieren und einrichten.

Installation des Frappeframeworks durch die Bank

ERPNext ist eine Open-Source-ERP-Software, die mit dem Frappeframework erstellt wurde, das in Python und JavaScript geschrieben ist. ERPNext wird innerhalb des Frappeframeworks ausgeführt. Du musst also das Frappeframework auf deinem System installieren und kannst dann ERPNext installieren.

Zuerst musst du also die Bench installieren. Dann installierst du das Frappeframework über die Bench. Zum Schluss installierst du die ERPNext-Anwendung innerhalb des Frappeframeworks.

Führe den folgenden pip3.10-Befehl aus, um „bench“ aus dem PyPI-Repository zu installieren.

sudo pip3.10 install frappe-bench

Während der Installation von bench erhältst du eine ähnliche Ausgabe wie diese.

Bank montieren

Nachdem die Bench installiert ist, führe den folgenden Befehl aus, um sie zu überprüfen.

which bench
bench --version

Du erhältst den Binärpfad des„bench„-Befehls und die aktuelle Version der Bench, die du installiert hast.

Bank überprüfen

Nachdem du die Bench installiert hast, installierst du das Frappe-Framework mit dem Befehl bench.

Führe den folgenden„bench„-Befehl aus, um das Frappe-Framework in deinem aktuellen Arbeitsverzeichnis zu installieren. Außerdem gibst du als Python-Version Python 3.10 und als Version des Frappe-Frameworks v14 an. Das Zielverzeichnis für die Installation ist „frappe-bench“.

bench init --python python3.10 --frappe-branch version-14 frappe-bench

Während der Installation des Frappeframeworks erhältst du eine ähnliche Ausgabe wie diese.

Frappe installieren

Nachdem die Installation des Frappeframeworks abgeschlossen ist, solltest du die folgende Ausgabe erhalten.

frappeframework installer

Führe abschließend den folgenden Befehl aus, um anderen Benutzern den Zugriff auf das Frappe-Framework-Installationsverzeichnis „/home/frappe/frappe-bench“ zu ermöglichen. Dies ist notwendig, damit der Nginx-Webserver das Frappe-Framework lesen und ausführen kann.

sudo chmod -R o+rx /home/frappe/frappe-bench
or
sudo chmod -R o+rx /home/frappe

Wenn das Frappe-Framework installiert ist, kannst du ERPNext installieren und einrichten.

Neue Anwendung in Frappe einrichten

Bevor du ERPNext installierst, musst du eine neue Site/ein neues Projekt im Frappe-Framework erstellen. In diesem Schritt erstellst du eine neue Site/ein neues Projekt und wechselst die Umgebung über die Bench in das neue Projekt.

Wechsle zunächst mit dem cd-Befehl dein Arbeitsverzeichnis nach „frappe-bench“.

cd ~/frappe-bench

Führe den folgenden Bench-Befehl aus, um eine neue Site/ein neues Projekt für das ERPNext zu erstellen. In diesem Beispiel erstellst du eine neue Site„erp.hwdomain.io„, die der Zieldomainname der ERPNext-Installation ist. Während des Einrichtungsprozesses wirst du außerdem aufgefordert, ein Administrator-Passwort für dein Projekt festzulegen. Mit diesem Passwort meldest du dich bei deiner ERPNext-Anwendung an.

bench new-site erp.hwdomain.io

Zum Schluss führst du den folgenden Befehl aus, um zur neuen Site/zum neuen Projekt„erp.hwdomain.io“ zu wechseln.

bench use erp.hwdomain.io

Unten siehst du die Ausgabe während der Erstellung der Site/des Projekts und nachdem du zur neuen Site/zum neuen Projekt gewechselt hast.

Standortprojekt erpnext hinzufügen

ERPNext über Bench installieren

In diesem Schritt beginnst du mit der Installation von ERPNext innerhalb des Frappe-Framework-Projekts, das du erstellt hast.

Führe zunächst den folgenden Befehl aus, um die Apps„payments“ und„erpnext“ herunterzuladen. In diesem Beispiel lädst du ERPNexxt v14 herunter.

bench get-app payments
bench get-app --branch version-14 erpnext

Unten siehst du eine ähnliche Ausgabe, die du während des Downloads von„payments“ erhältst.

Zahlungen herunterladen

Und unten siehst du den Downloadprozess der ERPNext-Anwendung.

erpnext herunterladen

Als Nächstes führst du den folgenden Befehl aus, um die ERPNext-Anwendung auf der Site/dem Projekt „erp.hwdomain.io“ zu installieren.

bench --site erp.hwdomain.io install-app erpnext

Du erhältst eine ähnliche Ausgabe wie diese – du solltest auch sehen, dass die Anwendung„Zahlungen“ automatisch als Abhängigkeit für die ERPNext-Anwendung installiert wird.

erpenext installieren

Führe abschließend den folgenden Bench-Befehl aus, um den Scheduler zu aktivieren und den Wartungsmodus auf der ERPNext-Site/dem ERPNext-Projekt „erp.hwdomain.io“ zu deaktivieren.

bench --site erp.hwdomain.io enable-scheduler
bench --site erp.hwdomain.io set-maintenance-mode off

erpnext einrichten

Damit ist die ERPNext-Installation abgeschlossen. In den nächsten Schritten richtest du den Nginx-Webserver und den Supervisor für die ERPNext-Bereitstellung in der Produktion ein, die über den Bench-Befehl konfiguriert werden können.

Einrichtung der Bereitstellung für ERPNext

Führe zunächst den folgenden Befehl aus, um das Frappe-Framework und ERPNext für die Produktionsumgebung zu konfigurieren. Dadurch wird Ansible installiert und die ERPNext-Bereitstellung automatisch über Ansible eingerichtet.

sudo bench setup production frappe

Unten siehst du die Ausgabe während der Ansible-Installation.

erpnext für die Produktion einrichten

Unten siehst du die Ausgabe, wenn die Konfiguration abgeschlossen ist.

erpnext Produktion

Als Nächstes führst du den unten stehenden Bench-Befehl aus, um Nginx und Supervisor für ERPNext einzurichten. Wenn du gefragt wirst, ob die aktuellen Einstellungen überschrieben werden sollen, gibst du zur Bestätigung y ein und drückst ENTER.

sudo bench setup supervisor
sudo bench setup nginx

Danach führst du den unten stehenden Bench-Befehl erneut aus, um sicherzustellen, dass die Konfigurationen von Supervisor und Nginx installiert sind.

sudo bench setup production frappe

Gib y ein, um die aktuellen Einstellungen zu überschreiben, und drücke ENTR, um fortzufahren.

erpnext für die Produktion

Als nächstes öffnest du die Supervisor-Konfiguration„/etc/supervisor.conf“ mit dem folgenden nano-Editor-Befehl.

sudo nano /etc/supervisor.conf

Vergewissere dich, dass du die folgende Zeile im Abschnitt „[include]“ hast. Falls nicht, kannst du das Format wie unten beschrieben in„*.conf“ ändern.

[include]
file = /etc/supervisord.d/*.conf

Speichere und beende die Datei, wenn du fertig bist.

Führe nun den folgenden systemctl-Befehl aus, um den Supervisor-Dienst neu zu starten und die Änderungen zu übernehmen.

sudo systemctl restart supervisord

Zuletzt führst du den Befehl„supervisorctl“ mit sudo-Rechten aus. Dadurch werden alle Prozesse und Dienste überprüft, die von Frappe Framework und ERPNext verwendet werden.

sudo supervisorctl status

Wenn deine ERPNext-Installation erfolgreich war, solltest du eine ähnliche Ausgabe wie die folgende erhalten – Alle Dienste für ERPNext laufen.

erpnext-Apps verifizieren

Jetzt ist die ERPNext-Installation abgeschlossen und es läuft mit Nginx als Webserver und Supervisor als Prozessmanager. Du kannst nun über deinen Domainnamen und den Webbrowser auf deine ERPNext-Installation zugreifen.

ERPNext konfigurieren

Öffne deinen Webbrowser und rufe den Domänennamen deiner ERPNext-Installation auf (z. B. http://erp.hwdomain.io/). Daraufhin wird die Anmeldeseite des Frappe-Frameworks angezeigt.

Gib den Standardbenutzer„Administrator“ und das Passwort ein, das du bei der Erstellung der Website/des Projekts verwendet hast.

Anmeldung erpnext

Wähle nun die Standardsprache, die Zeitzone und die Währung aus. Klicke dann auf Weiter.

Grundkonfiguration

Gib den neuen Admin-Benutzer für deine ERPNext-Installation ein. Gib deinen vollständigen Namen, deine E-Mail-Adresse und dein Passwort ein und klicke dann auf Weiter.

Benutzer einrichten

Gib den Firmennamen ein und lade dein Firmenlogo hoch, dann klicke auf Weiter.

orgz einrichten

Gib Details zu deinem Unternehmen ein und klicke auf Einrichtung abschließen.

detaiiol orgz

Du solltest nun das Administrations-Dashboard deiner ERPNext-Installation sehen.

ERPNext Dashboard

Absicherung mit SSL/TLS-Zertifikaten über Certbot und Letsencrypt

In diesem letzten Schritt sicherst du ERPNext mit SSL/TLS-Zertifikaten über das Certbot-Tool und Letsencrypt. Bevor du beginnst, stelle sicher, dass dein Domainname auf deine Server-IP-Adresse zeigt und dass du eine gültige E-Mail-Adresse hast, mit der du dich bei Letsencrypt registrieren kannst.

Installiere das Certbot-Tool und das Certbot Nginx-Plugin mit dem unten stehenden dnf-Befehl. Wenn du dazu aufgefordert wirst, gibst du zur Bestätigung y ein und drückst ENTER, um fortzufahren.

sudo dnf install certbot python3-certbot-nginx

Nachdem Certbot installiert ist, führe den folgenden Certbot-Befehl aus, um SSL-Zertifikate für deinen ERPNext-Domainnamen zu erstellen. Achte darauf, dass du den Domänennamen und die E-Mail-Adresse in dem unten stehenden Befehl änderst.

sudo certbot --nginx --agree-tos --no-eff-email --redirect --hsts --staple-ocsp --email admin@hwdomain.io -d erp.hwdomain.io

Damit ist die ERPNext-Installation jetzt mit SSL/TLS-Zertifikaten über Certbot und Letsencrypt gesichert. Du hast auch die automatische Umleitung von HTTP zu HTTPS für deinen ERPNext-Domänennamen konfiguriert, die Certbot automatisch vornimmt.

Fazit

In diesem Lernprogramm hast du gelernt, wie du ERPNext, eine Open-Source-ERP-Software, auf einem Rocky Linux 9 Server installierst. Du hast auch gelernt, wie du einige Abhängigkeiten installierst, z.B. Python 3.10, das manuell installiert wird, indem du den Quellcode kompilierst und installierst. Weitere Abhängigkeiten, die du installiert hast, sind MariaDB Server, Nginx, Supervisor, Redis und Fail2ban.

Du hast auch gelernt, wie du das Frappe-Framework installierst und das ERPNext darauf aufbaust. Dann hast du die Grundkonfiguration von ERPNext als ERP-Software kennengelernt.

Schließlich hast du ERPNext für die Produktion bereitgestellt, indem du Nginx als Webserver und Supervisor als Prozessmanager konfiguriert hast. Außerdem hast du den ERPNext-Einsatz mit Certbot und Letsencrypt abgesichert.

Das könnte dich auch interessieren …