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:
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, das Land, die Zeitzone und die 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.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): 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.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.