Sascha Böhm - Wie installiere ich ERPNext unter Debian 12

Der Softwarebaukasten „Frappe Framework“ fungiert als eine Art Full-Stack-Web-Framework, das in den Programmiersprachen Python und Javascript geschrieben ist.

 · 2 Minuten Lesezeit

Voraussetzungen

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

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

Installieren der Abhängigkeiten

sudo apt update
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
npm install --global yarn

MariaDB Server konfigurieren

sudo mariadb-secure-installation

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

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

MariaDB Server config-Dateien anpassen

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

Füge folgendes in dieser Konfigurations-Datei 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

Datei speichern und beenden

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

Füge folgendes in dieser Konfigurations-Datei ein

[mysql]
default-character-set = utf8mb4

Datei speichern und beenden

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

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

Jetzt loggen wir uns als User Frappe ein und installieren frappe-bench

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

Nach der Installation prüfen wir mit folgenden Befehlen ob alles geklappt hat.

which bench
bench --version

Installation von Frappe-Framework über Bench

Als erstes installieren wir frappe-bench mit folgenden Befehl, wichtig ist hier --frappe-branch "version 1xxxx", ich nutze meist version-15-hotfix, gibt man hier nichts weiter an wird automatisch die neuste Version installiert.

bench init --python python3.11 --frappe-branch version-15-hotfix frappe-bench

Wenn installation erfolgreich

sudo chmod -R o+rx /home/frappe/frappe-bench
cd ~/frappe-bench
bench new-site {dein site-name}  #Hier wirst Du dann nach dem Maria-DB-Root Passwort und Passwort für den Benutzer adminDie gerade eingerichtete Site machen wir zum Standardbench use {dein site-name}

Seite in die Host-Datei schreiben:

bench use {dein site-name} #macht die Seite als Default Site
bench add-to-hosts

Scheduler aktivieren & Wartungsmodus deaktivieren mit folgenden Befehlen:

bench --site {dein site-name} enable-scheduler
bench --site {dein site-name} set-maintenance-mode off

System für Produktionsmodus:

sudo pip3 install ansible --break-system-packages
sudo bench setup supervisor
sudo bench setup nginx
sudo bench setup production frappe
sudo systemctl restart nginx supervisor

Sollte alles ohne Probleme gelaufen sein, ist deine Seite jetzt über http://{dein site-name} erreichbar.Hier dann einfach mit Administrator -> Dein Passwort. einloggen und installation abschließen