Sådan installeres ERPNext Open Source ERP på CentOS 7

ERP eller Enterprise Resource Planning er en virksomhedsapplikationspakke, der bruges til at styre kerneforretningsprocesser. ERPNext er gratis og open source selv-hostet ERP-applikation skrevet i Python. Den bruger Node.js til frontend og MariaDB til at gemme sine data. ERPNext giver en brugervenlig webgrænseflade, der giver virksomheder mulighed for at styre de daglige opgaver. Den indeholder moduler til regnskab, CRM, HRM, produktion, POS, projektledelse, indkøb, salgsstyring, lagerstyring og meget mere. ERPNext kan bruges til at styre forskellige industrier såsom tjenesteudbydere, fremstilling, detailhandel og skoler.

I denne vejledning installerer vi ERPNext på CentOS 7.

Forudsætninger

Til denne vejledning vil vi bruge erp.example.comsom domænenavnet pegede på serveren. Sørg for at erstatte alle forekomster af erp.example.commed dit faktiske domænenavn.

Opdater dit basissystem ved hjælp af vejledningen " Sådan opdaterer du CentOS 7 ". Når dit system er blevet opdateret, skal du fortsætte med at installere Python.

Installer udviklingsværktøjer

ERPNext har brug for Python version 2.7 for at fungere. Python 2.7 er installeret som standard i alle CentOS-serverforekomster. Du kan kontrollere, om den installerede version af Python ved at køre:

python -V

Du burde få det samme output.

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

Selvom den installerede version af Python ikke er den nyeste, fungerer den uden problemer. Ændring af standardversionen af ​​Python kan ødelægge YUM.

Installer pakkerne i Development toolsgruppen, der er nødvendige for at kompilere installationsfilerne.

sudo yum groupinstall -y "Development tools"

Installer et par flere afhængigheder:

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

Installer Pythons pipværktøj. Pip er afhængighedsmanageren for Python-pakker.

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

Ovenstående kommando vil installere Pip på dit system. For at sikre, at du har den seneste version af pipog setuptools, skal du køre:

sudo pip install --upgrade pip setuptools

Installer Ansible ved hjælp af Pip. Ansible automatiserer softwareprovisionering, konfigurationsstyring og applikationsimplementering.

sudo pip install ansible

Installer MariaDB Server

MariaDB er en fork af MySQL-databaseserver. Installer MariaDB ved at køre.

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

Barracuda-lagringsmotoren er påkrævet til oprettelse af ERPNext-databaser, derfor skal du konfigurere MariaDB til at bruge Barracuda-lagringsmotoren. Rediger standard MariaDB-konfigurationsfilen my.cnf.

sudo nano /etc/my.cnf

Tilføj 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 aktiver den til automatisk at starte ved opstart.

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

Før du konfigurerer databasen, skal du sikre MariaDB. Du kan sikre det ved at køre mysql_secure_installationscriptet:

sudo mysql_secure_installation

Du bliver bedt om den aktuelle MariaDB root-adgangskode. Som standard er der ingen root-adgangskode indstillet på MariaDB. Tryk på "Enter"-tasten for at fortsætte. Indstil en stærk adgangskode til root-brugeren på din MariaDB-server og svar "Y" på alle de andre spørgsmål, der stilles. De stillede spørgsmål er selvforklarende.

Installer Nginx, Nodejs og Redis

Da EPEL-lageret er installeret som standard i alle Vultr CentOS 7-forekomster, kan du installere Redis og Nginx direkte. Men for at installere den seneste version af Node.js skal du tilføje Nodesource-lageret til dit system.

Tilføj Nodesource-lageret til 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 at starte ved opstart ved at køre:

sudo systemctl start nginx
sudo systemctl enable nginx

Start Redis og aktiver den til at starte ved opstart ved at køre:

sudo systemctl start redis
sudo systemctl enable redis

Installer PDF Converter

Det wkhtmltopdfprogram er en kommandolinje værktøj, der konverterer HTML til PDF ved hjælp af QT Webkit rendering engine. Installer de nødvendige afhængigheder:

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

Download den seneste version af wkhtmltopdf.

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

Udpak arkivet ved at køre:

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

Ovenstående kommando vil udpakke arkivet til /opt/wkhtmltox. Opret et softlink, så wkhtmltopdfog wkhtmltoimagekan udfø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 nu køre wkhtmltopdf -Vkommandoen for at kontrollere, om den virker, du vil se:

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

På dette tidspunkt har vi alle de nødvendige afhængigheder installeret. Du kan nu fortsætte med at installere Bench.

Installer bænk

Bencher et kommandolinjeværktøj leveret af Frappe til at installere og administrere ERPNext-applikationen på et Unix-baseret system til både udviklings- og produktionsformål. Bench kan også oprette og administrere Nginx og supervisor-konfiguration.

Opret en ny bruger til at køre Bench-processer i det isolerede miljø.

sudo adduser bench -d /opt/bench

Skift brugerens adgangskode.

sudo passwd bench

Giv brugeren sudotilladelser bench.

sudo usermod -aG wheel bench

Log ind som den nyoprettede benchbruger:

sudo su - bench

Klon Bench-depotet i /opt/bench:

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

Installer bænk ved hjælp af pip.

sudo pip install -e bench-repo

Når Bench er installeret, fortsæt videre for at installere ERPNext ved hjælp af Bench.

Installer ERPNext ved hjælp af Bench

Initialiser en bænk-mappe med frappe framework installeret. For at holde alt ryddeligt, vil vi arbejde under /opt/benchmappe. Bench vil også opsætte regelmæssige sikkerhedskopier og automatiske opdateringer en gang om dagen.

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

Opret en ny Frappe-side:

bench new-site erp.example.com

Ovenstående kommando vil bede dig om MySQL root-adgangskoden. Angiv adgangskoden, som du tidligere har indstillet til MySQL root-brugeren. Den vil også bede dig om at indstille en ny adgangskode til administratorkontoen. Du skal bruge denne adgangskode senere for at logge ind på administratordashboardet.

Download ERPNext-installationsfiler fra det eksterne git-lager ved hjælp af bænken.

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

Installer ERPNext på dit nyoprettede websted:

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

ERPNext er installeret på din server. Du kan starte applikationen med det samme for at kontrollere, om applikationen er startet med succes:

bench start

Du bør dog stoppe eksekveringen og fortsætte med at konfigurere applikationen til produktionsbrug.

Setup Supervisor og Nginx

Som standard lytter ERPNext-applikationen på port 8000, ikke til standard HTTP-port 80. Det anbefales heller ikke at køre den indbyggede webserver til produktionsbrug, da vi vil udsætte serveren for verden. Derfor bør du bruge en produktionswebserver som omvendt proxy såsom Apache eller Nginx. I denne vejledning vil vi bruge Nginx som en omvendt proxy, da den automatisk kan konfigureres ved hjælp af Bench. Bench kan automatisk generere og installere konfigurationen i henhold til ERPNext-opsætningen.

Selvom vi kan starte applikationen ved hjælp af ovenstående kommando, vil udførelsen af ​​ERPNext stoppe, så snart du lukker terminalen. For at overvinde dette problem anbefaler jeg at bruge Supervisor, som er meget nyttig til at køre applikationen kontinuerligt i et produktionsmiljø. Supervisor er et proceskontrolsystem, der gør dig i stand til at overvåge og kontrollere en række processer på Linux-operativsystemer. Når Supervisor er konfigureret, starter den automatisk programmet ved opstart samt ved fejl. Bench kan automatisk konfigurere Supervisor til ERPNext-applikationen.

Installer Supervisor:

sudo yum -y install supervisor

Start Supervisor og aktiver den til automatisk at starte ved opstart:

sudo systemctl start supervisord
sudo systemctl enable supervisord

Opsætningsbænk til produktionsbrug:

 sudo bench setup production bench

Ovenstående kommando kan bede dig, før du erstatter den eksisterende Supervisor-standardkonfigurationsfil med en ny. Vælg yat fortsætte. Bench tilføjer en række processer til Supervisor-konfigurationsfilen. Ovenstående kommando vil også spørge dig, om du ønsker at erstatte den nuværende Nginx-konfiguration med en ny. Indtast for yat fortsætte. Når Bench er færdig med at installere konfigurationen, skal du give andre brugere mulighed for at udføre filerne i dit hjemmebibliotek for Bench-brugeren.

chmod o+x /opt/bench/

Hvis du kører en firewall på din server, skal du konfigurere firewallen til at indstille en undtagelse for HTTP-tjenesten. Tillad Nginx omvendt proxy at oprette forbindelse uden for netværket.

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

Du kan nu få adgang til siden på http://erp.example.com.

Du kan kontrollere status for processerne ved at køre:

sudo supervisorctl status all

Du bør se følgende output:

[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 at stoppe alle ERPNext-processerne skal du bruge:

sudo supervisorctl stop all

For at starte alle ERPNext-processerne skal du bruge:

sudo supervisorctl start all

Opsætning af SSL ved hjælp af Let's Encrypt

Let's Encrypt leverer gratis SSL-certifikater til brugerne. SSL kan installeres manuelt eller automatisk gennem Bench. Bench kan automatisk installere Let's Encrypt-klienten og få certifikaterne. Derudover opdaterer den automatisk Nginx-konfigurationen for at bruge certifikaterne.

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-applikationen.

bench config dns_multitenant on

Kør Bench for at konfigurere Let's Encrypt på dit websted:

sudo bench setup lets-encrypt erp.example.com

Under udførelsen af ​​scriptet vil Let's Encrypt-klienten bede dig om midlertidigt at stoppe Nginx-webserveren. Det vil automatisk installere de nødvendige pakker og Let's Encrypt-klienten. Klienten vil bede om din e-mailadresse. Du skal også acceptere vilkårene og betingelserne. Når certifikaterne er blevet genereret, vil Bench også generere den nye konfiguration til Nginx, som bruger SSL-certifikaterne. Du bliver spurgt, før du udskifter den eksisterende konfiguration. Bench opretter også en crontabpost for automatisk at forny certifikaterne hver måned.

Til sidst skal du aktivere skemalæggeren til automatisk at køre de planlagte job:

bench enable-scheduler

Du bør se:

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

Afslutter

Når processen er afsluttet, kan du få adgang til din ansøgning på https://erp.example.com. Log ind med det brugernavn Administratorog den adgangskode, du har angivet under installationen. Du vil blive ført til skrivebordet, hvor du skal give oplysninger for at indstille ERPNext ERP i overensstemmelse med din virksomhed. Du kan nu bruge applikationen til at administrere din virksomhed.

Tillykke, du har en fuldt fungerende ERPNext-applikation installeret på din CentOS 7-server.


Installer Plesk på CentOS 7

Installer Plesk på CentOS 7

Bruger du et andet system? Plesk er et proprietært webhost kontrolpanel, der giver brugerne mulighed for at administrere deres personlige og/eller klienters websteder, databaser

Sådan installeres Squid Proxy på CentOS

Sådan installeres Squid Proxy på CentOS

Squid er et populært, gratis Linux-program, der giver dig mulighed for at oprette en webproxy til videresendelse. I denne vejledning vil du se, hvordan du installerer Squid på CentOS for at gøre dig

Sådan installeres Lighttpd (LLMP Stack) på CentOS 6

Sådan installeres Lighttpd (LLMP Stack) på CentOS 6

Introduktion Lighttpd er en forgrening af Apache, der sigter mod at være meget mindre ressourcekrævende. Den er let, deraf navnet, og den er ret enkel at bruge. Installer

Konfiguration af statisk netværk og IPv6 på CentOS 7

Konfiguration af statisk netværk og IPv6 på CentOS 7

VULTR har for nylig foretaget ændringer i deres ende, og alt skulle nu fungere fint ud af boksen med NetworkManager aktiveret. Skulle du ønske at deaktivere

Ændring af Icinga2 til at bruge Master/Client Model på CentOS 6 eller CentOS 7

Ændring af Icinga2 til at bruge Master/Client Model på CentOS 6 eller CentOS 7

Icinga2 er et kraftfuldt overvågningssystem, og når det bruges i en master-klient-model, kan det erstatte behovet for NRPE-baserede overvågningstjek. Mester-klienten

Sådan installeres Apache Cassandra 3.11.x på CentOS 7

Sådan installeres Apache Cassandra 3.11.x på CentOS 7

Bruger du et andet system? Apache Cassandra er et gratis og open source NoSQL-databasestyringssystem, der er designet til at give skalerbarhed, høj

Sådan installeres Microweber på CentOS 7

Sådan installeres Microweber på CentOS 7

Bruger du et andet system? Microweber er en open source træk og slip CMS og online shop. Microweber-kildekoden er hostet på GitHub. Denne guide vil vise dig

Sådan installeres Mattermost 4.1 på CentOS 7

Sådan installeres Mattermost 4.1 på CentOS 7

Bruger du et andet system? Mattermost er et open source, selvhostet alternativ til Slack SAAS-meddelelsestjenesten. Med andre ord, med Mattermost er du ca

Oprettelse af et netværk af Minecraft-servere med BungeeCord på Debian 8, Debian 9 eller CentOS 7

Oprettelse af et netværk af Minecraft-servere med BungeeCord på Debian 8, Debian 9 eller CentOS 7

Hvad skal du bruge En Vultr VPS med mindst 1 GB RAM. SSH-adgang (med root/administrative rettigheder). Trin 1: Installation af BungeeCord Første ting først

Lad os kryptere på Plesk

Lad os kryptere på Plesk

Plesk-kontrolpanelet har en meget flot integration til Lets Encrypt. Lets Encrypt er en af ​​de eneste SSL-udbydere, der udleverer certifikater komplet

Lader kryptere på cPanel

Lader kryptere på cPanel

Lets Encrypt er en certifikatmyndighed dedikeret til at levere SSL-certifikater gratis. cPanel har bygget en pæn integration, så du og din klient

Sådan installeres Concrete5 på CentOS 7

Sådan installeres Concrete5 på CentOS 7

Bruger du et andet system? Concrete5 er et open source CMS, som tilbyder mange karakteristiske og nyttige funktioner til at hjælpe redaktører med at producere indhold nemt og

Sådan installeres Review Board på CentOS 7

Sådan installeres Review Board på CentOS 7

Bruger du et andet system? Review Board er et gratis og open source-værktøj til gennemgang af kildekode, dokumentation, billeder og mange flere. Det er webbaseret software

Konfigurer HTTP-godkendelse med Nginx på CentOS 7

Konfigurer HTTP-godkendelse med Nginx på CentOS 7

I denne vejledning lærer du, hvordan du opsætter HTTP-godkendelse for en Nginx-webserver, der kører på CentOS 7. Krav For at komme i gang skal du bruge

Sådan installeres YOURLS på CentOS 7

Sådan installeres YOURLS på CentOS 7

YOURLS (Your Own URL Shortener) er en open source URL-forkortelse og dataanalyseapplikation. I denne artikel vil vi dække installationsprocessen

Sådan installeres og konfigureres ArangoDB på CentOS 7

Sådan installeres og konfigureres ArangoDB på CentOS 7

Bruger du et andet system? Introduktion ArangoDB er en open source NoSQL-database med en fleksibel datamodel for dokumenter, grafer og nøgleværdier. det er

Brug af Etckeeper til versionskontrol af /etc

Brug af Etckeeper til versionskontrol af /etc

Introduktion /etc/-biblioteket spiller en afgørende rolle i den måde et Linux-system fungerer på. Årsagen til dette er, at næsten alle systemkonfigurationer

Hvorfor skal du bruge SSHFS? Sådan monteres et eksternt filsystem med SSHFS på CentOS 6

Hvorfor skal du bruge SSHFS? Sådan monteres et eksternt filsystem med SSHFS på CentOS 6

Mange systemadministratorer administrerer store mængder servere. Når filer skal tilgås på tværs af forskellige servere, logges ind på hver enkelt individuelt ca

Opsætning af en Half Life 2-server på CentOS 6

Opsætning af en Half Life 2-server på CentOS 6

Denne vejledning vil dække processen med at installere en Half Life 2-spilserver på CentOS 6 System. Trin 1: Installation af forudsætninger For at opsætte ou

Sådan installeres Laravel GitScrum på CentOS 7

Sådan installeres Laravel GitScrum på CentOS 7

Laravel GitScrum eller GitScrum er et open source-produktivitetsværktøj designet til at hjælpe udviklingsteams med at implementere Scrum-metoden på en måde, der ligner t.

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 lige i nuet I denne blog Læs, hvordan kunstig intelligens-applikationer har påvirket forskellige sektorer.

DDOS-angreb: et kort overblik

DDOS-angreb: et kort overblik

Er du også et offer for DDOS-angreb og forvirret over forebyggelsesmetoderne? Læs denne artikel for at løse dine spørgsmål.

Har du nogensinde spekuleret på, hvordan tjener hackere penge?

Har du nogensinde spekuleret på, hvordan tjener hackere penge?

Du har måske hørt, at hackere tjener mange penge, men har du nogensinde spekuleret på, hvordan tjener de den slags penge? lad os diskutere.

Revolutionære opfindelser fra Google, der vil gøre dit liv lettere.

Revolutionære opfindelser fra Google, der vil gøre dit liv lettere.

Vil du se revolutionerende opfindelser fra Google, og hvordan disse opfindelser ændrede livet for ethvert menneske i dag? Læs derefter til bloggen for at se opfindelser fra Google.

Fredag ​​Essential: Hvad skete der med AI-drevne biler?

Fredag ​​Essential: Hvad skete der med AI-drevne biler?

Konceptet med selvkørende biler til at køre på vejene ved hjælp af kunstig intelligens er en drøm, vi har haft i et stykke tid nu. Men på trods af flere løfter er de ingen steder at se. Læs denne blog for at lære mere...

Teknologisk singularitet: En fjern fremtid for menneskelig civilisation?

Teknologisk singularitet: En fjern fremtid for menneskelig civilisation?

Efterhånden som videnskaben udvikler sig i et hurtigt tempo og overtager en stor del af vores indsats, stiger risikoen for at udsætte os selv for en uforklarlig Singularitet. Læs, hvad singularitet kunne betyde for os.

Udvikling af datalagring – Infografik

Udvikling af datalagring – Infografik

Opbevaringsmetoderne for dataene har været under udvikling, kan være siden fødslen af ​​dataene. Denne blog dækker udviklingen af ​​datalagring på basis af en infografik.

Funktioner af Big Data Reference Architecture Layers

Funktioner af Big Data Reference Architecture Layers

Læs bloggen for at kende forskellige lag i Big Data-arkitekturen og deres funktionaliteter på den enkleste måde.

6 fantastiske fordele ved at have smarte hjemmeenheder i vores liv

6 fantastiske fordele ved at have smarte hjemmeenheder i vores liv

I denne digitalt drevne verden er smarte hjemmeenheder blevet en afgørende del af livet. Her er et par fantastiske fordele ved smarte hjemmeenheder om, hvordan de gør vores liv værd at leve og enklere.

macOS Catalina 10.15.4-tillægsopdatering forårsager flere problemer end at løse

macOS Catalina 10.15.4-tillægsopdatering forårsager flere problemer end at løse

For nylig udgav Apple macOS Catalina 10.15.4 en supplerende opdatering for at løse problemer, men det ser ud til, at opdateringen forårsager flere problemer, hvilket fører til mursten af ​​mac-maskiner. Læs denne artikel for at lære mere