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…‚.
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.
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
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.
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.
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
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
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
Nachdem die Installation des Frappeframeworks abgeschlossen ist, solltest du die folgende Ausgabe erhalten.
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.
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.
Und unten siehst du den Downloadprozess der ERPNext-Anwendung.
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.
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
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.
Unten siehst du die Ausgabe, wenn die Konfiguration abgeschlossen ist.
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.
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.
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.
Wähle nun die Standardsprache, die Zeitzone und die Währung aus. Klicke dann auf Weiter.
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.
Gib den Firmennamen ein und lade dein Firmenlogo hoch, dann klicke auf Weiter.
Gib Details zu deinem Unternehmen ein und klicke auf Einrichtung abschließen.
Du solltest nun das Administrations-Dashboard deiner ERPNext-Installation sehen.
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.