Sådan installeres ERPNext Open Source ERP på Ubuntu 17.04

ERP eller Enterprise Resource Planning er en virksomhedsapplikationspakke, der bruges til at styre kerneforretningsprocesser. ERPNext er en 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 administrere 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.

Forudsætninger

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

Før vi begynder, skal du sørge for, at din server er opdateret.

sudo apt update
sudo apt -y upgrade

Installer udviklingsværktøjer

ERPNext har brug for Python version 2.7 for at fungere. Installer Python 2.7.

sudo apt -y install python-minimal

Du burde være i stand til at verificere dens version.

python -V

Du vil se følgende output.

user@vultr:~$ python -V
Python 2.7.13

Installer et par flere afhængigheder.

sudo apt -y install git build-essential python-setuptools python-dev libffi-dev libssl-dev

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

Sørg for, at du har den seneste version af pipog setuptools.

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

Tilføj MariaDB-lageret til systemet.

sudo apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 0xF1656F24C74CD1D8
sudo add-apt-repository 'deb [arch=amd64,i386,ppc64el] http://mirror.nodesdirect.com/mariadb/repo/10.2/ubuntu xenial main'

Installer MariaDB.

sudo apt update
sudo apt -y install mariadb-server libmysqlclient-dev

Angiv en stærk adgangskode til MariaDB root-brugeren, når du bliver bedt om det.

Barracuda-lagringsmotoren er påkrævet til oprettelse af ERPNext-databaser, så du bliver nødt til at konfigurere MariaDB til at bruge Barracuda-lagringsmotoren. Rediger standard MariaDB-konfigurationsfilen my.cnf.

sudo nano /etc/mysql/my.cnf

Tilføj følgende linjer under [mysqld]linjen.

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

Tilføj også følgende linje under [mysql]linjen.

default-character-set = utf8mb4

Genstart MariaDB og aktiver den til automatisk at starte ved opstart.

sudo systemctl restart mariadb
sudo systemctl enable mariadb

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. Angiv den adgangskode, du har angivet under installationen. Du bliver spurgt, om du ønsker at ændre den eksisterende adgangskode for root-brugeren på din MariaDB-server. Du kan springe over at angive en ny adgangskode, da du allerede har angivet en stærk adgangskode under installationen. Svar "Y" på alle de andre spørgsmål, der stilles.

Installer Nginx, Node.js og Redis

Tilføj Nodesource-lageret til Node.js 8.x.

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

Installer Nginx, Node.js og Redis.

sudo apt -y install nginx nodejs redis-server

Start Nginx og aktiver den til at starte ved opstart.

sudo systemctl start nginx
sudo systemctl enable nginx

Start Redis og aktiver den til at starte ved opstart.

sudo systemctl start redis-server
sudo systemctl enable redis-server

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 apt -y install libxrender1 libxext6 xfonts-75dpi xfonts-base

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

Uddrag arkivet.

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 løbe for wkhtmltopdf -Vat tjekke om det virker, du vil se dette.

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

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

sudo adduser bench --home /opt/bench

Giv brugeren sudotilladelser bench.

sudo usermod -aG sudo 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 arbejder vi under /opt/benchmappen. 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 Bench.

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

Installer ERPNext på dit nyoprettede websted.

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

Du kan starte applikationen med det samme for at kontrollere, om applikationen er installeret korrekt.

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 standard-HTTP-porten 80. Det anbefales heller ikke at køre den indbyggede webserver til produktionsbrug, da vi vil udsætte serveren for verden. Du bør bruge en produktionswebserver som en omvendt proxy, såsom Apache eller Nginx. Vi vil 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 at bruge 'bench start'-kommandoen, vil udførelsen af ​​ERPNext stoppe, så snart du lukker terminalen. For at overvinde dette problem bør du 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 apt -y install supervisor

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

sudo systemctl start supervisor
sudo systemctl enable supervisor

Opstillingsbæ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/

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:~/erpnext$ sudo supervisorctl status all
erpnext-redis:erpnext-redis-cache                 RUNNING   pid 13852, uptime 0:00:54
erpnext-redis:erpnext-redis-queue                 RUNNING   pid 13851, uptime 0:00:54
erpnext-redis:erpnext-redis-socketio              RUNNING   pid 13853, uptime 0:00:54
erpnext-web:erpnext-frappe-web                    RUNNING   pid 13856, uptime 0:00:54
erpnext-web:erpnext-node-socketio                 RUNNING   pid 13855, uptime 0:00:54
erpnext-workers:erpnext-frappe-default-worker-0   RUNNING   pid 13862, uptime 0:00:54
erpnext-workers:erpnext-frappe-long-worker-0      RUNNING   pid 13870, uptime 0:00:54
erpnext-workers:erpnext-frappe-schedule           RUNNING   pid 13869, uptime 0:00:54
erpnext-workers:erpnext-frappe-short-worker-0     RUNNING   pid 13875, uptime 0:00:54

For at stoppe alle ERPNext-processer.

sudo supervisorctl stop all

For at starte alle ERPNext-processer.

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.

Domænenavnet, som du bruger til at få certifikaterne fra Let's Encrypt CA, skal pege mod serveren. Klienten verificerer domæneautoriteten før udstedelse af certifikaterne .

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 dig 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 opgaver.

bench enable-scheduler

Du bør se dette output.

bench@vultr:~/erpnext$ bench enable-scheduler
Enabled for erp.example.com

Konklusion

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 Ubuntu 17.04-server.


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 Memcached på Ubuntu 14.04

Sådan installeres Memcached på Ubuntu 14.04

Memcached er et højtydende databasesystem, der kan hjælpe med at superlade din applikation. Den er meget hurtig, da den ikke skriver til disken, men i stedet t

Opsætning af Fail2ban Ubuntu x64

Opsætning af Fail2ban Ubuntu x64

Fail2ban er et program, der overvåger login-aktivitet på din server og blokerer stødende IP-adresser. Som standard blokerer den IP-adresser i 10 minutter

Konfigurer Red5 Media Server på Ubuntu 16.04

Konfigurer Red5 Media Server på Ubuntu 16.04

Bruger du et andet system? Red5 er en open source medieserver implementeret i Java, der giver dig mulighed for at køre Flash multi-bruger applikationer såsom live streamin

Sådan installeres Vanilla Forum på Ubuntu 16.04

Sådan installeres Vanilla Forum på Ubuntu 16.04

Bruger du et andet system? Vanilla forum er en open source forumapplikation skrevet i PHP. Det er en fuldt tilpasselig, nem at bruge og understøtter ekstern

Sådan installeres Tiny Tiny RSS Reader på en FreeBSD 11 FAMP VPS

Sådan installeres Tiny Tiny RSS Reader på en FreeBSD 11 FAMP VPS

Bruger du et andet system? Tiny Tiny RSS Reader er en gratis og open source selv-hostet webbaseret nyhedsfeed (RSS/Atom) læser og aggregator, designet til at allo

How to Install Wiki.js on FreeBSD 11

How to Install Wiki.js on FreeBSD 11

Using a Different System? Wiki.js is a free and open source, modern wiki app built on Node.js, MongoDB, Git and Markdown. Wiki.js source code is publicl

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

Installation af Microweber på Ubuntu 16.04

Installation af Microweber på Ubuntu 16.04

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

Sådan installeres dotCMS på Ubuntu 16.04

Sådan installeres dotCMS på Ubuntu 16.04

Bruger du et andet system? DotCMS er et open source, enterprise-grade content management system skrevet i Java. Den indeholder næsten alle nødvendige funktioner

Sådan installeres Pagekit 1.0 CMS på en FreeBSD 11 FAMP VPS

Sådan installeres Pagekit 1.0 CMS på en FreeBSD 11 FAMP VPS

Bruger du et andet system? Pagekit 1.0 CMS er et smukt, modulært, udvideligt og let, gratis og open source Content Management System (CMS) med

Sådan installeres BigTree CMS på en Fedora 26 LAMP VPS

Sådan installeres BigTree CMS på en Fedora 26 LAMP VPS

Bruger du et andet system? BigTree CMS 4.2 er et hurtigt og let, gratis og open source, enterprise-grade content management system (CMS) med omfattende

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 GoAccess på Ubuntu 16.04

Sådan installeres GoAccess på Ubuntu 16.04

Bruger du et andet system? GoAccess er en open source weblog-analysator. Du kan bruge det til analyse af logs på realtidsbasis i enten terminalen eller

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

Konfigurer Nagios på Ubuntu: Del 1 - Nagios Server

Konfigurer Nagios på Ubuntu: Del 1 - Nagios Server

Denne artikel er en del af en 2-delt serie om installation og konfiguration af Nagios på Ubuntu 14.04. Del 1: Nagios Server Del 2: Oversigt over fjernvært Nagio

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