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:

Auf ERPNext Web Interface zugreifen

Geben Sie hier Ihre Administrator-Anmeldeinformationen ein und klicken Sie auf die Schaltfläche Anmelden, Sie sollten die folgende Seite sehen:

Anmeldedaten für Administratorkonten

Wählen Sie hier die englische Sprache und klicken Sie auf die Schaltfläche Weiter, Sie sollten die folgende Seite sehen:

Wählen Sie die englische Sprache

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:

Wählen Sie Ihr Land, Ihre Zeitzone und Ihre Währung aus.

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:

Geben Sie Ihren Namen, Ihre E-Mail-Adresse und Ihr Passwort an.

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:

Domainname einstellen

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 Ihren Firmennamen und Ihre Abkürzung an.

Geben Sie hier Ihre Organisationsdaten an und klicken Sie auf die Schaltfläche Complete Setup, Sie sollten die folgende Seite sehen:

Geben Sie Ihre Organisationsdaten an

Setup abgeschlossen

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:

Setzen Sie ein Ziel

Klicken Sie hier auf die Schaltfläche Weiter, um fortzufahren, Sie sollten die folgende Seite sehen:

Kunden hinzufügen

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:

Kunden hinzugefügt

Klicken Sie hier auf die Schaltfläche Weiter, um fortzufahren, Sie sollten die folgende Seite sehen:

Lieferanten hinzufügen

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:

Einen neuen Lieferanten hinzufügen

Klicken Sie hier auf die Schaltfläche Weiter, um fortzufahren, Sie sollten die folgende Seite sehen:

Produkte hinzufügen

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:

Ein neues Produkt hinzufügen

Klicken Sie hier auf die Schaltfläche Weiter, um fortzufahren, Sie sollten die folgende Seite sehen:

Benutzer hinzufügen

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:

ERPNext Dashboard

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.

Das könnte dich auch interessieren …