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): hitjethva@gmail.com - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 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.