ERPNext Installation auf Ubuntu 22.04

ERPNext ist eine freie und quelloffene ERP-Software, die von Herstellern, Händlern und Dienstleistern genutzt wird. Sie wurde mit Python, JavaScript und dem Frappe Framework entwickelt. Sie ist modern, benutzerfreundlich und kostenlos und wurde für kleine und mittlere Unternehmen entwickelt, die damit alle Aspekte ihres Geschäftsbetriebs verwalten können. Tausende von Unternehmen weltweit nutzen es, um ihre ERP-Prozesse zu verwalten. Es ist eines der besten ERP-Systeme, das die Bereiche Produktion, Vertrieb, Einzelhandel, Handel, Dienstleistungen, Bildung, gemeinnützige Organisationen und mehr unterstützt.

In diesem Tutorial zeigen wir dir, wie du die ERPNext Software auf einem Ubuntu 22.04 Server installierst.

Voraussetzungen

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

Erste Schritte

Zuerst musst du einige Python-Abhängigkeiten auf 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 python3.10-venv -y

Sobald alle Python-Abhängigkeiten installiert sind, musst du Node.js auf deinem Server installieren.

Füge zunächst das Node.js-Repository mit dem folgenden Befehl hinzu:

curl -sL https://deb.nodesource.com/setup_16.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 22.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

Als Nächstes musst du das MariaDB Innodb-Dateiformat in 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

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

systemctl restart mariadb

ERPNext auf Ubuntu 22.04 installieren

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

Als Nächstes meldest du dich als ERPNext-Benutzer an und richtest die Umgebungsvariable mit dem folgenden 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

Als Nächstes erstellst du mit folgendem Befehl ein Verzeichnis für ERPNext:

sudo mkdir /opt/bench

Setze als nächstes den Eigentümer auf den Benutzer erpnext:

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

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

cd /opt/bench/erpnext
bench new-site erp.example.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.example.com

Jetzt ist ERPNext in deinem System installiert.

ERPNext für die Produktionsumgebung konfigurieren

Als Nächstes musst du Supervisor installieren, um den ERPNext-Prozess zu verwalten und Nginx als Reverse Proxy zu konfigurieren.

Wechsle zunächst den Benutzer zu ERPNext und installiere dann 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

Wechsle dann in das Verzeichnis /opt/bench/erpnext und richte 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.example.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

An diesem Punkt ist ERPNext mit Nginx für die Produktionsumgebung konfiguriert.

Zugriff auf ERPNext Web UI

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

ERPNext Anmeldung

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:

Sprache auswählen

Wähle die gewünschte Sprache, das Land, die Zeitzone und die Währung aus und klicke auf die Schaltfläche Weiter. Du solltest die folgende Seite sehen:

Einen Benutzer erstellen

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 Dashboard

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.example.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.example.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.example.com

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

IMPORTANT NOTES:
 - Congratulations! Your certificate and chain have been saved at:
   /etc/letsencrypt/live/erp.example.com/fullchain.pem
   Your key file has been saved at:
   /etc/letsencrypt/live/erp.example.com/privkey.pem
   Your cert will expire on 2022-09-11. 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

Herzlichen Glückwunsch! Du hast ERPNext erfolgreich mit Nginx und Let’s Encrypt SSL auf Ubuntu 22.04 installiert. Wenn du noch Fragen hast, kannst du dich gerne an mich wenden. Du kannst die ERPNext-Dokumentationsseite für weitere Informationen besuchen.

Das könnte dich auch interessieren …