Wie installiere ich ERPNext unter Debian 12

ERPNext ist eine Open-Source-Lösung für Enterprise Resource Planning (ERP). ERPNext kann in verschiedenen Branchen eingesetzt werden, z. B. in der Fertigung, im Vertrieb, im Einzelhandel, im Handel, im Dienstleistungssektor, im Bildungswesen, im Non-Profit-Bereich und im Gesundheitswesen. Es bietet außerdem Module wie Buchhaltung, CRM, Vertrieb, Einkauf, Website, E-Commerce, Point of Sale, Fertigung, Lager, Projektmanagement, Inventar und Dienstleistungen.

ERPNext ist eine ERP-Plattform für Unternehmen, 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. Ltd. entwickelt. ERPNext ist eine Anwendung, die unter dem frappeframework geschrieben wurde, einem Open-Source-Webframework 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 Tutorial führen wir dich durch die Installation von ERPNext auf dem Debian 12 Server. Du wirst ERPNext mit einem MariaDB-Datenbankserver, Nginx als Reverse Proxy und einem Supervisor-Prozessmanager installieren.

Voraussetzungen

Um loszulegen, musst du sicherstellen, dass du Zugang zu Folgendem hast

  • Einen Debian 12 Server.
  • Einen Nicht-Root-Benutzer mit sudo-Administrator-Rechten.
  • Einen Domainnamen, der auf die IP-Adresse des Servers zeigt.

Installieren der Abhängigkeiten

ERPNext ist eine in Python geschriebene Open-Source-ERP- und CRM-Software. Um ERPNext zu installieren, musst du Abhängigkeiten wie Python 3, MariaDB Server, Node.js, Yarn Paketmanager, Nginx, Supervisor Prozessmanager und Redis auf deinem Debian-Server installieren.

In diesem ersten Schritt wirst du die ERPNext-Abhängigkeiten aus dem Debian-Repository installieren. Anschließend überprüfst du alle Abhängigkeiten, um sicherzustellen, dass alles installiert ist.

Bevor du die Abhängigkeiten installierst, führe den Befehl apt update aus, um deinen Debian-Paketindex zu aktualisieren.

sudo apt update

Führe nun den folgenden Befehl aus, um die Abhängigkeiten für ERPNext zu installieren, einschließlich Python 3.11, Node.js, NPM, MariaDB Server, Nginx Webserver, Supervisor Prozessmanager und Redis Server.

sudo apt install python3-dev python3-venv nodejs yarnpkg npm redis-server mariadb-server nginx supervisor fail2ban libffi-dev git python3-pip python3-testresources libssl-dev wkhtmltopdf gcc g++ make

Gib y ein, um mit der Installation fortzufahren.

Abhängigkeiten installieren

Sobald die Abhängigkeiten installiert sind, überprüfe alle Abhängigkeiten, indem du den folgenden Befehl ausführst. Du überprüfst einige Dienste mit dem Befehl systemctl, um sicherzustellen, dass jeder Dienst läuft und aktiviert ist.

Überprüfe den MariaDB-Server mit dem folgenden Befehl.

sudo systemctl is-enabled mariadb
sudo systemctl status mariadb

mariadb prüfen

Überprüfe den Nginx-Dienst, um sicherzustellen, dass der Dienst läuft und aktiviert ist.

sudo systemctl is-enabled nginx
sudo systemctl status nginx

nginx prüfen

Überprüfe nun den Dienst Supervisor Process Manager mit dem folgenden Befehl.

sudo systemctl is-enabled supervisor
sudo systemctl status supervisor

Aufsichtsperson überprüfen

Überprüfe dann Redis, um sicherzustellen, dass es verfügbar und bereit für die ERPNext-Produktion ist.

sudo systemctl is-enabled redis-server
sudo systemctl status redis-server

Redis prüfen

Als Nächstes überprüfst du die Node.js- und NPM-Versionen mit dem folgenden Befehl.

node --version
npm --version

Die folgende Ausgabe bestätigt, dass Node.js v18.x und NPM 1.22 installiert ist.

node.js und npm überprüfen

Überprüfe schließlich die Version von wkhtmltopdf mit dem folgenden Befehl. Du solltest sehen, dass die wkhtmltopdf-Version 0.12 installiert ist.

wkhtmltopdf --version
wkhtmltoimage --version

wkhtmltopdf prüfen

MariaDB Server konfigurieren

Nachdem du die Abhängigkeiten installiert hast, konfigurierst du deinen MariaDB-Server, um sicherzustellen, dass er für die ERPNext-Installation bereit ist. Für ERPNext muss das Barracuda-Format aktiviert und der Standardzeichensatz auf utf8mb4 eingestellt sein. Außerdem musst du deinen MariaDB-Server mit dem Dienstprogramm mariadb-secure-installation sichern.

Führe den Befehl mariadb-secure-installation aus, um die Installation deines MariaDB-Servers zu sichern.

sudo mariadb-secure-installation

Gib Y ein, um die folgenden Konfigurationen zu übernehmen, wenn du danach gefragt wirst:

  • Lokale Authentifizierung auf unix_socket umstellen? Gib n für nein ein.
  • MariaDB Root-Passwort einrichten? Gib y ein, gib dann das neue MariaDB Root-Passwort ein und wiederhole die Eingabe.
  • Den anonymen Standardbenutzer entfernen? Gib zur Bestätigung y ein.
  • Fernanmeldung für den Root-Benutzer deaktivieren? Gib zur Bestätigung y ein.
  • Den Standard-Datenbanktest entfernen? Gib zur Bestätigung y ein.
  • Tabellenberechtigungen neu laden und Änderungen übernehmen? Bestätige mit y.

Öffne nun die MariaDB Server Konfiguration /etc/mysql/mariadb.conf.d/50-server.cnf mit dem folgenden nano Editor.

sudo nano /etc/mysql/mariadb.conf.d/50-server.cnf

Füge die folgende Konfiguration im Abschnitt [mysqld] ein, um das Barracuda-Format zu aktivieren und den Standardzeichensatz auf utf8mb4 einzustellen.

[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 die Datei und beende den Editor, wenn du fertig bist.

Als nächstes öffnest du die Datei /etc/mysql/mariadb.conf.d/50-mysql-clients.cnf mit dem nano-Editor, um die MariaDB-Client-Verbindung zu konfigurieren.

sudo nano /etc/mysql/mariadb.conf.d/50-mysql-clients.cnf

Füge die folgende Konfiguration in den Abschnitt [mysql] ein.

[mysql]
default-character-set = utf8mb4

Speichere und beende die Datei.

Führe abschließend den folgenden Befehl aus, um den MariaDB-Server neu zu starten und die neue Konfiguration anzuwenden.

sudo systemctl restart mariadb

Installation des Bench-Befehlszeilentools

Bench ist ein Kommandozeilentool zur Verwaltung von Frappe Frameworks, einschließlich Anwendungen und Websites. ERPNext ist eine mit dem Frappe Framework geschriebene Webanwendung, die du über Bench installieren musst.

Im folgenden Abschnitt erstellst du einen neuen Benutzer, der für ERPNext verwendet wird, und installierst dann das Dienstprogramm Bench auf deinem Debian-System.

Führe zunächst den folgenden Befehl aus, um einen neuen Benutzer frappe hinzuzufügen, gib das neue Passwort ein und wiederhole den Vorgang.

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

Füge den Benutzer frappe zur sudo-Gruppe hinzu, damit er den sudo-Befehl ausführen kann.

sudo usermod -aG sudo frappe

Benutzer hinzufügen

Als Nächstes meldest du dich als neuer Benutzer frappe an und installierst das Paket frappe-bench oder bench über den Python-Paketmanager pip.

su - frappe
sudo pip3 install frappe-bench --break-system-packages

Bank montieren

Sobald die frappe-bench installiert ist, überprüfe sie mit dem folgenden Befehl. In diesem Beispiel wird bench 5.17 unter /usr/local/bin/bench installiert.

which bench
bench --version

Bank überprüfen

Installation von ERPNext über Bench

In diesem Abschnitt wirst du ERPNext über die Bench-Befehlszeile installieren. Du initialisierst das Frappe-Framework-Projekt, erstellst eine neue Site und lädst dann die ERPNext-Anwendung herunter und installierst sie im Frapper-Projekt.

Führe zunächst den unten stehenden Bench-Befehl aus, um Frappe Framework 14 im Verzeichnis frappe-bench zu initialisieren.

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

Unten siehst du, wie die Installation von Frappe Framework beginnt.

Frappe über die Bank initialisieren

Sobald es initialisiert ist, solltest du die folgende Ausgabe erhalten:

Initialisierungserfolg

Führe nun den folgenden Befehl aus, um Benutzern die Ausführung des Frappe Frameworks zu ermöglichen. Dadurch können Gruppen wie www-data das Frappe Framework ausführen.

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

Als Nächstes wechselst du in das Frappe-Framework-Installationsverzeichnis ~/frappe-bench und erstellst eine neue Website erp.hwdomain.io.

cd ~/frappe-bench
bench new-site erp.hwdomain.io --admin-password 'erpadmin' --mariadb-root-username root --mariadb-root-password 'password'

Unten siehst du die Ausgabe, die du erhältst, nachdem die neue Site erstellt wurde.

Neue Seite erstellen

Wechsle zur neuen Site erp.hwdomain.io, indem du den Bench-Befehl unten ausführst.

bench use erp.hwdomain.io

Sobald du gewechselt hast, solltest du die Ausgabe Current Site set to erp.hwdomain.io sehen.

Führe nun den unten stehenden Bench-Befehl aus, um die Zahlungen und die nächsten Anwendungen herunterzuladen.

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

Zahlungen installieren

erpnext installieren

Sobald erpnext heruntergeladen ist, führe den folgenden Befehl aus, um es auf der Site erp.hwdomain.io zu installieren. Dadurch wird auch die Zahlungsanwendung automatisch installiert.

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

erpnext zur Website hinzufügen

Nachdem die Installation abgeschlossen ist, führe den folgenden Befehl aus, um den Scheduler zu aktivieren und die Wartung auf der Site erp.hwdomain.io zu deaktivieren.

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

Planer aktivieren

Jetzt, wo ERPNext installiert ist, konfigurierst du ERPNext, indem du Nginx als Reverse Proxy und Supervisor als Prozessmanager für deine ERPNext-Installation hinzufügst.

ERPNext für die Produktion vorbereiten

In diesem Schritt richtest du ERPNext für die Produktion ein, indem du Nginx als Reverse-Proxy und Supervisor als Prozessmanager konfigurierst, was automatisch über Bench erfolgen kann.

Führe den folgenden Befehl aus, um die ERPNext-Installation zu konfigurieren. Dadurch wird Ansible heruntergeladen und installiert und anschließend Nginx als Reverse-Proxy und Supervisor als Prozessmanager automatisch konfiguriert.

sudo pip3 install ansible --break-system-packages
sudo bench setup production frappe

Im Folgenden siehst du eine automatische Konfiguration von Nginx und Supervisor für deine ERPNext-Installation.

erpnext für die Produktion

Wenn ein Fehler auftritt, kannst du Nginx und Supervisor auch mit dem unten stehenden Befehl konfigurieren.

sudo bench setup supervisor
sudo bench setup nginx
sudo bench setup production frappe

Starte als Nächstes die Dienste von Nginx und Supervisor neu, um sicherzustellen, dass die neuen Änderungen übernommen werden.

sudo systemctl restart nginx supervisor

Führe nun den folgenden Befehl aus, um den Nginx-Dienst zu überprüfen und sicherzustellen, dass der Dienst läuft.

sudo systemctl status nginx

Die folgende Ausgabe zeigt, dass Nginx läuft.

nginx und Supervisor neu starten

Führe abschließend den Befehl supervisorctl aus, um den Prozess list ERPNext mit dem Supervisor zu überprüfen.

sudo supervisorctl status

Wenn alles gut läuft, solltest du jeden Prozess mit dem Status RUNNING sehen.

supervisorctl status

Wenn Nginx und Supervisor konfiguriert sind, kannst du deine ERPNext-Installation über deinen Webbrowser starten.

ERPNext-Installation über den Web-Installer

Starte deinen Webbrowser und rufe den Domainnamen deiner ERPNext-Installation auf, z. B. http://erp.hwdomain.io/. Wenn deine ERPNext-Installation erfolgreich war, solltest du die ERPNext-Anmeldeseite sehen.

Gib den Standardbenutzer Administrator und das von dir konfigurierte Passwort ein und klicke dann auf Anmelden.

Anmeldung erpnext

Wähle die Standardsprache, die Zeitzone, das Land und die Währung aus. Klicke dann auf Weiter, um fortzufahren.

Zeitzone auswählen

Gib nun die Daten deines ersten ERPNext-Benutzers ein und klicke auf Weiter.

Zeitzone einrichten

Zum Schluss gibst du die Daten deiner Organisation ein und klickst auf die Schaltfläche Setup abschließen, um die ERPNExt-Installation abzuschließen.

Organisationen gründen

Wenn die Installation erfolgreich war, solltest du das ERPNext-Dashboard wie das folgende sehen:

erpnext Dashboard

Jetzt ist die ERPNext-Installation abgeschlossen.

Fazit

Herzlichen Glückwunsch! Du hast die Installation von ERPNext auf Debian 12 mit dem MariaDB-Server und dem Nginx-Webserver abgeschlossen. Du hast ERPNext über die Bench-Befehlszeile auf deinem Debian-Server installiert und kannst nun ERPNext als Enterprise Resource Planning für dein Unternehmen nutzen.

Das könnte dich auch interessieren …