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.



Leave a Comment

CyberPanel installeren en configureren op uw CentOS 7-server

CyberPanel installeren en configureren op uw CentOS 7-server

Gebruikt u een ander systeem? Introductie CyberPanel is een van de eerste bedieningspanelen op de markt die zowel open source is als OpenLiteSpeed ​​gebruikt. Wat thi

Sensu Monitoring installeren en configureren op CentOS 7

Sensu Monitoring installeren en configureren op CentOS 7

Introductie Sensu is een gratis en open source monitoringoplossing die kan worden gebruikt om server, applicatie en verschillende systeemservices te monitoren. Sensu i

Sudo gebruiken op Debian, CentOS en FreeBSD

Sudo gebruiken op Debian, CentOS en FreeBSD

Het gebruik van een sudo-gebruiker om toegang te krijgen tot een server en opdrachten uit te voeren op rootniveau is een veel voorkomende praktijk onder Linux en Unix-systeembeheerder. Het gebruik van een sud

Stel Nginx-RTMP in op CentOS 7

Stel Nginx-RTMP in op CentOS 7

Gebruikt u een ander systeem? RTMP is geweldig voor het weergeven van live inhoud. Wanneer RTMP is gekoppeld aan FFmpeg, kunnen streams worden omgezet in verschillende kwaliteiten. Vultr ik

Hoe TaskBoard 0.3.1 op CentOS 7 te installeren

Hoe TaskBoard 0.3.1 op CentOS 7 te installeren

TaskBoard is een gratis en open source webbeheer voor tijdbeheer. Geïnspireerd door Kanban, kan TaskBoard u helpen bij het bijhouden van dingen die moeten worden gedaan in een

Gradle installeren op CentOS 7

Gradle installeren op CentOS 7

Gebruikt u een ander systeem? Gradle is een gratis en open source toolset voor het automatiseren van builds, gebaseerd op de concepten van Apache Ant en Apache Maven. Gradle biedt

Installeer een FTP-server met ProFTPd op CentOS 6 of CentOS 7

Installeer een FTP-server met ProFTPd op CentOS 6 of CentOS 7

Gebruikt u een ander systeem? In deze handleiding zullen we zien hoe u een FTP-server (ProFTPd) configureert om bestanden over te zetten tussen uw pc en uw server.

Netdata installeren op CentOS 7

Netdata installeren op CentOS 7

Gebruikt u een ander systeem? Netdata is een rijzende ster op het gebied van realtime monitoring van systeemstatistieken. Vergeleken met andere tools van dezelfde soort, Netdata:

Hoe Apache Cassandra 3.11.x op CentOS 7 te installeren

Hoe Apache Cassandra 3.11.x op CentOS 7 te installeren

Gebruikt u een ander systeem? Apache Cassandra is een gratis en open source NoSQL-databasebeheersysteem dat is ontworpen om schaalbaarheid te bieden

Hoe Just Cause 2 (JC2-MP) -server op CentOS 7 te installeren

Hoe Just Cause 2 (JC2-MP) -server op CentOS 7 te installeren

In deze tutorial leer je goed hoe je een Just Cause 2 multiplayer-server opzet. Vereisten Zorg ervoor dat het systeem volledig is bijgewerkt voordat we beginnen

Hoe Starbound Server op CentOS 7 te installeren

Hoe Starbound Server op CentOS 7 te installeren

Gebruikt u een ander systeem? In deze tutorial leg ik uit hoe je een Starbound-server instelt op CentOS 7. Vereisten Je moet dit spel op je hebben

ZNC installeren en configureren op CentOS 7

ZNC installeren en configureren op CentOS 7

ZNC is een gratis en open-source IRC-uitsmijter die permanent verbonden blijft met een netwerk, zodat klanten berichten kunnen ontvangen die worden verzonden terwijl ze offline zijn. Thi

Django installeren op CentOS 7

Django installeren op CentOS 7

Django is een populair Python-framework voor het schrijven van webapplicaties. Met Django kun je sneller applicaties bouwen, zonder het wiel opnieuw uit te vinden. Als je wilt

MantisBT 2.5 installeren op CentOS 7

MantisBT 2.5 installeren op CentOS 7

MantisBT, of Mantis Bug Tracker, is een open source issue tracker geschreven in PHP. MantisBT is uitgebalanceerd tussen gebruiksgemak en functionaliteit, mits

Installeer Elgg op CentOS 7

Installeer Elgg op CentOS 7

Gebruikt u een ander systeem? Elgg is een open source engine voor sociaal netwerken waarmee sociale omgevingen kunnen worden gecreëerd, zoals sociale campusnetwerken

Hoe installeer ik het Froxlor Server Management Panel op CentOS 7

Hoe installeer ik het Froxlor Server Management Panel op CentOS 7

Froxlor is een open source, gratis, lichtgewicht en toch krachtig serverbeheerpaneel dat geweldig is voor het opzetten en beheren van webhostingservices. Thi

Hoe Alfresco Community Edition op CentOS 7 te installeren

Hoe Alfresco Community Edition op CentOS 7 te installeren

Gebruikt u een ander systeem? Alfresco Community Edition is een open source-versie van de Alfresco Content Services. Het is geschreven in Java en gebruikt PostgreSQL t

Hoe Vtiger CRM Open Source Edition op CentOS 7 te installeren

Hoe Vtiger CRM Open Source Edition op CentOS 7 te installeren

Vtiger CRM is een populaire applicatie voor klantrelatiebeheer die bedrijven kan helpen hun verkoop te laten groeien, klantenservice te bieden en de winst te vergroten. ik

Een netwerk van Minecraft-servers maken met BungeeCord op Debian 8, Debian 9 of CentOS 7

Een netwerk van Minecraft-servers maken met BungeeCord op Debian 8, Debian 9 of CentOS 7

Wat je nodig hebt Een Vultr VPS met minimaal 1 GB RAM. SSH-toegang (met root- / beheerdersrechten). Stap 1: BungeeCord installeren Eerste dingen eerst

Hoe MaraDNS op CentOS 6 te installeren

Hoe MaraDNS op CentOS 6 te installeren

MaraDNS is een lichtgewicht maar robuust open source DNS-serverprogramma. Vergeleken met andere applicaties van dezelfde soort, zoals ISC BIND, PowerDNS en djbdns

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.