So installierst du ERPNext unter Ubuntu 20.04 LTS

ERPNext ist eine freie und quelloffene ERP-Software, die mit Python, JavaScript und dem Frappe Framework entwickelt wurde. Es ist ein modernes, einfach zu bedienendes, kostenloses Geschäftssystem, das von Herstellern, Händlern und Dienstleistern genutzt wird. Es wurde für kleine und mittelständische Unternehmen entwickelt und hilft ihnen, alle Aspekte ihres Geschäftsbetriebs zu verwalten. Es ist eine der besten Open-Source-ERP-Verwaltungssoftware, die von Tausenden von Unternehmen weltweit für die Verwaltung ihrer ERP-Prozesse genutzt wird.

In diesem Tutorial erkläre ich dir, wie du ERPNext auf einem Ubuntu 20.04 Server installierst.

Voraussetzungen

  • Ein Server, auf dem Ubuntu 20.04 läuft.
  • Eine gültige Domain ist auf deinem Server angegeben.
  • Ein Root-Passwort ist auf deinem Server eingerichtet.

Erste Schritte

Bevor du beginnst, musst du die erforderlichen Python-Abhängigkeiten in deinem System installieren. Du kannst sie alle mit dem folgenden Befehl installieren:

apt-get install python3-dev libffi-dev git python3-pip python3-testresources libssl-dev wkhtmltopdf gcc g++ make -y

Nachdem du die Python-Abhängigkeiten installiert hast, verwendet ERPNext auch Node.js für sein Frontend. Füge also das Node.js-Repository mit dem folgenden Befehl hinzu:

curl -sL https://deb.nodesource.com/setup_12.x | bash -

Als Nächstes installierst du Node.js und den Redis-Server mit dem folgenden Befehl:

apt-get install nodejs redis-server -y

Sobald beide Pakete installiert sind, installierst du das Yarn-Paket mit folgendem Befehl:

npm install -g yarn

Sobald du damit fertig bist, kannst du mit dem nächsten Schritt fortfahren.

MariaDB Datenbank installieren und konfigurieren

Standardmäßig ist MariaDB im Standard-Repository von Ubuntu 20.04 verfügbar. Du kannst sie mit dem folgenden Befehl installieren:

apt-get install mariadb-server -y

Nach der Installation sicherst du die MariaDB und legst das MariaDB Root-Passwort mit folgendem Befehl fest:

mysql_secure_installation

Beantworte alle Fragen wie unten gezeigt, um das MariaDB Root-Passwort zu setzen und die Installation zu sichern:

Enter current password for root (enter for none):
Set root password? [Y/n] Y
New password:
Re-enter new password:
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

Sobald die MariaDB gesichert ist, melde dich mit folgendem Befehl an der MariaDB-Konsole an:

mysql -u root -p

Ändere als Nächstes das MariaDB-Authentifizierungs-Plugin mit dem folgenden Befehl:

MariaDB [(none)]>USE mysql;
MariaDB [(none)]>UPDATE user SET plugin='mysql_native_password' WHERE User='root';

Als Nächstes löschst du die Berechtigungen und verlässt die MariaDB-Shell mit folgendem Befehl:

MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> EXIT;

Als Nächstes musst du das MariaDB Innodb-Dateiformat auf Barracuda ändern. Das kannst du tun, indem du die Datei /etc/mysql/mariadb.conf.d/50-server.cnf bearbeitest:

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

Füge die folgenden Zeilen hinzu / ändere sie:

[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

Speichere und schließe die Datei und starte den MariaDB-Dienst neu, um die Änderungen zu übernehmen:

systemctl restart mariadb

ERPNext installieren

In diesem Abschnitt zeigen wir dir, wie du einen ERPNext-Benutzer anlegst, das Bench-Tool installierst und ERPNext in deinem System installierst.

ERPNext-Benutzer anlegen

Erstelle zunächst mit dem folgenden Befehl einen neuen Benutzer, um ERPNext auszuführen:

useradd -m -s /bin/bash erpnext

Als Nächstes legst du das Passwort für ERPNext mit dem folgenden Befehl fest:

passwd erpnext

Als Nächstes fügst du den ERPNext-Benutzer mit folgendem Befehl zur Gruppe sudo hinzu:

usermod -aG sudo erpnext

Melde dich als nächstes als ERPNext-Benutzer an und richte die Umgebungsvariable mit folgendem Befehl ein:

su - erpnext
nano ~/.bashrc

Füge die folgende Zeile hinzu:

PATH=$PATH:~/.local/bin/

Speichere die Datei und aktiviere die Umgebungsvariable mit dem folgenden Befehl:

source ~/.bashrc

Bench Tool installieren

Wechsle zunächst das Verzeichnis zum ERPNext-Benutzer und erstelle mit folgendem Befehl ein Verzeichnis für ERPNext:

su - erpnext
sudo mkdir /opt/bench

Als Nächstes stellst du den Eigentümer auf den Benutzer erpnext ein:

sudo chown -R erpnext:erpnext /opt/bench

Als Nächstes änderst du das Verzeichnis in /opt/bench und klonst das Bench-Repository von Git Hub:

cd /opt/bench
git clone https://github.com/frappe/bench bench-repo

Als nächstes installierst du das Bench-Repository mit dem Befehl pip3:

pip3 install -e bench-repo

Nach der Installation initialisierst du das bench-Verzeichnis mit dem Frappe-Framework mit dem folgenden Befehl:

bench init erpnext

Du solltest die folgende Ausgabe erhalten:

? Built js/checkout.min.js
? Built js/dialog.min.js
? Built js/social.min.js
? Built js/web_form.min.js
? Built js/list.min.js
? Built js/chat.js
Browserslist: caniuse-lite is outdated. Please run next command `yarn upgrade caniuse-lite browserslist`
? Built css/frappe-rtl.css
? Built css/printview.css
? Built js/bootstrap-4-web.min.js
? Built js/barcode_scanner.min.js
? Built css/list.min.css
? Built css/report.min.css
? Built frappe/css/email.css
? Built js/frappe-recorder.min.js
? Built js/desk.min.js
? Built css/frappe-chat-web.css
? Built js/frappe-web.min.js
? Built css/form.min.css
? Built css/web_form.css
? Built css/desk.min.css
? Built css/frappe-web-b4.css
? Built js/control.min.js
? Built js/form.min.js
? Built js/data_import_tools.min.js
? Built js/report.min.js
?  Done in 111.35s
Done in 113.33s.
SUCCESS: Bench erpnext initialized

ERPNext-Site erstellen

Wechsle als Nächstes in das Verzeichnis erpnext und erstelle mit dem folgenden Befehl eine neue ERPNext-Site:

cd /opt/bench/erpnext
bench new-site erp.linuxbuz.com

Du wirst aufgefordert, dein MariaDB Root-Passwort und dein Administrator-Passwort einzugeben (siehe unten):

MySQL root password: 

Installing frappe...
Updating DocTypes for frappe        : [========================================] 100%
Updating country info               : [========================================] 100%
Set Administrator password: 
Re-enter Administrator password: 
*** Scheduler is disabled ***
Current Site set to erp.linuxbuz.com

Zu diesem Zeitpunkt ist ERPNext in deinem System installiert.

ERPNext für die Produktionsumgebung konfigurieren

Als Nächstes musst du Supervisor zur Verwaltung des ERPNext-Prozesses und Nginx als Reverse-Proxy installieren.

Ändere zunächst den Benutzer zu ERPNext und installiere Supervisor und Nginx mit dem folgenden Befehl:

su - erpnext
sudo apt-get install supervisor nginx -y

Als Nächstes installierst du die Frappe-Bench mit dem folgenden Befehl:

sudo pip3 install frappe-bench

Als Nächstes änderst du das Verzeichnis in /opt/bench/erpnext und richtest ERPNext mit folgendem Befehl für die Produktionsumgebung ein:

cd /opt/bench/erpnext
sudo /home/erpnext/.local/bin/bench setup production erpnext

Sobald ERPNext konfiguriert ist, solltest du die folgende Ausgabe sehen:

PLAY RECAP ************************************************************************************************************************************
localhost                  : ok=8    changed=4    unreachable=0    failed=0    skipped=1    rescued=0    ignored=0   

$ sudo systemctl restart supervisor
Port configuration list:

Site erp.linuxbuz.com assigned port: 80
$ /usr/bin/supervisorctl reread
No config updates to processes
$ /usr/bin/supervisorctl update
$ sudo /usr/sbin/nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
$ sudo systemctl reload nginx

Jetzt ist ERPNext mit Nginx für die Produktionsumgebung konfiguriert.

Zugriff auf ERPNext Web UI

Öffne nun deinen Webbrowser und gib die URL http://erp.linuxbuz.com ein. Du wirst auf die Anmeldeseite von ERPNext weitergeleitet:

Gib den Benutzernamen „Administrator“ und ein Passwort ein, die du zuvor festgelegt hast, und klicke auf die Schaltfläche Anmelden. Du solltest die folgende Seite sehen:

Wähle die gewünschte Sprache und klicke auf die Schaltfläche Weiter. Du solltest die folgende Seite sehen:

Wähle dein Land, deine Zeitzone und deine Währung aus und klicke auf die Schaltfläche Weiter. Du solltest die folgende Seite sehen:

Gib deinen Namen, deine E-Mail-Adresse und dein Passwort ein und klicke auf die Schaltfläche Einrichtung abschließen. Auf der folgenden Seite solltest du das ERPNext-Dashboard sehen:

ERPNext mit Let’s Encrypt SSL sichern

Zunächst musst du den Certbot-Client installieren, um Let’s Encrypt SSL zu installieren und zu verwalten. Du kannst ihn mit dem folgenden Befehl installieren:

sudo apt-get install certbot python3-certbot-nginx -y

Nach der Installation führst du den folgenden Befehl aus, um Let’s Encrypt SSL für deine Domain zu installieren und zu konfigurieren:

sudo certbot --nginx -d erp.linuxbuz.com

Du wirst aufgefordert, deine E-Mail-Adresse anzugeben und die Nutzungsbedingungen zu akzeptieren (siehe unten):

Saving debug log to /var/log/letsencrypt/letsencrypt.log
Plugins selected: Authenticator nginx, Installer nginx
Enter email address (used for urgent renewal and security notices) (Enter 'c' to
cancel): [email protected]

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Please read the Terms of Service at
https://letsencrypt.org/documents/LE-SA-v1.2-November-15-2017.pdf. You must
agree in order to register with the ACME server at
https://acme-v02.api.letsencrypt.org/directory
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(A)gree/(C)ancel: A

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Would you be willing to share your email address with the Electronic Frontier
Foundation, a founding partner of the Let's Encrypt project and the non-profit
organization that develops Certbot? We'd like to send you email about our work
encrypting the web, EFF news, campaigns, and ways to support digital freedom.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(Y)es/(N)o: Y
Obtaining a new certificate
Performing the following challenges:
http-01 challenge for erp.linuxbuz.com
Waiting for verification...
Cleaning up challenges
Deploying Certificate to VirtualHost /etc/nginx/conf.d/erpnext.conf

Als Nächstes wählst du aus, ob der HTTP-Datenverkehr auf HTTPS umgeleitet werden soll oder nicht (siehe unten):

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
1: No redirect - Make no further changes to the webserver configuration.
2: Redirect - Make all requests redirect to secure HTTPS access. Choose this for
new sites, or if you're confident your site works on HTTPS. You can undo this
change by editing your web server's configuration.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Select the appropriate number [1-2] then [enter] (press 'c' to cancel): 2

Gib 2 ein und drücke die Eingabetaste, um den Vorgang abzuschließen. Du solltest die folgende Ausgabe sehen:

Redirecting all traffic on port 80 to ssl in /etc/nginx/conf.d/erpnext.conf

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Congratulations! You have successfully enabled https://erp.linuxbuz.com

You should test your configuration at:
https://www.ssllabs.com/ssltest/analyze.html?d=erp.linuxbuz.com
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

IMPORTANT NOTES:
 - Congratulations! Your certificate and chain have been saved at:
   /etc/letsencrypt/live/erp.linuxbuz.com/fullchain.pem
   Your key file has been saved at:
   /etc/letsencrypt/live/erp.linuxbuz.com/privkey.pem
   Your cert will expire on 2020-08-29. To obtain a new or tweaked
   version of this certificate in the future, simply run certbot again
   with the "certonly" option. To non-interactively renew *all* of
   your certificates, run "certbot renew"
 - Your account credentials have been saved in your Certbot
   configuration directory at /etc/letsencrypt. You should make a
   secure backup of this folder now. This configuration directory will
   also contain certificates and private keys obtained by Certbot so
   making regular backups of this folder is ideal.
 - If you like Certbot, please consider supporting our work by:

   Donating to ISRG / Let's Encrypt:   https://letsencrypt.org/donate
   Donating to EFF:                    https://eff.org/donate-le

 - We were unable to subscribe you the EFF mailing list because your
   e-mail address appears to be invalid. You can try again later by
   visiting https://act.eff.org.

Zu diesem Zeitpunkt ist deine ERPNext-Website mit Let’s Encrypt SSL gesichert. Du kannst jetzt sicher mit dem HTTPS-Protokoll auf deine Website zugreifen.

Fazit

In dieser Anleitung haben wir gelernt, wie man ERPNext mit Nginx auf Ubuntu 20.04 installiert. Außerdem haben wir gelernt, wie du ERPNext mit Let’s Encrypt SSL sicher machst. Weitere Informationen findest du auf der ERPNext-Dokumentationsseite.

Das könnte dich auch interessieren …