Hoe ERPNext Open Source ERP op CentOS 7 te installeren

ERP of Enterprise Resource Planning is een enterprise-applicatiesuite die wordt gebruikt voor het beheer van kernbedrijfsprocessen. ERPNext is een gratis en open source zelf-gehoste ERP-applicatie geschreven in Python. Het gebruikt Node.js voor de frontend en MariaDB om zijn gegevens op te slaan. ERPNext biedt een gebruiksvriendelijke webinterface waarmee bedrijven de dagelijkse taken kunnen beheren. Het bevat modules voor boekhouding, CRM, HRM, productie, POS, projectbeheer, inkoop, verkoopbeheer, magazijnbeheer en meer. ERPNext kan worden gebruikt om verschillende industrieën te beheren, zoals dienstverleners, productie, detailhandel en scholen.

In deze tutorial installeren we ERPNext op CentOS 7.

Vereisten

Voor deze tutorial gebruiken we erp.example.comde domeinnaam die naar de server verwijst. Zorg ervoor dat u alle instanties van vervangt erp.example.comdoor uw daadwerkelijke domeinnaam.

Update uw basissysteem met behulp van de handleiding " CentOS 7 updaten ". Zodra uw systeem is bijgewerkt, gaat u verder met het installeren van Python.

Installeer ontwikkeltools

ERPNext heeft Python versie 2.7 nodig om te werken. Python 2.7 wordt standaard geïnstalleerd in alle CentOS-serverinstanties. U kunt controleren of de geïnstalleerde versie van Python is uitgevoerd door:

python -V

U zou de vergelijkbare uitvoer moeten krijgen.

[user@vultr ~]$ python -V
Python 2.7.5

Hoewel de geïnstalleerde versie van Python niet de nieuwste is, werkt het zonder problemen. Het wijzigen van de standaardversie van Python kan YUM breken.

Installeer de pakketten in de Development toolsgroep die nodig zijn voor het compileren van de installatiebestanden.

sudo yum groupinstall -y "Development tools"

Installeer nog een paar afhankelijkheden:

sudo yum install -y redhat-lsb-core git python-setuptools python-devel openssl-devel libffi-devel

Installeer de piptool van Python . Pip is de afhankelijkheidsmanager voor Python-pakketten.

wget https://bootstrap.pypa.io/get-pip.py
sudo python get-pip.py

Met de bovenstaande opdracht wordt Pip op uw systeem geïnstalleerd. Om ervoor te zorgen dat u de nieuwste versie van pipen hebt setuptools, voert u uit:

sudo pip install --upgrade pip setuptools

Installeer Ansible met Pip. Ansible automatiseert softwarelevering, configuratiebeheer en applicatie-implementatie.

sudo pip install ansible

Installeer MariaDB Server

MariaDB is een splitsing van de MySQL-databaseserver. Installeer MariaDB door te draaien.

sudo yum -y install mariadb mariadb-server mysql-devel

De Barracuda-opslagengine is vereist voor het maken van ERPNext-databases, daarom moet u MariaDB configureren om de Barracuda-opslagengine te gebruiken. Bewerk het standaard MariaDB-configuratiebestand my.cnf.

sudo nano /etc/my.cnf

Voeg de volgende regels toe onder de symbolic-links=0regel.

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

Start MariaDB en schakel het automatisch in bij het opstarten.

sudo systemctl start mariadb.service
sudo systemctl enable mariadb.service

Voordat u de database configureert, moet u MariaDB beveiligen. Je kunt het beveiligen door het mysql_secure_installationscript uit te voeren:

sudo mysql_secure_installation

U wordt gevraagd om het huidige MariaDB-rootwachtwoord. Standaard is er geen root-wachtwoord ingesteld op MariaDB. Druk op de "Enter" -toets om door te gaan. Stel een sterk wachtwoord in voor de rootgebruiker van uw MariaDB-server en antwoord "Y" op alle andere vragen die worden gesteld. De gestelde vragen spreken voor zich.

Installeer Nginx, Nodejs en Redis

Aangezien de EPEL-repository standaard is geïnstalleerd in alle Vultr CentOS 7-instanties, kunt u Redis en Nginx direct installeren. Maar om de nieuwste versie van Node.js te installeren, moet u de Nodesource-repository aan uw systeem toevoegen.

Voeg de Nodesource-repository voor Node.js 8.x toe.

sudo curl --silent --location https://rpm.nodesource.com/setup_8.x | sudo bash -

Installeer Nginx, Nodejs en Redis:

sudo yum -y install nginx nodejs redis

Start Nginx en schakel het in tijdens het opstarten door te draaien:

sudo systemctl start nginx
sudo systemctl enable nginx

Start Redis en schakel het in tijdens het opstarten door te draaien:

sudo systemctl start redis
sudo systemctl enable redis

Installeer PDF Converter

Het wkhtmltopdfprogramma is een opdrachtregelprogramma dat HTML omzet in PDF met behulp van de QT Webkit-rendering-engine. Installeer de vereiste afhankelijkheden:

sudo yum -y install libXrender libXext xorg-x11-fonts-75dpi xorg-x11-fonts-Type1

Download de nieuwste versie van wkhtmltopdf.

wget https://github.com/wkhtmltopdf/wkhtmltopdf/releases/download/0.12.4/wkhtmltox-0.12.4_linux-generic-amd64.tar.xz

Pak het archief uit door te draaien:

sudo tar -xf wkhtmltox-0.12.4_linux-generic-amd64.tar.xz -C /opt

Met de bovenstaande opdracht wordt het archief uitgepakt /opt/wkhtmltox. Maak een softlink zodat wkhtmltopdfen wkhtmltoimageals opdracht globaal kan worden uitgevoerd.

sudo ln -s /opt/wkhtmltox/bin/wkhtmltopdf /usr/bin/wkhtmltopdf
sudo ln -s /opt/wkhtmltox/bin/wkhtmltoimage /usr/bin/wkhtmltoimage

U kunt nu het wkhtmltopdf -Vcommando uitvoeren om te controleren of het werkt, u zult zien:

[user@vultr ~]$ wkhtmltopdf -V
wkhtmltopdf 0.12.4 (with patched qt)

Op dit moment hebben we alle vereiste afhankelijkheden geïnstalleerd. U kunt nu doorgaan met het installeren van Bench.

Bench installeren

Benchis een opdrachtregelprogramma dat door Frappe wordt geleverd om de ERPNext-applicatie op een Unix-gebaseerd systeem te installeren en te beheren voor zowel ontwikkelings- als productiedoeleinden. Bench kan ook Nginx en supervisor-configuratie maken en beheren.

Maak een nieuwe gebruiker aan om Bench-processen in de geïsoleerde omgeving uit te voeren.

sudo adduser bench -d /opt/bench

Wijzig het wachtwoord van de gebruiker.

sudo passwd bench

Geef sudomachtigingen aan de benchgebruiker.

sudo usermod -aG wheel bench

Log in als de nieuw aangemaakte benchgebruiker:

sudo su - bench

Kloon de Bench-repository in /opt/bench:

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

Installeer Bench met pip.

sudo pip install -e bench-repo

Zodra Bench is geïnstalleerd, gaat u verder met het installeren van ERPNext met Bench.

Installeer ERPNext met Bench

Initialiseer een bench-directory waarop het frappe-framework is geïnstalleerd. Om alles netjes te houden werken we onder /opt/benchdirectory. Bench zal ook eenmaal per dag regelmatige back-ups en automatische updates instellen.

cd /opt/bench
bench init erpnext && cd erpnext

Maak een nieuwe Frappe-site:

bench new-site erp.example.com

De bovenstaande opdracht vraagt ​​u om het MySQL-rootwachtwoord. Geef het wachtwoord op dat u eerder hebt ingesteld voor de MySQL-rootgebruiker. Er wordt ook gevraagd om een ​​nieuw wachtwoord in te stellen voor het beheerdersaccount. U heeft dit wachtwoord later nodig om u aan te melden bij het beheerdersdashboard.

Download ERPNext-installatiebestanden van de externe git-repository met behulp van de Bench.

bench get-app erpnext https://github.com/frappe/erpnext

Installeer ERPNext op uw nieuw gemaakte site:

bench --site erp.example.com install-app erpnext

ERPNext is op uw server geïnstalleerd. U kunt de applicatie onmiddellijk starten om te controleren of de applicatie succesvol is gestart:

bench start

U moet echter de uitvoering stoppen en doorgaan met het instellen van de applicatie voor productiegebruik.

Setup Supervisor en Nginx

Standaard luistert de ERPNext-applicatie naar poort 8000, niet naar de standaard HTTP-poort 80. Ook wordt het niet aanbevolen om de ingebouwde webserver te gebruiken voor productiegebruik, aangezien we de server aan de wereld zullen blootstellen. Daarom moet u een productiewebserver gebruiken als reverse proxy, zoals Apache of Nginx. In deze tutorial gebruiken we Nginx als een reverse proxy omdat het automatisch kan worden geconfigureerd met Bench. Bench kan de configuratie automatisch genereren en installeren volgens de ERPNext-configuratie.

Hoewel we de applicatie kunnen starten met de bovenstaande opdracht, stopt de uitvoering van ERPNext zodra u de terminal sluit. Om dit probleem op te lossen, raad ik aan Supervisor te gebruiken, wat erg handig is bij het continu uitvoeren van de applicatie in een productieomgeving. Supervisor is een procesbesturingssysteem waarmee u een aantal processen op Linux-besturingssystemen kunt bewaken en besturen. Zodra Supervisor is geconfigureerd, wordt de toepassing automatisch gestart tijdens het opstarten en bij storingen. Bench kan Supervisor automatisch configureren voor de ERPNext-applicatie.

Supervisor installeren:

sudo yum -y install supervisor

Start Supervisor en schakel deze automatisch in tijdens het opstarten:

sudo systemctl start supervisord
sudo systemctl enable supervisord

Opstelbank voor productiegebruik:

 sudo bench setup production bench

De bovenstaande opdracht kan u vragen voordat u het bestaande standaardconfiguratiebestand van Supervisor vervangt door een nieuw. Kies ervoor yom door te gaan. Bench voegt een aantal processen toe aan het Supervisor-configuratiebestand. De bovenstaande opdracht vraagt ​​u ook of u de huidige Nginx-configuratie wilt vervangen door een nieuwe. Ga ynaar binnen om door te gaan. Als Bench klaar is met het installeren van de configuratie, geef dan andere gebruikers om de bestanden in uw homedirectory van Bench-gebruiker uit te voeren.

chmod o+x /opt/bench/

Als u een firewall op uw server uitvoert, moet u de firewall configureren om een ​​uitzondering in te stellen voor HTTP-service. Sta Nginx reverse proxy toe om verbinding te maken van buiten het netwerk.

sudo firewall-cmd --zone=public --permanent --add-service=http
sudo firewall-cmd --reload

U heeft nu toegang tot de site op http://erp.example.com.

U kunt de status van de processen controleren door het uitvoeren van:

sudo supervisorctl status all

Je zou de volgende output moeten zien:

[bench@vultr ~]$ sudo supervisorctl status all
erpnext-redis:erpnext-redis-cache                 RUNNING   pid 2554, uptime 1:06:58
erpnext-redis:erpnext-redis-queue                 RUNNING   pid 2553, uptime 1:06:58
erpnext-redis:erpnext-redis-socketio              RUNNING   pid 2555, uptime 1:06:58
erpnext-web:erpnext-frappe-web                    RUNNING   pid 2559, uptime 1:06:58
erpnext-web:erpnext-node-socketio                 RUNNING   pid 2556, uptime 1:06:58
erpnext-workers:erpnext-frappe-default-worker-0   RUNNING   pid 2549, uptime 1:06:58
erpnext-workers:erpnext-frappe-long-worker-0      RUNNING   pid 2551, uptime 1:06:58
erpnext-workers:erpnext-frappe-schedule           RUNNING   pid 2550, uptime 1:06:58
erpnext-workers:erpnext-frappe-short-worker-0     RUNNING   pid 2552, uptime 1:06:58

Om alle ERPNext-processen te stoppen, gebruikt u:

sudo supervisorctl stop all

Om alle ERPNext-processen te starten, gebruikt u:

sudo supervisorctl start all

SSL instellen met Let's Encrypt

Let's Encrypt biedt de gebruikers gratis SSL-certificaten. SSL kan handmatig of automatisch worden geïnstalleerd via Bench. Bench kan de Let's Encrypt-client automatisch installeren en de certificaten verkrijgen. Bovendien wordt de Nginx-configuratie automatisch bijgewerkt om de certificaten te gebruiken.

De domeinnaam die u gebruikt om de certificaten van de Let's Encrypt CA te verkrijgen, moet naar de server worden gericht. De client verifieert de domeinautoriteit voordat de certificaten worden uitgegeven.

Schakel DNS-multi-tenancy in voor de ERPNext-applicatie.

bench config dns_multitenant on

Voer Bench uit om Let's Encrypt op uw site in te stellen:

sudo bench setup lets-encrypt erp.example.com

Tijdens de uitvoering van het script zal de Let's Encrypt-client u vragen de Nginx-webserver tijdelijk te stoppen. Het installeert automatisch de vereiste pakketten en Let's Encrypt-client. De klant vraagt ​​om uw e-mailadres. U moet ook de algemene voorwaarden accepteren. Zodra de certificaten zijn gegenereerd, genereert Bench ook de nieuwe configuratie voor Nginx die de SSL-certificaten gebruikt. U wordt gevraagd voordat u de bestaande configuratie vervangt. Bench maakt ook een crontabinvoer om de certificaten elke maand automatisch te vernieuwen.

Schakel ten slotte de planner in om de geplande taken automatisch uit te voeren:

bench enable-scheduler

Je zou moeten zien:

[bench@vultr erpnext]$ bench enable-scheduler
Enabled for erp.example.com

Afsluiten

Zodra het proces is voltooid, hebt u toegang tot uw applicatie op https://erp.example.com. Log in met de gebruikersnaam Administratoren het wachtwoord dat u tijdens de installatie hebt ingesteld. U wordt naar de balie gebracht waar u informatie moet verstrekken om ERPNext ERP in te stellen op basis van uw bedrijf. U kunt de applicatie nu gebruiken om uw bedrijf te beheren.

Gefeliciteerd, u hebt een volledig werkende ERPNext-applicatie geïnstalleerd op uw CentOS 7-server.

Laat een reactie achter

Kan AI vechten met toenemend aantal ransomware-aanvallen?

Kan AI vechten met toenemend aantal ransomware-aanvallen?

Ransomware-aanvallen nemen toe, maar kan AI helpen het nieuwste computervirus het hoofd te bieden? Is AI het antwoord? Lees hier weten is AI boezem of vloek

ReactOS: is dit de toekomst van Windows?

ReactOS: is dit de toekomst van Windows?

ReactOS, een open source en gratis besturingssysteem is hier met de nieuwste versie. Kan het voldoen aan de behoeften van moderne Windows-gebruikers en Microsoft uitschakelen? Laten we meer te weten komen over deze oude stijl, maar een nieuwere OS-ervaring.

Blijf verbonden via WhatsApp Desktop-app 24 * 7

Blijf verbonden via WhatsApp Desktop-app 24 * 7

WhatsApp heeft eindelijk de Desktop-app voor Mac- en Windows-gebruikers gelanceerd. Nu heb je eenvoudig toegang tot WhatsApp vanuit Windows of Mac. Beschikbaar voor Windows 8+ en Mac OS 10.9+

Hoe AI procesautomatisering naar een hoger niveau kan tillen?

Hoe AI procesautomatisering naar een hoger niveau kan tillen?

Lees dit om te weten hoe kunstmatige intelligentie populair wordt onder de kleinschalige bedrijven en hoe het de kansen vergroot om ze te laten groeien en hun concurrenten voorsprong te geven.

macOS Catalina 10.15.4 Supplement Update veroorzaakt meer problemen dan het oplost

macOS Catalina 10.15.4 Supplement Update veroorzaakt meer problemen dan het oplost

Onlangs heeft Apple macOS Catalina 10.15.4 uitgebracht, een aanvullende update om problemen op te lossen, maar het lijkt erop dat de update meer problemen veroorzaakt die ertoe leiden dat mac-machines worden gemetseld. Lees dit artikel voor meer informatie

13 Commerciële data-extractietools voor big data

13 Commerciële data-extractietools voor big data

13 Commerciële data-extractietools voor big data

Wat is een logboekbestandssysteem en hoe werkt het?

Wat is een logboekbestandssysteem en hoe werkt het?

Onze computer slaat alle gegevens op een georganiseerde manier op, het zogenaamde Journaling-bestandssysteem. Het is een efficiënte methode waarmee de computer bestanden kan zoeken en weergeven zodra u op zoeken drukt.https://wethegeek.com/?p=94116&preview=true

Technologische singulariteit: een verre toekomst van de menselijke beschaving?

Technologische singulariteit: een verre toekomst van de menselijke beschaving?

Naarmate de wetenschap zich snel ontwikkelt en veel van onze inspanningen overneemt, nemen ook de risico's toe om onszelf te onderwerpen aan een onverklaarbare singulariteit. Lees, wat singulariteit voor ons kan betekenen.

Een inzicht in 26 Big Data-analysetechnieken: deel 1

Een inzicht in 26 Big Data-analysetechnieken: deel 1

Een inzicht in 26 Big Data-analysetechnieken: deel 1

De impact van kunstmatige intelligentie in de gezondheidszorg 2021

De impact van kunstmatige intelligentie in de gezondheidszorg 2021

AI in de zorg heeft de afgelopen decennia grote sprongen gemaakt. De toekomst van AI in de gezondheidszorg groeit dus nog steeds met de dag.