Kako namestiti odprtokodni ERP ERPNext na Ubuntu 17.04

ERP ali Enterprise Resource Planning je zbirka aplikacij podjetja, ki se uporablja za upravljanje osnovnih poslovnih procesov. ERPNext je brezplačna in odprtokodna, samostojno gostujoča aplikacija ERP, napisana v Pythonu. Uporablja Node.js za sprednji del in MariaDB za shranjevanje svojih podatkov. ERPNext ponuja spletni vmesnik, enostaven za uporabo, ki podjetjem omogoča upravljanje vsakodnevnih opravil. Vsebuje module za računovodstvo, CRM, HRM, proizvodnjo, POS, vodenje projektov, nabavo, upravljanje prodaje, vodenje skladišča in drugo. ERPNext se lahko uporablja za upravljanje različnih panog, kot so ponudniki storitev, proizvodnja, maloprodaja in šole.

Predpogoji

  • Primerek strežnika Vultr Ubuntu 17.04.
  • Uporabnik sudo .

Opomba: Za to vadnico bomo uporabili erp.example.comime domene, ki je usmerjeno na strežnik. Prosimo, da zamenjate vse pojavitve z erp.example.comz vašim dejanskim imenom domene .

Preden začnemo, se prepričajte, da je vaš strežnik posodobljen.

sudo apt update
sudo apt -y upgrade

Namestite razvojna orodja

ERPNext potrebuje za delovanje Python različico 2.7. Namestite Python 2.7.

sudo apt -y install python-minimal

Morali bi biti sposobni preveriti njegovo različico.

python -V

Videli boste naslednji izhod.

user@vultr:~$ python -V
Python 2.7.13

Namestite še nekaj odvisnosti.

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

Namestite piporodje Python . Pip je upravitelj odvisnosti za pakete Python.

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

Prepričajte se, da imate najnovejšo različico pipin setuptools.

sudo pip install --upgrade pip setuptools

Namestite Ansible s programom Pip. Ansible avtomatizira zagotavljanje programske opreme, upravljanje konfiguracije in uvajanje aplikacij.

sudo pip install ansible

Namestite strežnik MariaDB

Dodajte skladišče MariaDB v sistem.

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'

Namestite MariaDB.

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

Zagotovite močno geslo za korenskega uporabnika MariaDB, ko ga vprašate.

Mehanizem za shranjevanje Barracuda je potreben za ustvarjanje baz podatkov ERPNext, zato boste morali konfigurirati MariaDB za uporabo mehanizma za shranjevanje Barracuda. Uredite privzeto konfiguracijsko datoteko MariaDB my.cnf.

sudo nano /etc/mysql/my.cnf

Pod [mysqld]vrstico dodajte naslednje vrstice .

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

Pod vrstico dodajte tudi naslednjo [mysql]vrstico.

default-character-set = utf8mb4

Znova zaženite MariaDB in omogočite, da se samodejno zažene ob zagonu.

sudo systemctl restart mariadb
sudo systemctl enable mariadb

Pred konfiguracijo baze podatkov boste morali zavarovati MariaDB. Zavarujete ga lahko tako, da zaženete mysql_secure_installationskript.

sudo mysql_secure_installation

Zahtevali boste trenutno korensko geslo MariaDB. Vnesite geslo, ki ste ga nastavili med namestitvijo. Vprašani boste, ali želite spremeniti obstoječe geslo korenskega uporabnika vašega strežnika MariaDB. Nastavitev novega gesla lahko preskočite, saj ste že med namestitvijo navedli močno geslo. Odgovorite z "Y" na vsa druga zastavljena vprašanja.

Namestite Nginx, Node.js in Redis

Dodajte repozitorij Nodesource za Node.js 8.x.

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

Namestite Nginx, Node.js in Redis.

sudo apt -y install nginx nodejs redis-server

Zaženite Nginx in omogočite, da se zažene ob zagonu.

sudo systemctl start nginx
sudo systemctl enable nginx

Zaženite Redis in omogočite, da se zažene ob zagonu.

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

Namestite PDF Converter

wkhtmltopdfProgram je orodje ukazne vrstice, ki pretvarja HTML v PDF s pomočjo upodabljanje na WebKit QT. Namestite zahtevane odvisnosti.

sudo apt -y install libxrender1 libxext6 xfonts-75dpi xfonts-base

Prenesite najnovejšo različico wkhtmltopdf.

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

Ekstrahirajte arhiv.

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

Zgornji ukaz bo izvlekel arhiv v /opt/wkhtmltox. Ustvarite mehko povezavo, tako da wkhtmltopdfin wkhtmltoimagese lahko izvaja globalno kot ukaz.

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

Zdaj lahko zaženete, wkhtmltopdf -Vda preverite, ali deluje, to boste videli.

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

Na tej točki imamo nameščene vse zahtevane odvisnosti. Zdaj lahko nadaljujete z namestitvijo Bench.

Namesti Bench

Benchje pripomoček ukazne vrstice, ki ga ponuja Frappe za namestitev in upravljanje aplikacije ERPNext na sistemu, ki temelji na Unixu, tako za razvojne kot proizvodne namene. Bench lahko tudi ustvarja in upravlja konfiguracije Nginxa in nadzornika.

Ustvarite novega uporabnika za izvajanje Bench procesov v izoliranem okolju.

sudo adduser bench --home /opt/bench

Uporabniku zagotovite sudodovoljenja bench.

sudo usermod -aG sudo bench

Prijavite se kot novoustvarjeni benchuporabnik.

sudo su - bench

Klonirajte skladišče Bench v /opt/bench.

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

Namestite Bench s pomočjo pip.

sudo pip install -e bench-repo

Ko je Bench nameščen, nadaljujte z namestitvijo ERPNext s pomočjo Bench.

Namestite ERPNext s pomočjo Bench

Inicializirajte klopni imenik z nameščenim okvirjem frappe. Da bo vse urejeno, bomo delali pod /opt/benchimenikom. Bench bo tudi nastavil redne varnostne kopije in samodejne posodobitve enkrat na dan.

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

Ustvarite novo spletno mesto Frappe.

bench new-site erp.example.com

Zgornji ukaz vas bo pozval, da vnesete korensko geslo MySQL. Navedite geslo, ki ste ga prej nastavili za korenskega uporabnika MySQL. Prosil vas bo tudi, da nastavite novo geslo za skrbniški račun. To geslo boste potrebovali pozneje za prijavo v skrbniško nadzorno ploščo .

Prenesite namestitvene datoteke ERPNext iz oddaljenega repozitorija git s pomočjo Bench.

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

Namestite ERPNext na novo ustvarjeno spletno mesto.

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

Aplikacijo lahko zaženete takoj, da preverite, ali je aplikacija uspešno nameščena.

bench start

Vendar morate ustaviti izvajanje in nadaljevati z nastavitvijo aplikacije za produkcijsko uporabo.

Nadzornik namestitve in Nginx

Aplikacija ERPNext privzeto posluša vrata 8000in ne standardna vrata HTTP 80. Prav tako ni priporočljivo izvajati vgrajenega spletnega strežnika za produkcijsko uporabo, saj bomo strežnik izpostavili svetu. Uporabite produkcijski spletni strežnik kot povratni proxy, kot sta Apache ali Nginx. Nginx bomo uporabili kot povratni proxy, saj ga je mogoče samodejno konfigurirati s pomočjo Bench. Bench lahko samodejno ustvari in namesti konfiguracijo v skladu z nastavitvijo ERPNext.

Čeprav lahko aplikacijo zaženemo z ukazom 'bench start', se bo izvajanje ERPNext ustavilo takoj, ko zaprete terminal. Če želite premagati to težavo, uporabite Supervisor, ki je zelo koristen pri neprekinjenem izvajanju aplikacije v produkcijskem okolju. Supervisor je sistem za nadzor procesov, ki vam omogoča spremljanje in nadzor številnih procesov v operacijskih sistemih Linux. Ko je Supervisor konfiguriran, bo samodejno zagnal aplikacijo ob zagonu in ob napakah. Bench lahko samodejno konfigurira Supervisor za aplikacijo ERPNext.

Namesti nadzornik.

sudo apt -y install supervisor

Zaženite Supervisor in omogočite, da se samodejno zažene ob zagonu.

sudo systemctl start supervisor
sudo systemctl enable supervisor

Nastavitvena klop za proizvodno uporabo.

 sudo bench setup production bench

Zgornji ukaz vas lahko pozove, preden zamenjate obstoječo privzeto konfiguracijsko datoteko Supervisor z novo. Izberite ynadaljevanje. Bench doda številne procese v konfiguracijsko datoteko Supervisor. Zgornji ukaz vas bo tudi vprašal, ali želite trenutno konfiguracijo Nginxa zamenjati z novo. Vnesite yza nadaljevanje. Ko Bench konča z namestitvijo konfiguracije, omogočite drugim uporabnikom, da izvajajo datoteke v vašem domačem imeniku uporabnika Bench.

chmod o+x /opt/bench/

Zdaj lahko dostopate do spletnega mesta na http://erp.example.com.

Stanje procesov lahko preverite tako, da zaženete.

sudo supervisorctl status all

Videti bi morali naslednji izhod.

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

Če želite ustaviti vse procese ERPNext.

sudo supervisorctl stop all

Za zagon vseh procesov ERPNext.

sudo supervisorctl start all

Nastavitev SSL z uporabo Let's Encrypt

Let's Encrypt uporabnikom zagotavlja brezplačna potrdila SSL. SSL je mogoče namestiti ročno ali samodejno prek Bench-a. Bench lahko samodejno namesti odjemalca Let's Encrypt in pridobi certifikate. Poleg tega samodejno posodobi konfiguracijo Nginx za uporabo potrdil.

Ime domene, ki ga uporabljate za pridobitev potrdil od Let's Encrypt CA, mora biti usmerjeno proti strežniku. Odjemalec pred izdajo potrdil preveri pooblastilo domene .

Omogočite večnajem DNS za aplikacijo ERPNext.

bench config dns_multitenant on

Zaženite Bench, da nastavite Let's Encrypt na svojem spletnem mestu.

sudo bench setup lets-encrypt erp.example.com

Med izvajanjem skripta vas bo odjemalec Let's Encrypt pozval, da začasno ustavite spletni strežnik Nginx. Samodejno bo namestil zahtevane pakete in odjemalca Let's Encrypt. Stranka vas bo pozvala, da vnesete vaš e-poštni naslov. Prav tako boste morali sprejeti določila in pogoje. Ko so potrdila ustvarjena, bo Bench ustvaril tudi novo konfiguracijo za Nginx, ki uporablja potrdila SSL. Pred zamenjavo obstoječe konfiguracije boste pozvani. Bench ustvari tudi crontabvnos za samodejno podaljšanje certifikatov vsak mesec.

Končno omogočite razporejevalniku, da samodejno zažene načrtovana opravila.

bench enable-scheduler

Ta izhod bi morali videti.

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

Zaključek

Ko je postopek končan, lahko dostopate do svoje aplikacije na https://erp.example.com. Prijavite se z uporabniškim imenom Administratorin geslom, ki ste ju nastavili med namestitvijo. Odpeljali vas bodo do mize, kjer boste morali zagotoviti informacije za nastavitev ERPNext ERP glede na vaše podjetje. Zdaj lahko z aplikacijo upravljate svoje podjetje.

Čestitamo, na vašem strežniku Ubuntu 17.04 imate nameščeno popolnoma delujočo aplikacijo ERPNext.


Ustvarjanje bloga Jekyll v Ubuntu 16.04

Ustvarjanje bloga Jekyll v Ubuntu 16.04

Uporaba drugega sistema? Jekyll je odlična alternativa WordPressu za bloganje ali deljenje vsebine. Ne zahteva nobenih baz podatkov in je zelo enostaven i

Kako namestiti Squid Proxy na CentOS

Kako namestiti Squid Proxy na CentOS

Squid je priljubljen brezplačen program za Linux, ki vam omogoča ustvarjanje spletnega proxyja za posredovanje. V tem priročniku boste videli, kako namestiti Squid na CentOS, da vas obrne

Kako namestiti Memcached na Ubuntu 14.04

Kako namestiti Memcached na Ubuntu 14.04

Memcached je visoko zmogljiv sistem baz podatkov, ki lahko pomaga nadgraditi vašo aplikacijo. Je zelo hiter, saj ne piše na disk, ampak namesto tega t

Namestitev InfluxDB na Ubuntu 14

Namestitev InfluxDB na Ubuntu 14

Uvod InfluxDB je odprtokodna, porazdeljena baza podatkov časovnih vrst brez zunanjih odvisnosti. Da, prebrali ste odstavek brez zunanjih odvisnosti

Namestitev Fail2ban Ubuntu x64

Namestitev Fail2ban Ubuntu x64

Fail2ban je program, ki spremlja prijavo na vaš strežnik in blokira neželene naslove IP. Privzeto bo blokiral naslove IP za 10 minut

Nastavite Red5 Media Server na Ubuntu 16.04

Nastavite Red5 Media Server na Ubuntu 16.04

Uporaba drugega sistema? Red5 je odprtokodni medijski strežnik, implementiran v Javi, ki vam omogoča zagon večuporabniških aplikacij Flash, kot je prenos v živo

Kako namestiti Vanilla Forum na Ubuntu 16.04

Kako namestiti Vanilla Forum na Ubuntu 16.04

Uporaba drugega sistema? Vanilla forum je odprtokodna forumska aplikacija, napisana v PHP. Je popolnoma prilagodljiv, enostaven za uporabo in podpira zunanjost

Kako namestiti Kanboard na Ubuntu 18.04 LTS

Kako namestiti Kanboard na Ubuntu 18.04 LTS

Uporaba drugega sistema? Uvod Kanboard je brezplačen in odprtokodni program za vodenje projektov, ki je zasnovan za olajšanje in vizualizacijo

Kako namestiti Kanboard na Debian 9

Kako namestiti Kanboard na Debian 9

Uporaba drugega sistema? Uvod Kanboard je brezplačen in odprtokodni program za vodenje projektov, ki je zasnovan za olajšanje in vizualizacijo

Kako namestiti Giteo na Debian 9

Kako namestiti Giteo na Debian 9

Uporaba drugega sistema? Gitea je alternativni odprtokodni sistem za nadzor različic, ki ga poganja Git. Gitea je napisana v Golangu in je

Kako namestiti Wiki.js na FreeBSD 11

Kako namestiti Wiki.js na FreeBSD 11

Uporaba drugega sistema? Wiki.js je brezplačna odprtokodna sodobna wiki aplikacija, zgrajena na Node.js, MongoDB, Git in Markdown. Izvorna koda Wiki.js je javna

Kako namestiti Giteo na Ubuntu 18.04

Kako namestiti Giteo na Ubuntu 18.04

Uporaba drugega sistema? Gitea je alternativni odprtokodni sistem za nadzor različic, ki ga poganja git. Gitea je napisana v Golangu in je

Kako namestiti Thelia 2.3 na Debian 9

Kako namestiti Thelia 2.3 na Debian 9

Uporaba drugega sistema? Thelia je odprtokodno orodje za ustvarjanje spletnih strani e-poslovanja in upravljanje spletnih vsebin, napisanih v PHP. Izvorna koda Thelia i

Kako namestiti Microweber na CentOS 7

Kako namestiti Microweber na CentOS 7

Uporaba drugega sistema? Microweber je odprtokodna povleci in spusti CMS in spletna trgovina. Izvorna koda Microweber gostuje na GitHubu. Ta vodnik vam bo pokazal

Namestitev Microweberja na Ubuntu 16.04

Namestitev Microweberja na Ubuntu 16.04

Uporaba drugega sistema? Microweber je odprtokodna povleci in spusti CMS in spletna trgovina. Izvorna koda Microweber gostuje na GitHubu. Ta vodnik vam bo pokazal

Kako namestiti MODX Revolution na Ubuntu 16.04 LAMP VPS

Kako namestiti MODX Revolution na Ubuntu 16.04 LAMP VPS

Uporaba drugega sistema? MODX Revolution je hiter, prilagodljiv, razširljiv, brezplačen in odprtokoden sistem za upravljanje vsebin (CMS) za podjetja, napisan i

Kako namestiti Mattermost 4.1 na CentOS 7

Kako namestiti Mattermost 4.1 na CentOS 7

Uporaba drugega sistema? Mattermost je odprtokodna alternativa sporočilni storitvi Slack SAAS, ki jo gosti sami. Z drugimi besedami, z Mattermostom si pribl

Kako namestiti dotCMS na Ubuntu 16.04

Kako namestiti dotCMS na Ubuntu 16.04

Uporaba drugega sistema? DotCMS je odprtokodni sistem za upravljanje vsebin za podjetja, napisan v Javi. Vsebuje skoraj vse zahtevane funkcije t

Kako namestiti Pagekit 1.0 CMS na FreeBSD 11 FAMP VPS

Kako namestiti Pagekit 1.0 CMS na FreeBSD 11 FAMP VPS

Uporaba drugega sistema? Pagekit 1.0 CMS je lep, modularen, razširljiv in lahek, brezplačen in odprtokoden sistem za upravljanje vsebine (CMS) z

Kako namestiti BigTree CMS na Fedora 26 LAMP VPS

Kako namestiti BigTree CMS na Fedora 26 LAMP VPS

Uporaba drugega sistema? BigTree CMS 4.2 je hiter in lahek, brezplačen in odprtokoden sistem za upravljanje vsebin podjetja (CMS) z obsežnim

Vzpon strojev: aplikacije AI v resničnem svetu

Vzpon strojev: aplikacije AI v resničnem svetu

Umetna inteligenca ni v prihodnosti, tukaj je prav v sedanjosti. V tem blogu preberite, kako so aplikacije umetne inteligence vplivale na različne sektorje.

DDOS napadi: kratek pregled

DDOS napadi: kratek pregled

Ste tudi vi žrtev DDOS napadov in ste zmedeni glede načinov preprečevanja? Preberite ta članek, če želite rešiti svoja vprašanja.

Ste se kdaj vprašali, kako hekerji zaslužijo denar?

Ste se kdaj vprašali, kako hekerji zaslužijo denar?

Morda ste že slišali, da hekerji zaslužijo veliko denarja, a ste se kdaj vprašali, kako zaslužijo takšen denar? razpravljajmo.

Revolucionarni Googlovi izumi, ki vam bodo olajšali življenje.

Revolucionarni Googlovi izumi, ki vam bodo olajšali življenje.

Ali želite videti revolucionarne izume Googla in kako so ti izumi danes spremenili življenje vsakega človeka? Nato preberite v blogu in si oglejte Googlove izume.

Friday Essential: Kaj se je zgodilo z avtomobili, ki jih poganja umetna inteligenca?

Friday Essential: Kaj se je zgodilo z avtomobili, ki jih poganja umetna inteligenca?

Koncept samovozečih avtomobilov, ki zapeljejo na ceste s pomočjo umetne inteligence, so sanje, ki jih imamo že nekaj časa. A kljub številnim obljubam jih ni nikjer. Preberite ta blog, če želite izvedeti več…

Tehnološka singularnost: oddaljena prihodnost človeške civilizacije?

Tehnološka singularnost: oddaljena prihodnost človeške civilizacije?

Ker se znanost hitro razvija in prevzame veliko naših prizadevanj, se povečuje tudi tveganje, da se podvržemo nerazložljivi singularnosti. Preberite, kaj bi za nas lahko pomenila singularnost.

Razvoj shranjevanja podatkov – Infografika

Razvoj shranjevanja podatkov – Infografika

Metode shranjevanja podatkov so se lahko razvijale od rojstva podatkov. Ta blog pokriva razvoj shranjevanja podatkov na podlagi infografike.

Funkcionalnosti slojev referenčne arhitekture velikih podatkov

Funkcionalnosti slojev referenčne arhitekture velikih podatkov

Preberite blog, če želite na najpreprostejši način spoznati različne plasti v arhitekturi velikih podatkov in njihove funkcionalnosti.

6 neverjetnih prednosti pametnih naprav za dom v našem življenju

6 neverjetnih prednosti pametnih naprav za dom v našem življenju

V tem digitalno vodenem svetu so pametne naprave za dom postale ključni del življenja. Tukaj je nekaj neverjetnih prednosti pametnih naprav za dom o tem, kako naredijo naše življenje vredno življenja in poenostavijo.

Posodobitev dodatka macOS Catalina 10.15.4 povzroča več težav kot jih rešuje

Posodobitev dodatka macOS Catalina 10.15.4 povzroča več težav kot jih rešuje

Pred kratkim je Apple izdal macOS Catalina 10.15.4 dopolnilno posodobitev za odpravo težav, vendar se zdi, da posodobitev povzroča več težav, ki vodijo do opečenja računalnikov Mac. Preberite ta članek, če želite izvedeti več