Wie man ERPNext unter Debian 9 installiert
ERPNext ist eine kostenlose und quelloffene ERP-Software, die in Python auf dem Frappe-Framework geschrieben wurde und Buchhaltung, Inventarisierung, Fertigung, CRM, Vertrieb, Einkauf, Projektmanagement, HRMS und mehr umfasst. ERPNext ist ein einfaches, leistungsfähiges und einfach zu bedienendes ERP-System. Es verfügt über eine schöne Weboberfläche, mit der Sie die täglichen Aufgaben von einem zentralen Ort aus verwalten können.
In diesem Tutorial erfahren wir, wie man ERPNext-Software auf dem Debian 9-Server installiert.
Voraussetzungen
- Ein Server mit Debian 9.
- Ein Nicht-Root-Benutzer mit sudo-Rechten.
Erste Schritte
Vor dem Start 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
Anschließend starten Sie das System neu, um alle Änderungen zu übernehmen.
Abhängigkeiten installieren
ERPNext benötigt Python Version 2.7, um ordnungsgemäß zu funktionieren. Sie können Python und andere benötigte 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 -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 Befehl pip:
sudo pip install ansible
Installieren Sie Node.js, Redis und Nginx.
Standardmäßig ist die neueste Version der 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 mit dem folgenden Befehl tun:
sudo curl --silent --location https://deb.nodesource.com/setup_8.x | sudo bash -
Als nächstes installieren Sie 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 ihm, 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 der MariaDB nicht im Debian 9-Repository verfügbar. Dazu müssen Sie also das MariaDB-Repository hinzufügen.
Laden Sie zunächst den Signaturschlüssel herunter und fügen Sie ihn Ihrem System mit dem folgenden Befehl 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 Storage Engine zur MariaDB-Konfigurationsdatei hinzufügen, um ERPNext-Datenbanken zu erstellen. Sie können dies tun, indem Sie meine.cnf-Datei 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, dann starten Sie den MariaDB-Dienst und aktivieren Sie ihn beim Booten mit dem folgenden Befehl:
sudo systemctl restart mysql sudo systemctl enable mysql
Als nächstes sichern Sie MariaDB, indem Sie das mysql_secure_installationsskript ausführen:
sudo mysql_secure_installation
Dieses Skript setzt das Root-Passwort, 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 in PDF mit der QT Webkit Rendering Engine zu konvertieren. Installieren Sie zunächst die erforderlichen Abhängigkeiten mit dem folgenden Befehl:
sudo apt-get install libxext6 xfonts-75dpi xfonts-base libxrender1 -y
Laden Sie anschließend 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
Entpacken Sie anschließend die heruntergeladene Datei in das Verzeichnis /opt:
sudo tar -xvf wkhtmltox-0.12.4_linux-generic-amd64.tar.xz -C /opt
Erstellen Sie anschließend 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
Montagetisch
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 zunächst einen Bench-Benutzer mit dem folgenden Befehl:
sudo adduser bench
Als nächstes geben Sie dem Benutzer der Bank sudo-Berechtigungen.
sudo usermod -aG sudo bench
Als nächstes melden Sie sich mit Bench user an und klonen das Bench repository mit dem folgenden Befehl:
su - bench git clone https://github.com/frappe/bench bench-repo
Schließlich installieren Sie Bench mit dem Pip-Befehl:
sudo pip install -e bench-repo
ERPNext installieren
Als nächstes initialisieren Sie ein Bankverzeichnis mit installiertem Frappe-Framework.
bench init erpnext
Als nächstes ändern Sie das Verzeichnis auf erpnext und erstellen eine neue Frappe-Site mit dem folgenden Befehl:
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 muss sich später im Dashboard des Administrators anmelden.
Laden Sie anschließend 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
Nach erfolgreichem Start der Anwendung 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)
Auf ERPNext Web Interface zugreifen
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, Sie werden auf die folgende Seite weitergeleitet:
Geben Sie hier Ihre Administrator-Anmeldeinformationen ein und klicken Sie auf die Schaltfläche Anmelden, Sie sollten die folgende Seite sehen:
Wählen Sie hier die englische Sprache und klicken Sie auf die Schaltfläche Weiter, Sie sollten die folgende Seite sehen:
Hier wählen Sie Ihr Land, Ihre Zeitzone und Währung aus, dann klicken Sie auf die Schaltfläche Weiter, Sie sollten die folgende Seite sehen:
Geben Sie hier Ihren Namen, Ihre E-Mail-Adresse und Ihr Passwort ein, klicken Sie dann auf die Schaltfläche Weiter, Sie sollten die folgende Seite sehen:
Hier wählen Sie Ihre Domain nach Ihren Wünschen aus, dann klicken Sie auf die Schaltfläche Weiter, Sie sollten die folgende Seite sehen:
Geben Sie hier Ihren Firmennamen und Ihre Abkürzung ein, klicken Sie dann auf die Schaltfläche Weiter, Sie sollten die folgende Seite sehen:
Geben Sie hier Ihre Organisationsdaten an und klicken Sie auf die Schaltfläche Complete Setup, Sie sollten die folgende Seite sehen:
Setzen Sie hier ein Ziel, das Sie für Ihr Unternehmen erreichen möchten, und klicken Sie dann auf die Schaltfläche Erstellen, Sie sollten die folgende Seite sehen:
Klicken Sie hier auf die Schaltfläche Weiter, um fortzufahren, Sie sollten die folgende Seite sehen:
Hier, fügen Sie Kunden hinzu, die Sie hinzufügen möchten, und klicken Sie dann auf die Schaltfläche Erstellen, Sie sollten die folgende Seite sehen:
Klicken Sie hier auf die Schaltfläche Weiter, um fortzufahren, Sie sollten die folgende Seite sehen:
Fügen Sie hier Ihre Lieferanten hinzu, die Sie hinzufügen möchten, und klicken Sie dann auf die Schaltfläche Erstellen, Sie sollten die folgende Seite sehen:
Klicken Sie hier auf die Schaltfläche Weiter, um fortzufahren, Sie sollten 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 die Schaltfläche Erstellen, Sie sollten die folgende Seite sehen:
Klicken Sie hier auf die Schaltfläche Weiter, um fortzufahren, Sie sollten die folgende Seite sehen:
Fügen Sie hier Benutzer zu Ihrer Organisation hinzu und klicken Sie dann auf die Schaltfläche Erstellen, Sie sollten die folgende Seite des ERPNext Dashboards sehen:
Fazit
Herzlichen Glückwunsch! Sie haben ERPNext erfolgreich auf dem Debian 9 Server installiert und konfiguriert. Sie können die Anwendung nun ganz einfach zur Verwaltung Ihres Unternehmens verwenden. Weitere Informationen finden Sie auf der offiziellen ERPNext-Dokumentationsseite unter Doc.