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.
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
Überprüfe den Nginx-Dienst, um sicherzustellen, dass der Dienst läuft und aktiviert ist.
sudo systemctl is-enabled nginx sudo systemctl status nginx
Überprüfe nun den Dienst Supervisor Process Manager mit dem folgenden Befehl.
sudo systemctl is-enabled supervisor sudo systemctl status supervisor
Ü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
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.
Ü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
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
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
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
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.
Sobald es initialisiert ist, solltest du die folgende Ausgabe erhalten:
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.
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
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
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
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.
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.
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.
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.
Wähle die Standardsprache, die Zeitzone, das Land und die Währung aus. Klicke dann auf Weiter, um fortzufahren.
Gib nun die Daten deines ersten ERPNext-Benutzers ein und klicke auf Weiter.
Zum Schluss gibst du die Daten deiner Organisation ein und klickst auf die Schaltfläche Setup abschließen, um die ERPNExt-Installation abzuschließen.
Wenn die Installation erfolgreich war, solltest du das ERPNext-Dashboard wie das folgende sehen:
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.