ERPNext ist eine kostenlose und Open-Source-ERP-Software, die in Python auf der Grundlage des Frappe-Frameworks geschrieben wurde und Buchhaltung, Inventar, Fertigung, CRM, Verkauf, Einkauf, Projektmanagement, HRMS und mehr umfasst. ERPNext ist ein einfaches, leistungsstarkes und benutzerfreundliches ERP-System. Es verfügt über eine schöne Weboberfläche, mit der die täglichen Aufgaben von einem zentralen Ort aus verwaltet werden können.
In diesem Tutorial lernen wir, wie man die ERPNext-Software auf einem Debian 9-Server installiert.
Voraussetzungen
- Ein Server mit Debian 9.
- Ein Nicht-Root-Benutzer mit sudo-Berechtigungen.
Erste Schritte
Bevor Sie beginnen, wird empfohlen, Ihr Paket-Repository auf die neueste Version zu aktualisieren. Sie können dies tun, indem Sie den folgenden Befehl ausführen:
sudo apt-get update -y
sudo apt-get upgrade -y
Starten Sie als Nächstes das System neu, um alle Änderungen zu übernehmen.
Installationsabhängigkeiten
ERPNext benötigt die Python-Version 2.7, um ordnungsgemäß zu funktionieren. Sie können Python und andere erforderliche Pakete installieren, indem Sie den folgenden Befehl ausführen:
sudo apt-get install python-minimal git build-essential python-setuptools python-dev libffi-dev libssl-dev curl -y
Sie müssen auch das Pip-Tool von Python installieren, um Python-Abhängigkeiten zu installieren. Sie können dies tun, indem Sie den folgenden Befehl ausführen:
wget https://bootstrap.pypa.io/get-pip.py
sudo python get-pip.py
Als nächstes installieren Sie Ansible mit dem Pip-Befehl:
sudo pip install ansible
Installieren Sie Node.js, Redis und Nginx
Standardmäßig ist die neueste Version von Node.js in Debian 9 nicht verfügbar. Sie müssen also das Nodesource-Repository für Node.js 8.x hinzufügen. Sie können dies tun, indem Sie den folgenden Befehl ausführen:
sudo curl --silent --location https://deb.nodesource.com/setup_8.x | sudo bash -
Installieren Sie als Nächstes Node.js, Nginx und Redis, indem Sie den folgenden Befehl ausführen:
sudo apt-get install nodejs redis-server nginx -y
Sobald alle Pakete installiert sind, starten Sie den Nginx- und Redis-Dienst und ermöglichen Sie ihnen, beim Booten mit dem folgenden Befehl zu starten:
sudo systemctl start nginx
sudo systemctl enable nginx
sudo systemctl start redis-server
sudo systemctl enable redis-server
MariaDB installieren und konfigurieren
Standardmäßig ist die neueste Version von MariaDB nicht im Debian 9-Repository verfügbar. Dafür müssen Sie das MariaDB-Repository hinzufügen.
Laden Sie zuerst den Signaturschlüssel herunter und fügen Sie ihn mit dem folgenden Befehl zu Ihrem System hinzu:
sudo apt-get install software-properties-common dirmngr
sudo apt-key adv --recv-keys --keyserver keyserver.ubuntu.com 0xF1656F24C74CD1D8
Als nächstes fügen Sie das MariaDB-Repository mit dem folgenden Befehl hinzu:
sudo add-apt-repository 'deb [arch=amd64,i386,ppc64el] http://ftp.utexas.edu/mariadb/repo/10.2/debian stretch main'
Installieren Sie schließlich den MariaDB-Server mit dem folgenden Befehl:
sudo apt-get update -y
sudo apt-get install mariadb-server libmysqlclient-dev -y
Als Nächstes müssen Sie die Barracuda-Speicher-Engine zur MariaDB-Konfigurationsdatei für die Erstellung von ERPNext-Datenbanken hinzufügen. Sie können dies tun, indem Sie die Datei my.cnf bearbeiten:
sudo nano /etc/mysql/my.cnf
fügen Sie die folgenden Zeilen hinzu:
[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 [mysql] default-character-set = utf8mb4
Speichern und schließen Sie die Datei, wenn Sie fertig sind, starten Sie dann den MariaDB-Dienst und aktivieren Sie ihn beim Booten mit dem folgenden Befehl:
sudo systemctl restart mysql
sudo systemctl enable mysql
Sichern Sie als Nächstes MariaDB, indem Sie das Skript mysql_secure_installation ausführen:
sudo mysql_secure_installation
Dieses Skript legt das Root-Passwort fest, entfernt anonyme Benutzer, verbietet die Remote-Root-Anmeldung und entfernt die Testdatenbank und den Zugriff auf die sichere MariaDB, wie unten gezeigt:
Set root password? [Y/n] y Remove anonymous users? [Y/n] y Disallow root login remotely? [Y/n] y Remove test database and access to it? [Y/n] y Reload privilege tables now? [Y/n] y
PDF Converter installieren
Sie müssen auch wkhtmltopdf installieren, um HTML mithilfe der QT Webkit-Rendering-Engine in PDF umzuwandeln. Installieren Sie zuerst die erforderlichen Abhängigkeiten mit dem folgenden Befehl:
sudo apt-get install libxext6 xfonts-75dpi xfonts-base libxrender1 -y
Laden Sie als Nächstes die neueste Version von wkhtmltopdf mit dem folgenden Befehl herunter:
wget https://github.com/wkhtmltopdf/wkhtmltopdf/releases/download/0.12.4/wkhtmltox-0.12.4_linux-generic-amd64.tar.xz
Extrahieren Sie als Nächstes die heruntergeladene Datei in das Verzeichnis /opt:
sudo tar -xvf wkhtmltox-0.12.4_linux-generic-amd64.tar.xz -C /opt
Erstellen Sie als Nächstes mit dem folgenden Befehl einen Softlink für wkhtmltopdf:
sudo ln -s /opt/wkhtmltox/bin/wkhtmltopdf /usr/bin/wkhtmltopdf
sudo ln -s /opt/wkhtmltox/bin/wkhtmltopdf /usr/bin/wkhtmltopdf
Installieren Sie Bench
Als Nächstes müssen Sie Bench installieren, um die ERPNext-Anwendung auf Ihrem System zu installieren und zu verwalten. Bench wird auch verwendet, um Nginx- und Supervisor-Konfigurationen zu erstellen und zu verwalten.
Vor der Installation von Bench müssen Sie einen Benutzer für Bench hinzufügen.
Erstellen Sie zuerst einen Bench-Benutzer mit dem folgenden Befehl:
sudo adduser bench
Geben Sie als Nächstes dem Bench-Benutzer sudo-Berechtigungen.
sudo usermod -aG sudo bench
Melden Sie sich als Nächstes mit dem Bench-Benutzer an und klonen Sie das Bench-Repository mit dem folgenden Befehl:
su - bench
git clone https://github.com/frappe/bench bench-repo
Installieren Sie schließlich Bench mit dem Pip-Befehl:
sudo pip install -e bench-repo
ERPNext installieren
Als nächstes initialisieren Sie ein Bench-Verzeichnis mit installiertem Frappe-Framework.
bench init erpnext
Wechseln Sie als Nächstes in das Verzeichnis erpnext und erstellen Sie mit dem folgenden Befehl eine neue Frappe-Site:
cd erpnext
bench new-site test.example.com
Der obige Befehl fordert Sie auf, das MySQL-Root-Passwort anzugeben und fordert Sie auf, ein neues Passwort für das Administratorkonto festzulegen. Das Administratorkennwort wird später benötigt, um sich beim Administrator-Dashboard anzumelden.
Laden Sie als Nächstes die ERPNext-Installationsdateien aus dem Git-Repository mit dem folgenden Befehl herunter:
bench get-app erpnext https://github.com/frappe/erpnext
Als nächstes installieren Sie ERPNext auf Ihrer neu erstellten Website.
bench --site test.example.com install-app erpnext
Starten Sie schließlich die Bench-Anwendung mit dem folgenden Befehl:
bench start
Sobald die Anwendung erfolgreich gestartet wurde, sollten Sie die folgende Ausgabe sehen:
13:40:10 system | redis_socketio.1 started (pid=2618) 13:40:10 system | worker_long.1 started (pid=2625) 13:40:10 system | watch.1 started (pid=2619) 13:40:10 system | redis_queue.1 started (pid=2626) 13:40:10 redis_socketio.1 | 2630:M 24 Feb 13:40:10.939 * Increased maximum number of open files to 10032 (it was originally set to 1024). 13:40:10 system | web.1 started (pid=2629) 13:40:11 system | schedule.1 started (pid=2634) 13:40:10 redis_socketio.1 | _._ 13:40:10 redis_socketio.1 | _.-``__ ''-._ 13:40:10 redis_socketio.1 | _.-`` `. `_. ''-._ Redis 3.0.6 (00000000/0) 64 bit 13:40:10 redis_socketio.1 | .-`` .-```. ```\/ _.,_ ''-._ 13:40:10 redis_socketio.1 | ( ' , .-` | `, ) Running in standalone mode 13:40:10 redis_socketio.1 | |`-._`-...-` __...-.``-._|'` _.-'| Port: 12000 13:40:10 redis_socketio.1 | | `-._ `._ / _.-' | PID: 2630 13:40:10 redis_socketio.1 | `-._ `-._ `-./ _.-' _.-' 13:40:10 redis_socketio.1 | |`-._`-._ `-.__.-' _.-'_.-'| 13:40:10 redis_socketio.1 | | `-._`-._ _.-'_.-' | http://redis.io 13:40:10 redis_socketio.1 | `-._ `-._`-.__.-'_.-' _.-' 13:40:10 redis_socketio.1 | |`-._`-._ `-.__.-' _.-'_.-'| 13:40:10 redis_socketio.1 | | `-._`-._ _.-'_.-' | 13:40:10 redis_socketio.1 | `-._ `-._`-.__.-'_.-' _.-' 13:40:10 redis_socketio.1 | `-._ `-.__.-' _.-' 13:40:10 redis_socketio.1 | `-._ _.-' 13:40:10 redis_socketio.1 | `-.__.-' 13:40:10 redis_socketio.1 | 13:40:11 system | worker_default.1 started (pid=2639) 13:40:10 redis_socketio.1 | 2630:M 24 Feb 13:40:10.973 # WARNING: The TCP backlog setting of 511 cannot be enforced because /proc/sys/net/core/somaxconn is set to the lower value of 128. 13:40:10 redis_socketio.1 | 2630:M 24 Feb 13:40:10.974 # Server started, Redis version 3.0.6 13:40:10 redis_socketio.1 | 2630:M 24 Feb 13:40:10.974 # WARNING overcommit_memory is set to 0! Background save may fail under low memory condition. To fix this issue add 'vm.overcommit_memory = 1' to /etc/sysctl.conf and then reboot or run the command 'sysctl vm.overcommit_memory=1' for this to take effect. 13:40:10 redis_socketio.1 | 2630:M 24 Feb 13:40:10.974 # WARNING you have Transparent Huge Pages (THP) support enabled in your kernel. This will create latency and memory usage issues with Redis. To fix this issue run the command 'echo never > /sys/kernel/mm/transparent_hugepage/enabled' as root, and add it to your /etc/rc.local in order to retain the setting after a reboot. Redis must be restarted after THP is disabled. 13:40:10 redis_queue.1 | 2635:M 24 Feb 13:40:10.976 * Increased maximum number of open files to 10032 (it was originally set to 1024). 13:40:10 redis_queue.1 | _._ 13:40:10 redis_queue.1 | _.-``__ ''-._ 13:40:10 redis_queue.1 | _.-`` `. `_. ''-._ Redis 3.0.6 (00000000/0) 64 bit 13:40:10 redis_queue.1 | .-`` .-```. ```\/ _.,_ ''-._ 13:40:10 redis_queue.1 | ( ' , .-` | `, ) Running in standalone mode 13:40:10 redis_queue.1 | |`-._`-...-` __...-.``-._|'` _.-'| Port: 11000 13:40:10 redis_queue.1 | | `-._ `._ / _.-' | PID: 2635 13:40:10 redis_queue.1 | `-._ `-._ `-./ _.-' _.-' 13:40:10 redis_queue.1 | |`-._`-._ `-.__.-' _.-'_.-'| 13:40:10 redis_queue.1 | | `-._`-._ _.-'_.-' | http://redis.io 13:40:10 redis_queue.1 | `-._ `-._`-.__.-'_.-' _.-' 13:40:10 redis_queue.1 | |`-._`-._ `-.__.-' _.-'_.-'| 13:40:10 redis_queue.1 | | `-._`-._ _.-'_.-' | 13:40:10 redis_queue.1 | `-._ `-._`-.__.-'_.-' _.-' 13:40:10 redis_queue.1 | `-._ `-.__.-' _.-' 13:40:10 redis_queue.1 | `-._ _.-' 13:40:10 redis_queue.1 | `-.__.-' 13:40:10 redis_queue.1 | 13:40:10 redis_queue.1 | 2635:M 24 Feb 13:40:10.998 # WARNING: The TCP backlog setting of 511 cannot be enforced because /proc/sys/net/core/somaxconn is set to the lower value of 128. 13:40:10 redis_queue.1 | 2635:M 24 Feb 13:40:10.999 # Server started, Redis version 3.0.6 13:40:11 redis_queue.1 | 2635:M 24 Feb 13:40:11.000 # WARNING overcommit_memory is set to 0! Background save may fail under low memory condition. To fix this issue add 'vm.overcommit_memory = 1' to /etc/sysctl.conf and then reboot or run the command 'sysctl vm.overcommit_memory=1' for this to take effect. 13:40:11 redis_socketio.1 | 2630:M 24 Feb 13:40:11.000 * The server is now ready to accept connections on port 12000 13:40:11 system | socketio.1 started (pid=2637) 13:40:11 redis_queue.1 | 2635:M 24 Feb 13:40:11.029 # WARNING you have Transparent Huge Pages (THP) support enabled in your kernel. This will create latency and memory usage issues with Redis. To fix this issue run the command 'echo never > /sys/kernel/mm/transparent_hugepage/enabled' as root, and add it to your /etc/rc.local in order to retain the setting after a reboot. Redis must be restarted after THP is disabled. 13:40:11 redis_queue.1 | 2635:M 24 Feb 13:40:11.029 * The server is now ready to accept connections on port 11000 13:40:11 system | redis_cache.1 started (pid=2652) 13:40:11 system | worker_short.1 started (pid=2651) 13:40:11 redis_cache.1 | 2660:M 24 Feb 13:40:11.100 * Increased maximum number of open files to 10032 (it was originally set to 1024). 13:40:11 redis_cache.1 | _._ 13:40:11 redis_cache.1 | _.-``__ ''-._ 13:40:11 redis_cache.1 | _.-`` `. `_. ''-._ Redis 3.0.6 (00000000/0) 64 bit 13:40:11 redis_cache.1 | .-`` .-```. ```\/ _.,_ ''-._ 13:40:11 redis_cache.1 | ( ' , .-` | `, ) Running in standalone mode 13:40:11 redis_cache.1 | |`-._`-...-` __...-.``-._|'` _.-'| Port: 13000 13:40:11 redis_cache.1 | | `-._ `._ / _.-' | PID: 2660 13:40:11 redis_cache.1 | `-._ `-._ `-./ _.-' _.-' 13:40:11 redis_cache.1 | |`-._`-._ `-.__.-' _.-'_.-'| 13:40:11 redis_cache.1 | | `-._`-._ _.-'_.-' | http://redis.io 13:40:11 redis_cache.1 | `-._ `-._`-.__.-'_.-' _.-' 13:40:11 redis_cache.1 | |`-._`-._ `-.__.-' _.-'_.-'| 13:40:11 redis_cache.1 | | `-._`-._ _.-'_.-' | 13:40:11 redis_cache.1 | `-._ `-._`-.__.-'_.-' _.-' 13:40:11 redis_cache.1 | `-._ `-.__.-' _.-' 13:40:11 redis_cache.1 | `-._ _.-' 13:40:11 redis_cache.1 | `-.__.-' 13:40:11 redis_cache.1 | 13:40:11 redis_cache.1 | 2660:M 24 Feb 13:40:11.115 # WARNING: The TCP backlog setting of 511 cannot be enforced because /proc/sys/net/core/somaxconn is set to the lower value of 128. 13:40:11 redis_cache.1 | 2660:M 24 Feb 13:40:11.115 # Server started, Redis version 3.0.6 13:40:11 redis_cache.1 | 2660:M 24 Feb 13:40:11.115 # WARNING overcommit_memory is set to 0! Background save may fail under low memory condition. To fix this issue add 'vm.overcommit_memory = 1' to /etc/sysctl.conf and then reboot or run the command 'sysctl vm.overcommit_memory=1' for this to take effect. 13:40:11 redis_cache.1 | 2660:M 24 Feb 13:40:11.116 # WARNING you have Transparent Huge Pages (THP) support enabled in your kernel. This will create latency and memory usage issues with Redis. To fix this issue run the command 'echo never > /sys/kernel/mm/transparent_hugepage/enabled' as root, and add it to your /etc/rc.local in order to retain the setting after a reboot. Redis must be restarted after THP is disabled. 13:40:11 redis_cache.1 | 2660:M 24 Feb 13:40:11.116 * The server is now ready to accept connections on port 13000 13:40:16 socketio.1 | listening on *: 9000 13:40:34 worker_long.1 | 13:40:34 RQ worker u'rq:worker:Node1.2632.long' started, version 0.10.0 13:40:34 worker_long.1 | 13:40:34 *** Listening on long... 13:40:34 worker_long.1 | 13:40:34 Cleaning registries for queue: long 13:40:34 worker_default.1 | 13:40:34 RQ worker u'rq:worker:Node1.2646.default' started, version 0.10.0 13:40:34 worker_default.1 | 13:40:34 *** Listening on default... 13:40:34 worker_default.1 | 13:40:34 Cleaning registries for queue: default 13:40:34 worker_short.1 | 13:40:34 RQ worker u'rq:worker:Node1.2661.short' started, version 0.10.0 13:40:34 worker_short.1 | 13:40:34 *** Listening on short... 13:40:34 worker_short.1 | 13:40:34 Cleaning registries for queue: short 13:40:34 web.1 | * Running on http://0.0.0.0:8000/ (Press CTRL+C to quit)
Zugriff auf die ERPNext-Webschnittstelle
ERPNext ist nun installiert und läuft auf Port 8000 . Es ist an der Zeit, auf die ERPNext-Webschnittstelle zuzugreifen.
Öffnen Sie Ihren Webbrowser und geben Sie die URL http://test.exaple.com:8000 ein , werden Sie auf die folgende Seite weitergeleitet:
Geben Sie hier Ihre Anmeldeinformationen für das Administratorkonto ein und klicken Sie auf Anmelden klicken, sollten Sie die folgende Seite sehen:
Wählen Sie hier die englische Sprache und klicken Sie auf Weiter klicken, sollten Sie die folgende Seite sehen:
Wählen Sie hier Ihr Land, Ihre Zeitzone und Ihre Währung aus und klicken Sie dann auf Weiter klicken, sollten Sie die folgende Seite sehen:
Geben Sie hier Ihren Namen, Ihre E-Mail-Adresse und Ihr Passwort ein und klicken Sie dann auf Weiter klicken, sollten Sie die folgende Seite sehen:
Wählen Sie hier Ihre gewünschte Domain aus und klicken Sie dann auf Weiter klicken, sollten Sie die folgende Seite sehen:
Geben Sie hier Ihren Firmennamen und die Abkürzung ein und klicken Sie dann auf Weiter klicken, sollten Sie die folgende Seite sehen:
Geben Sie hier Ihre Organisationsdetails ein und klicken Sie auf Einrichtung abschließen klicken, sollten Sie die folgende Seite sehen:
Legen Sie hier ein Ziel fest, das Sie für Ihr Unternehmen erreichen möchten, und klicken Sie dann auf Erstellen klicken, sollten Sie die folgende Seite sehen:
Klicken Sie hier auf Weiter um fortzufahren, sollten Sie die folgende Seite sehen:
Fügen Sie hier Kunden hinzu, die Sie hinzufügen möchten, und klicken Sie dann auf Erstellen klicken, sollten Sie die folgende Seite sehen:
Klicken Sie hier auf Weiter um fortzufahren, sollten Sie die folgende Seite sehen:
Fügen Sie hier Ihre Lieferanten hinzu, die Sie hinzufügen möchten, und klicken Sie dann auf Erstellen klicken, sollten Sie die folgende Seite sehen:
Klicken Sie hier auf Weiter um fortzufahren, sollten Sie die folgende Seite sehen:
Fügen Sie hier Ihre Produkte und Dienstleistungen hinzu, die Sie kaufen oder verkaufen möchten, und klicken Sie dann auf Erstellen klicken, sollten Sie die folgende Seite sehen:
Klicken Sie hier auf Weiter um fortzufahren, sollten Sie die folgende Seite sehen:
Fügen Sie hier Benutzer zu Ihrer Organisation hinzu und klicken Sie dann auf Erstellen klicken, sollten Sie die folgende Seite des ERPNext-Dashboards sehen:
Schlussfolgerung
Herzlichen Glückwunsch! Sie haben ERPNext erfolgreich auf dem Debian 9-Server installiert und konfiguriert. Sie können die Anwendung jetzt ganz einfach verwenden, um Ihr Unternehmen zu verwalten. Weitere Informationen finden Sie auf der offiziellen ERPNext-Dokumentationsseite unter Doc.