ERPWeiter ist ein absolut robustes ERP-Framework für kleine und mittlere Unternehmen. Es deckt eine Vielzahl von Funktionen ab, darunter Buchhaltung, CRM, Inventar, Verkauf, Einkauf, Fertigung, Projekte, Personalwesen und Gehaltsabrechnung, Website, E-Commerce und mehr – all dies macht es zutiefst anpassungsfähig und erweiterbar.
ERPNext wird in Python entwickelt und hängt vom Frappe Framework ab. Es verwendet Node.js für das Frontend, Nginx für den Webserver, Redis für das Caching und MariaDB für die Datenbank.
ERPNext ist Open Source unter der GNU General Public License v3.
In diesem Artikel zeigen wir Ihnen, wie Sie ERPNext auf CentOS 8 installieren auf einem unserer optimierten ERPNext-Hosting-Server.
Voraussetzungen:
Stellen Sie sicher, dass Ihr Server die folgenden Anforderungen erfüllt.
- 2 GB RAM oder mehr
- 2 oder mehr CPU-Kerne
- Neue CentOS 8-Installation
- Voller Root-Zugriff
Vorbereiten und Aktualisieren des Systems und Installieren der Abhängigkeiten
Melden Sie sich über SSH bei Ihrem Server an:
ssh username@server_ip
Bevor Sie mit der Installation von ERPNext beginnen, sollten Sie die Systempakete auf die neuesten Versionen aktualisieren.
sudo yum update -y
Installieren Sie das Repository für zusätzliche Pakete:
sudo yum install -y epel-release
Wir können ERPNext auf zwei Umgebungen einrichten, Entwicklung und Produktion. Für die Entwicklungsumgebung wird no Nginx installed
sein und Sie müssen ERPNext manuell starten. Für eine Produktionsumgebung ist Nginx is installed
und der Prozess wird von supervisor
verwaltet . Später in diesem Tutorial erfahren Sie mehr über den Supervisor.
Bei der Installation in einer Produktionsumgebung müssen wir sicherstellen, dass wir Apache uninstall Apache
zuerst, da das Installationsskript Nginx einrichtet. Es wird auch empfohlen, MariaDB zu uninstall Apache
um Konflikte während der Installation sowohl für die Produktion als auch für die Entwicklung zu vermeiden. Für eine Entwicklungsumgebung ist es sicher, Apache installiert und ausgeführt zu lassen, da Nginx nicht installiert wird.
Stoppen und Deinstallieren von Apache (required for production set up only)
:
sudo systemctl stop httpd sudo yum remove -y httpd httpd-tools apr apr-util
So stoppen und deinstallieren Sie MariaDB (recommended for both development and production setup)
:
sudo systemctl stop mariadb sudo yum remove -y mariadb mariadb-server sudo rm -rf /var/lib/mysql /etc/my.cnf
Installieren Sie die erforderlichen Pakete zusammen mit MariaDB, Nginx, NodeJS, redis:
sudo yum install -y gcc make git mariadb mariadb-server nginx supervisor python3 python3-devel python2 python2-devel redis nodejs
Garnpaket-Manager installieren:
sudo npm install -g yarn
SELinux deaktivieren
Um die Einrichtung eines komplexen SELinux-Regelsatzes zu vermeiden, müssten wir ihn deaktivieren. Das Deaktivieren von SELinux unter CentOS 7 ist eine ziemlich einfache Aufgabe. Sie können das mit einem Befehl tun:
echo 0 > /selinux/enforce
Alternativ können Sie auch folgenden Befehl verwenden:
setenforce 0
Überprüfen Sie jetzt den Status erneut und vergewissern Sie sich, dass er deaktiviert ist.
Bitte beachten Sie, dass dies SELinux nur vorübergehend deaktiviert. Wenn Sie es dauerhaft deaktivieren möchten, müssen Sie die folgenden Schritte ausführen:
Öffnen Sie /etc/sysconfig/selinux
Datei zur Bearbeitung mit einem Texteditor Ihrer Wahl. Wir werden vim
verwenden im Beispiel unten.
vim /etc/sysconfig/selinux
Sobald Sie die Datei öffnen, ändern Sie die folgende Zeile:
SELINUX=enforcing
zu
SELINUX=disabled
Dann speichern und schließen Sie die Datei.
ERPNext installieren
ERPNext-Benutzer erstellen
Nachdem wir die erforderlichen Pakete installiert haben, können wir mit der Installation von ERPNext beginnen.
Wir bräuchten einen Benutzer, der der ERPNext-Instanz zugeordnet ist und Sudo-Zugriff hat:
sudo useradd -m erp -G wheel
Die Standard-Sudo-Einstellungen erfordern, dass wir das Passwort eingeben, wenn wir den Befehl ausgeben. Sie können das vermeiden mit:
sudo sed -i 's/^#\s*\(%wheel\s\+ALL=(ALL)\s\+NOPASSWD:\s\+ALL\)/\1/' /etc/sudoers
Wir müssen zusätzliche Kernelparameter setzen:
echo "vm.overcommit_memory = 1" | sudo tee -a /etc/sysctl.conf echo "echo never > /sys/kernel/mm/transparent_hugepage/enabled" | sudo tee -a /etc/rc.d/rc.local sudo chmod 755 /etc/rc.d/rc.local
Wir müssen einen Neustart durchführen, damit die Kernel-Einstellungen wirksam werden.
MariaDB (MySQL-Fork) für ERPNext konfigurieren
Im Gegensatz zu anderen ERP-Anwendungen unterstützt ERPNext MariaDB, um den persistenten Teil der Daten zu speichern. Zuvor haben wir die neueste verfügbare Version von MariaDB für CentOS 8 installiert und müssen sie jetzt für ERPNext konfigurieren.
Erstellen Sie eine Konfigurationsdatei für ERPNext for MariaDB:
cat <<EOF >/etc/my.cnf.d/erpnext.cnf
[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]
Standardzeichensatz =utf8mb4 EOF
Aktivieren und starten Sie den MariaDB-Dienst:
sudo systemctl enable mariadb sudo systemctl start mariadb
Starten Sie das sichere MariaDB-Installationsskript (stellen Sie sicher, dass Sie sich das MariaDB-Root-Passwort merken). Verwenden Sie außerdem immer ein sicheres Passwort, wenn Sie dazu aufgefordert werden:
sudo mysql_secure_installation
ERPNext installieren
Wir installieren ERPNext unter dem neuen Benutzer, den wir erstellt haben, erp.
Wechseln Sie zum ERPNext-Benutzer und ändern Sie das Arbeitsverzeichnis in sein Home-Verzeichnis:
su - erp
frappe-bench mit pip3 installieren und version-12 initialisieren:
pip3 install --user frappe-bench bench init frappe-bench --frappe-branch version-12
Wenn die Initialisierung abgeschlossen ist, erhalten Sie die folgende Meldung:
SUCCESS: Bench frappe-bench initialized
Mit der initialisierten Frappe-Bench können wir eine neue Frappe-Site für unsere ERPNext-Instanz erstellen.
Wir müssen den Frappe-Entwicklungsserver starten:
cd frappe-bench sed -i '/web:/ s/$/ --noreload/' Procfile bench start >/tmp/bench_log &
Wir müssen eine neue Website mit unserem Domain-/Subdomain-Namen erstellen:
bench new-site erp.rosehosting.com
Wir erhalten eine Aufforderung zur Eingabe des MySQL-Passworts, das wir zuvor eingegeben haben. Geben Sie das MySQL-Root-Passwort ein.
Jetzt können wir ERPNext via Bench herunterladen und installieren.
Laden Sie zuerst die neueste ERPNext-Version mit Bank herunter:
bench get-app erpnext --branch version-12
Installieren Sie es nach dem Herunterladen:
bench install-app erpnext
Jetzt können wir starten und ERPNext verwenden
ERPNext starten
In einer Entwicklungsumgebung muss die ERPNext-Anwendung manuell gestartet werden. Die ERPNext-Anwendung überwacht Port 8000.
Entwicklung
su - erp cd frappe-bench bench start >/tmp/bench_log &
Sie können jetzt auf Ihr Setup zugreifen unter:
http://[domain]:8000 Login: Administrator Password: The one that you input during installation
Produktion
Irgendwann möchten wir ERPNext im Produktionsmodus haben.
Dafür müssten wir Produktionsdateien für Supervisor und Nginx erstellen:
su - erp cd frappe-bench bench setup supervisor bench setup nginx
Fügen Sie einen Link der neu erstellten Konfigurationsdateien zu ihren jeweiligen Diensten hinzu:
sudo ln -s `pwd`/config/supervisor.conf /etc/supervisord.d/frappe-bench.ini sudo ln -s `pwd`/config/nginx.conf /etc/nginx/conf.d/frappe-bench.conf
Ändern Sie den Eigentümer des nginx-Prozesses in erp, indem Sie /etc/nginx/conf/nginx.conf
bearbeiten und Ändern der Benutzerdirektive in:
user erp erp;
Supervisor ist ein Prozesssteuerungssystem, mit dem Sie Prozesse auf Linux-Systemen überwachen und steuern können. Wenn Supervisor ausgeführt wird, startet er die Anwendung automatisch beim Booten und verarbeitet Prozessfehler. Das Installationsskript konfiguriert automatisch Supervisor für Ihre ERPNext-Anwendung.
Jetzt können Sie Supervisor und Nginx aktivieren und starten:
sudo systemctl enable supervisord sudo systemctl start supervisord sudo systemctl enable nginx sudo systemctl start nginx
Sie können sich jetzt bei Ihrer Produktions-Website anmelden without using port 8000
zu verwenden da der Nginx-Webserver bereits als Reverse-Proxy für Port 8000 konfiguriert ist.
Nachdem Sie sich angemeldet haben, sollten Sie nun in der Lage sein, die Ersteinrichtung Ihrer ERPNext-Anwendung abzuschließen.
Natürlich müssen Sie ERPNext auf CentOS 8 nicht installieren wenn Sie eine ERPNext VPS bei uns haben. Sie können einfach unser Support-Team bitten, ERPNext auf CentOS 8 für Sie zu installieren. Sie sind rund um die Uhr verfügbar und können Ihnen bei der Installation helfen.
PS . Wenn Ihnen dieser Blogbeitrag über die Installation von ERPNext auf CentOS 8 gefallen hat, können Sie ihn gerne über die folgenden Verknüpfungen in sozialen Netzwerken teilen oder einfach einen Kommentar hinterlassen. Danke.