Hvordan installere ERPNext Open Source ERP på CentOS 7

ERP eller Enterprise Resource Planning er en bedriftsapplikasjonspakke som brukes til å administrere kjernevirksomhetsprosesser. ERPNext er gratis og åpen kildekode ERP-applikasjon skrevet i Python. Den bruker Node.js for grensesnittet og MariaDB for å lagre dataene sine. ERPNext gir et brukervennlig nettgrensesnitt som lar bedrifter administrere de daglige oppgavene. Den inneholder moduler for regnskap, CRM, HRM, produksjon, POS, prosjektledelse, innkjøp, salgsledelse, lagerstyring og mer. ERPNext kan brukes til å administrere ulike bransjer som tjenesteleverandører, produksjon, detaljhandel og skoler.

I denne opplæringen vil vi installere ERPNext på CentOS 7.

Forutsetninger

For denne opplæringen vil vi bruke erp.example.comsom domenenavnet som pekte på serveren. Sørg for å erstatte alle forekomster av erp.example.commed ditt faktiske domenenavn.

Oppdater basissystemet ditt ved å bruke veiledningen " Slik oppdaterer du CentOS 7 ". Når systemet ditt har blitt oppdatert, fortsett å installere Python.

Installer utviklingsverktøy

ERPNext trenger Python versjon 2.7 for å fungere. Python 2.7 er installert som standard i alle CentOS-serverforekomster. Du kan sjekke om den installerte versjonen av Python ved å kjøre:

python -V

Du bør få samme utgang.

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

Selv om den installerte versjonen av Python ikke er den nyeste, fungerer den uten problemer. Endring av standardversjonen av Python kan ødelegge YUM.

Installer pakkene i Development toolsgruppen som kreves for å kompilere installasjonsfilene.

sudo yum groupinstall -y "Development tools"

Installer noen flere avhengigheter:

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

Installer Pythons pipverktøy. Pip er avhengighetsbehandleren for Python-pakker.

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

Kommandoen ovenfor vil installere Pip på systemet ditt. For å sikre at du har den nyeste versjonen av pipog setuptools, kjør:

sudo pip install --upgrade pip setuptools

Installer Ansible med Pip. Ansible automatiserer programvarelevering, konfigurasjonsadministrasjon og applikasjonsdistribusjon.

sudo pip install ansible

Installer MariaDB Server

MariaDB er en gaffel av MySQL-databaseserver. Installer MariaDB ved å kjøre.

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

Barracuda-lagringsmotoren er nødvendig for å lage ERPNext-databaser, derfor må du konfigurere MariaDB til å bruke Barracuda-lagringsmotoren. Rediger standard MariaDB-konfigurasjonsfilen my.cnf.

sudo nano /etc/my.cnf

Legg til følgende linjer under symbolic-links=0linjen.

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 og la den starte automatisk ved oppstart.

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

Før du konfigurerer databasen, må du sikre MariaDB. Du kan sikre det ved å kjøre mysql_secure_installationskriptet:

sudo mysql_secure_installation

Du vil bli bedt om det gjeldende MariaDB-rotpassordet. Som standard er det ikke satt noe root-passord på MariaDB. Trykk på "Enter"-tasten for å fortsette. Angi et sterkt passord for rotbrukeren til MariaDB-serveren din og svar "Y" på alle de andre spørsmålene som stilles. Spørsmålene som stilles er selvforklarende.

Installer Nginx, Nodejs og Redis

Siden EPEL-depotet er installert som standard i alle Vultr CentOS 7-forekomster, kan du installere Redis og Nginx direkte. Men for å installere den nyeste versjonen av Node.js, må du legge til Nodesource-depotet i systemet ditt.

Legg til Nodesource-repositoriet for Node.js 8.x.

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

Installer Nginx, Nodejs og Redis:

sudo yum -y install nginx nodejs redis

Start Nginx og aktiver den til å starte ved oppstart ved å kjøre:

sudo systemctl start nginx
sudo systemctl enable nginx

Start Redis og la den starte ved oppstart ved å kjøre:

sudo systemctl start redis
sudo systemctl enable redis

Installer PDF Converter

Det wkhtmltopdfprogrammet er et kommandolinjeverktøy som konverterer HTML til PDF ved hjelp av QT Webkit rendering motoren. Installer de nødvendige avhengighetene:

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

Last ned den nyeste versjonen av wkhtmltopdf.

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

Pakk ut arkivet ved å kjøre:

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

Kommandoen ovenfor vil trekke ut arkivet til /opt/wkhtmltox. Lag en softlink slik at wkhtmltopdfog wkhtmltoimagekan utføres globalt som en kommando.

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

Du kan nå kjøre wkhtmltopdf -Vkommandoen for å sjekke om den fungerer, du vil se:

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

På dette tidspunktet har vi alle nødvendige avhengigheter installert. Du kan nå fortsette å installere Bench.

Installer benk

Bencher et kommandolinjeverktøy levert av Frappe for å installere og administrere ERPNext-applikasjonen på et Unix-basert system for både utviklings- og produksjonsformål. Bench kan også opprette og administrere Nginx og supervisor-konfigurasjon.

Opprett en ny bruker for å kjøre Bench-prosesser i det isolerte miljøet.

sudo adduser bench -d /opt/bench

Endre passordet til brukeren.

sudo passwd bench

Gi sudotillatelser til benchbrukeren.

sudo usermod -aG wheel bench

Logg på som den nyopprettede benchbrukeren:

sudo su - bench

Klon Bench-depotet i /opt/bench:

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

Installer benk ved hjelp av pip.

sudo pip install -e bench-repo

Når Bench er installert, fortsett videre for å installere ERPNext ved å bruke Bench.

Installer ERPNext ved å bruke Bench

Initialiser en benkkatalog med frappe-rammeverk installert. For å holde alt ryddig, vil vi jobbe under /opt/benchkatalog. Bench vil også sette opp regelmessige sikkerhetskopier og automatiske oppdateringer en gang om dagen.

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

Opprett en ny Frappe-side:

bench new-site erp.example.com

Kommandoen ovenfor vil be deg om MySQL root-passordet. Oppgi passordet som du har angitt for MySQL root-brukeren tidligere. Den vil også be deg om å angi et nytt passord for administratorkontoen. Du trenger dette passordet senere for å logge inn på administratordashbordet.

Last ned ERPNext-installasjonsfiler fra det eksterne git-depotet ved å bruke benken.

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

Installer ERPNext på ditt nyopprettede nettsted:

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

ERPNext er installert på serveren din. Du kan starte applikasjonen umiddelbart for å sjekke om applikasjonen er startet:

bench start

Du bør imidlertid stoppe kjøringen og gå videre for å sette opp applikasjonen for produksjonsbruk.

Setup Supervisor og Nginx

Som standard lytter ERPNext-applikasjonen på port 8000, ikke på standard HTTP-port 80. Det anbefales heller ikke å kjøre den innebygde webserveren for produksjonsbruk, da vi vil eksponere serveren for verden. Derfor bør du bruke en produksjonswebserver som omvendt proxy som Apache eller Nginx. I denne opplæringen vil vi bruke Nginx som en omvendt proxy da den kan konfigureres automatisk ved hjelp av Bench. Bench kan automatisk generere og installere konfigurasjonen i henhold til ERPNext-oppsettet.

Selv om vi kan starte applikasjonen ved å bruke kommandoen ovenfor, vil kjøringen av ERPNext stoppe så snart du lukker terminalen. For å overvinne dette problemet anbefaler jeg å bruke Supervisor som er veldig nyttig for å kjøre applikasjonen kontinuerlig i et produksjonsmiljø. Supervisor er et prosesskontrollsystem som lar deg overvåke og kontrollere en rekke prosesser på Linux-operativsystemer. Når Supervisor er konfigurert, vil den automatisk starte programmet ved oppstart så vel som ved feil. Bench kan automatisk konfigurere Supervisor for ERPNext-applikasjonen.

Installer Supervisor:

sudo yum -y install supervisor

Start Supervisor og aktiver den til å starte automatisk ved oppstart:

sudo systemctl start supervisord
sudo systemctl enable supervisord

Oppsettbenk for produksjonsbruk:

 sudo bench setup production bench

Kommandoen ovenfor kan spørre deg før du erstatter den eksisterende standardkonfigurasjonsfilen for Supervisor med en ny. Velg yå fortsette. Bench legger til en rekke prosesser til Supervisor-konfigurasjonsfilen. Kommandoen ovenfor vil også spørre deg om du ønsker å erstatte den nåværende Nginx-konfigurasjonen med en ny. Enter for yå fortsette. Når Bench er ferdig med å installere konfigurasjonen, gi andre brukere til å kjøre filene i hjemmekatalogen til Bench-brukeren.

chmod o+x /opt/bench/

Hvis du kjører en brannmur på serveren din, må du konfigurere brannmuren til å angi et unntak for HTTP-tjenesten. Tillat Nginx omvendt proxy å koble til fra utenfor nettverket.

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

Du kan nå få tilgang til siden på http://erp.example.com.

Du kan sjekke statusen til prosessene ved å kjøre:

sudo supervisorctl status all

Du bør se følgende utgang:

[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

For å stoppe alle ERPNext-prosessene, bruk:

sudo supervisorctl stop all

For å starte alle ERPNext-prosessene, bruk:

sudo supervisorctl start all

Sette opp SSL ved å bruke Let's Encrypt

Let's Encrypt gir gratis SSL-sertifikater til brukerne. SSL kan installeres manuelt eller automatisk gjennom Bench. Bench kan automatisk installere Let's Encrypt-klienten og få sertifikatene. I tillegg oppdaterer den automatisk Nginx-konfigurasjonen for å bruke sertifikatene.

The domain name which you are using to obtain the certificates from the Let's Encrypt CA must be pointed towards the server. The client verifies the domain authority before issuing the certificates.

Aktiver DNS multi-tenancy for ERPNext-applikasjonen.

bench config dns_multitenant on

Kjør Bench for å sette opp Let's Encrypt på nettstedet ditt:

sudo bench setup lets-encrypt erp.example.com

Under kjøringen av skriptet vil Let's Encrypt-klienten be deg om å stoppe Nginx-nettserveren midlertidig. Den vil automatisk installere de nødvendige pakkene og Let's Encrypt-klienten. Klienten vil be om e-postadressen din. Du må også godta vilkårene og betingelsene. Når sertifikatene er generert, vil Bench også generere den nye konfigurasjonen for Nginx som bruker SSL-sertifikatene. Du vil bli spurt før du erstatter den eksisterende konfigurasjonen. Bench oppretter også en crontaboppføring for å automatisk fornye sertifikatene hver måned.

Til slutt, aktiver planleggeren for å kjøre de planlagte jobbene automatisk:

bench enable-scheduler

Du bør se:

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

Innpakning

Once the process has finished, you can access your application at https://erp.example.com. Login with the username Administrator and the password you have set during installation. You will be taken to the desk where you will need to provide information to set ERPNext ERP according to your company. You can now use the application to manage your company.

Congratulations, you have a fully working ERPNext application installed on your CentOS 7 server.


Installer Plesk på CentOS 7

Installer Plesk på CentOS 7

Bruker du et annet system? Plesk er et proprietært kontrollpanel for webverten som lar brukere administrere sine personlige og/eller klienters nettsteder, databaser

Slik installerer du Squid Proxy på CentOS

Slik installerer du Squid Proxy på CentOS

Squid er et populært, gratis Linux-program som lar deg lage en webproxy for videresending. I denne veiledningen vil du se hvordan du installerer Squid på CentOS for å gjøre deg om

Slik installerer du Lighttpd (LLMP Stack) på CentOS 6

Slik installerer du Lighttpd (LLMP Stack) på CentOS 6

Introduksjon Lighttpd er en apachegaffel som har som mål å være mye mindre ressurskrevende. Den er lett, derav navnet, og er ganske enkel å bruke. Installer

Konfigurering av statisk nettverk og IPv6 på CentOS 7

Konfigurering av statisk nettverk og IPv6 på CentOS 7

VULTR har nylig gjort endringer på sin side, og alt skal nå fungere bra ut av boksen med NetworkManager aktivert. Skulle du ønske å deaktivere

Endring av Icinga2 for å bruke hoved-/klientmodell på CentOS 6 eller CentOS 7

Endring av Icinga2 for å bruke hoved-/klientmodell på CentOS 6 eller CentOS 7

Icinga2 er et kraftig overvåkingssystem, og når det brukes i en master-klient-modell, kan det erstatte behovet for NRPE-baserte overvåkingskontroller. Mester-klienten

Slik installerer du Apache Cassandra 3.11.x på CentOS 7

Slik installerer du Apache Cassandra 3.11.x på CentOS 7

Bruker du et annet system? Apache Cassandra er et gratis og åpen kildekode NoSQL-databasebehandlingssystem som er designet for å gi skalerbarhet, høy

Slik installerer du Microweber på CentOS 7

Slik installerer du Microweber på CentOS 7

Bruker du et annet system? Microweber er en åpen kildekode dra og slipp CMS og nettbutikk. Microweber-kildekoden er vert på GitHub. Denne guiden vil vise deg

Hvordan installere Vanilla Forum på CentOS 7

Hvordan installere Vanilla Forum på CentOS 7

Bruker du et annet system? Vanilla forum er en åpen kildekode-forumapplikasjon skrevet i PHP. Det er en fullt tilpassbar, enkel å bruke og støtter ekstern

Slik installerer du Mattermost 4.1 på CentOS 7

Slik installerer du Mattermost 4.1 på CentOS 7

Bruker du et annet system? Mattermost er et åpen kildekode, selvdrevet alternativ til Slack SAAS-meldingstjenesten. Med andre ord, med Mattermost kan du ca

Opprette et nettverk av Minecraft-servere med BungeeCord på Debian 8, Debian 9 eller CentOS 7

Opprette et nettverk av Minecraft-servere med BungeeCord på Debian 8, Debian 9 eller CentOS 7

Hva du trenger En Vultr VPS med minst 1 GB RAM. SSH-tilgang (med root/administratorrettigheter). Trinn 1: Installere BungeeCord Først

La oss kryptere på Plesk

La oss kryptere på Plesk

Plesk-kontrollpanelet har en veldig fin integrasjon for Lets Encrypt. Lets Encrypt er en av de eneste SSL-leverandørene som gir ut sertifikater komplett

La oss kryptere på cPanel

La oss kryptere på cPanel

Lets Encrypt er en sertifiseringsinstans dedikert til å tilby SSL-sertifikater gratis. cPanel har bygget en ryddig integrasjon slik at du og din klient

Hvordan installere Concrete5 på CentOS 7

Hvordan installere Concrete5 på CentOS 7

Bruker du et annet system? Concrete5 er et åpen kildekode CMS som tilbyr mange karakteristiske og nyttige funksjoner for å hjelpe redaktører med å produsere innhold enkelt og

Slik installerer du Review Board på CentOS 7

Slik installerer du Review Board på CentOS 7

Bruker du et annet system? Review Board er et gratis og åpen kildekodeverktøy for gjennomgang av kildekode, dokumentasjon, bilder og mye mer. Det er nettbasert programvare

Sett opp HTTP-autentisering med Nginx på CentOS 7

Sett opp HTTP-autentisering med Nginx på CentOS 7

I denne veiledningen lærer du hvordan du setter opp HTTP-autentisering for en Nginx-webserver som kjører på CentOS 7. Krav For å komme i gang trenger du

Slik installerer du GoAccess på CentOS 7

Slik installerer du GoAccess på CentOS 7

Bruker du et annet system? GoAccess er en åpen kildekode-nettlogganalysator. Du kan bruke den til analyse av logger på sanntidsbasis i enten terminalen eller

Hvordan installere YOURLS på CentOS 7

Hvordan installere YOURLS på CentOS 7

YOURLS (Your Own URL Shortener) er en åpen kildekode-applikasjon for URL-forkorting og dataanalyse. I denne artikkelen vil vi dekke installasjonsprosessen

Hvordan installere og konfigurere ArangoDB på CentOS 7

Hvordan installere og konfigurere ArangoDB på CentOS 7

Bruker du et annet system? Introduksjon ArangoDB er en åpen kildekode NoSQL-database med en fleksibel datamodell for dokumenter, grafer og nøkkelverdier. Det er

Bruke Etckeeper for versjonskontroll av /etc

Bruke Etckeeper for versjonskontroll av /etc

Innledning /etc/-katalogen spiller en kritisk rolle i måten et Linux-system fungerer på. Grunnen til dette er fordi nesten alle systemkonfigurasjoner

Hvorfor bør du bruke SSHFS? Hvordan montere et eksternt filsystem med SSHFS på CentOS 6

Hvorfor bør du bruke SSHFS? Hvordan montere et eksternt filsystem med SSHFS på CentOS 6

Mange systemadministratorer administrerer store mengder servere. Når filer må åpnes på tvers av forskjellige servere, logger du på hver enkelt individuelt ca

The Rise of Machines: Real World Applications of AI

The Rise of Machines: Real World Applications of AI

Kunstig intelligens er ikke i fremtiden, det er her akkurat i nåtiden I denne bloggen Les hvordan kunstig intelligens-applikasjoner har påvirket ulike sektorer.

DDOS-angrep: en kort oversikt

DDOS-angrep: en kort oversikt

Er du også et offer for DDOS-angrep og forvirret over forebyggingsmetodene? Les denne artikkelen for å løse spørsmålene dine.

Har du noen gang lurt på hvordan hackere tjener penger?

Har du noen gang lurt på hvordan hackere tjener penger?

Du har kanskje hørt at hackere tjener mye penger, men har du noen gang lurt på hvordan tjener de den slags penger? la oss diskutere.

Revolusjonerende oppfinnelser fra Google som vil gjøre livet ditt enkelt.

Revolusjonerende oppfinnelser fra Google som vil gjøre livet ditt enkelt.

Vil du se revolusjonerende oppfinnelser fra Google og hvordan disse oppfinnelsene forandret livet til alle mennesker i dag? Les deretter til bloggen for å se oppfinnelser fra Google.

Fredag ​​Essential: Hva skjedde med AI-drevne biler?

Fredag ​​Essential: Hva skjedde med AI-drevne biler?

Konseptet med selvkjørende biler som skal ut på veiene ved hjelp av kunstig intelligens er en drøm vi har hatt en stund nå. Men til tross for flere løfter, er de ingen steder å se. Les denne bloggen for å lære mer...

Teknologisk singularitet: en fjern fremtid for menneskelig sivilisasjon?

Teknologisk singularitet: en fjern fremtid for menneskelig sivilisasjon?

Ettersom vitenskapen utvikler seg raskt og tar over mye av innsatsen vår, øker også risikoen for å utsette oss for en uforklarlig singularitet. Les hva singularitet kan bety for oss.

Evolusjon av datalagring – infografikk

Evolusjon av datalagring – infografikk

Lagringsmetodene for dataene har vært i utvikling kan være siden fødselen av dataene. Denne bloggen dekker utviklingen av datalagring på grunnlag av en infografikk.

Funksjonaliteter til Big Data Reference Architecture Layers

Funksjonaliteter til Big Data Reference Architecture Layers

Les bloggen for å kjenne ulike lag i Big Data Architecture og deres funksjoner på den enkleste måten.

6 fantastiske fordeler ved å ha smarte hjemmeenheter i livene våre

6 fantastiske fordeler ved å ha smarte hjemmeenheter i livene våre

I denne digitaldrevne verden har smarthusenheter blitt en avgjørende del av livet. Her er noen fantastiske fordeler med smarthusenheter om hvordan de gjør livet vårt verdt å leve og enklere.

macOS Catalina 10.15.4 tilleggsoppdatering forårsaker flere problemer enn å løse

macOS Catalina 10.15.4 tilleggsoppdatering forårsaker flere problemer enn å løse

Nylig lanserte Apple macOS Catalina 10.15.4 en tilleggsoppdatering for å fikse problemer, men det ser ut til at oppdateringen forårsaker flere problemer som fører til muring av mac-maskiner. Les denne artikkelen for å lære mer