Kako namestiti odprtokodni ERP ERPNext na CentOS 7

ERP ali Enterprise Resource Planning je zbirka aplikacij podjetja, ki se uporablja za upravljanje osnovnih poslovnih procesov. ERPNext je brezplačna in odprtokodna ERP aplikacija, 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.

V tej vadnici bomo namestili ERPNext na CentOS 7.

Predpogoji

  • Primerek strežnika Vultr CentOS 7.
  • Uporabnik sudo .

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

Posodobite svoj osnovni sistem z uporabo vodnika " Kako posodobiti CentOS 7 ". Ko je vaš sistem posodobljen, nadaljujte z namestitvijo Pythona.

Namestite razvojna orodja

ERPNext potrebuje za delovanje Python različico 2.7. Python 2.7 je privzeto nameščen v vseh primerkih strežnika CentOS. Če je nameščena različica Pythona, lahko preverite tako, da zaženete:

python -V

Morali bi dobiti podoben rezultat.

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

Čeprav nameščena različica Pythona ni najnovejša, deluje brez težav. Če spremenite privzeto različico Pythona, lahko pokvarite YUM.

Namestite pakete v Development toolsskupini, ki so potrebni za prevajanje namestitvenih datotek.

sudo yum groupinstall -y "Development tools"

Namestite še nekaj odvisnosti:

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

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

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

Zgornji ukaz bo namestil Pip v vaš sistem. Če želite zagotoviti, da imate najnovejšo različico pipin setuptools, zaženite:

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

MariaDB je fork strežnika baz podatkov MySQL. Namestite MariaDB tako, da zaženete.

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

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/my.cnf

Pod symbolic-links=0vrstico 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

[mysql]
default-character-set = utf8mb4

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

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

Pred konfiguracijo baze podatkov boste morali zavarovati MariaDB. Zaščitite ga lahko tako, da zaženete mysql_secure_installationskript:

sudo mysql_secure_installation

Zahtevali boste trenutno korensko geslo MariaDB. Privzeto v MariaDB ni nastavljenega korenskega gesla. Za nadaljevanje pritisnite tipko "Enter". Nastavite močno geslo za korenskega uporabnika vašega strežnika MariaDB in odgovorite z "Y" na vsa druga zastavljena vprašanja. Zastavljena vprašanja so samoumevna.

Namestite Nginx, Nodejs in Redis

Ker je repozitorij EPEL privzeto nameščen v vseh primerkih Vultr CentOS 7, lahko neposredno namestite Redis in Nginx. Toda če želite namestiti najnovejšo različico Node.js, boste morali v svoj sistem dodati skladišče Nodesource.

Dodajte repozitorij Nodesource za Node.js 8.x.

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

Namestite Nginx, Nodejs in Redis:

sudo yum -y install nginx nodejs redis

Zaženite Nginx in omogočite, da se zažene ob zagonu, tako da zaženete:

sudo systemctl start nginx
sudo systemctl enable nginx

Zaženite Redis in omogočite, da se zažene ob zagonu, tako da zaženete:

sudo systemctl start redis
sudo systemctl enable redis

Namestite PDF Converter

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

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

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 tako, da zaženete:

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 -Vukaz in preverite, ali deluje, videli boste:

[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 ustvari in upravlja Nginx in konfiguracijo nadzornika.

Ustvarite novega uporabnika za izvajanje Bench procesov v izoliranem okolju.

sudo adduser bench -d /opt/bench

Spremenite geslo uporabnika.

sudo passwd bench

Uporabniku zagotovite sudodovoljenja bench.

sudo usermod -aG wheel 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 v /opt/benchimeniku. 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

ERPNext je nameščen na vašem strežniku. Aplikacijo lahko zaženete takoj, da preverite, ali se je aplikacija uspešno zagnala:

bench start

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

Nadzornik namestitve in Nginx

Aplikacija ERPNext privzeto posluša vrata 8000, ne standardna vrata HTTP 80. Prav tako ni priporočljivo izvajati vgrajenega spletnega strežnika za produkcijsko uporabo, saj bomo strežnik izpostavili svetu. Zato bi morali uporabiti produkcijski spletni strežnik kot povratni proxy, kot sta Apache ali Nginx. V tej vadnici bomo uporabili Nginx 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 zaženemo aplikacijo z zgornjim ukazom, se bo izvajanje ERPNext ustavilo takoj, ko zaprete terminal. Za premagovanje te težave priporočam uporabo Supervisorja, 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 yum -y install supervisor

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

sudo systemctl start supervisord
sudo systemctl enable supervisord

Nastavitvena miza 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/

Če na strežniku uporabljate požarni zid, boste morali požarni zid konfigurirati tako, da nastavi izjemo za storitev HTTP. Dovoli povratni proxy Nginx, da se poveže izven omrežja.

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

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 ~]$ 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

Če želite ustaviti vse procese ERPNext, uporabite:

sudo supervisorctl stop all

Za zagon vseh procesov ERPNext uporabite:

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.

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.

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 bo zahtevala 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

Moral bi videti:

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

Zavijanje

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 CentOS 7 imate nameščeno popolnoma delujočo aplikacijo ERPNext.


Namestite Plesk na CentOS 7

Namestite Plesk na CentOS 7

Uporaba drugega sistema? Plesk je lastniška nadzorna plošča spletnega gostitelja, ki uporabnikom omogoča upravljanje svojih osebnih in/ali strank spletnih mest, baz podatkov

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 Lighttpd (LLMP Stack) na CentOS 6

Kako namestiti Lighttpd (LLMP Stack) na CentOS 6

Uvod Lighttpd je razdelek Apache, katerega namen je biti veliko manj intenziven vir. Je lahek, od tod tudi njegovo ime, in je precej preprost za uporabo. Namestite

Konfiguriranje statičnega omrežja in IPv6 na CentOS 7

Konfiguriranje statičnega omrežja in IPv6 na CentOS 7

VULTR je pred kratkim naredil spremembe na svoji strani in zdaj bi moralo vse delovati v redu iz škatle z omogočenim NetworkManagerjem. Če želite onemogočiti

Spreminjanje Icinga2 za uporabo modela Master/Client na CentOS 6 ali CentOS 7

Spreminjanje Icinga2 za uporabo modela Master/Client na CentOS 6 ali CentOS 7

Icinga2 je zmogljiv sistem za spremljanje in če se uporablja v modelu glavni-odjemalec, lahko nadomesti potrebo po nadzornih pregledih, ki temeljijo na NRPE. Glavni naročnik

Kako namestiti Apache Cassandra 3.11.x na CentOS 7

Kako namestiti Apache Cassandra 3.11.x na CentOS 7

Uporaba drugega sistema? Apache Cassandra je brezplačen in odprtokodni sistem za upravljanje baz podatkov NoSQL, ki je zasnovan tako, da zagotavlja razširljivost, visoko

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

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

Ustvarjanje omrežja strežnikov Minecraft z BungeeCord na Debian 8, Debian 9 ali CentOS 7

Ustvarjanje omrežja strežnikov Minecraft z BungeeCord na Debian 8, Debian 9 ali CentOS 7

Kaj potrebujete Vultr VPS z vsaj 1 GB RAM-a. SSH dostop (z root/administrativnimi pravicami). 1. korak: Namestitev BungeeCord Najprej najprej

Omogočamo šifriranje na Plesku

Omogočamo šifriranje na Plesku

Nadzorna plošča Plesk ima zelo lepo integracijo za Lets Encrypt. Lets Encrypt je eden edinih ponudnikov SSL, ki izdaja potrdila v celoti

Namestite MariaDB 10 na CentOS 6

Namestite MariaDB 10 na CentOS 6

V času pisanja je MariaDB 10.1 razvojna različica MariaDB. Temelji na MariaDB 5.5 in vključuje funkcije, prenesene nazaj iz MySQL 5.6. Ther

Omogoča šifriranje na cPanelu

Omogoča šifriranje na cPanelu

Lets Encrypt je certifikacijski organ, ki je namenjen brezplačnemu zagotavljanju certifikatov SSL. cPanel je zgradil lepo integracijo za vas in vašo stranko

Kako namestiti Concrete5 na CentOS 7

Kako namestiti Concrete5 na CentOS 7

Uporaba drugega sistema? Concrete5 je odprtokodni CMS, ki ponuja številne značilne in uporabne funkcije za pomoč urednikom pri preprosti izdelavi vsebine.

Kako namestiti pregledno ploščo na CentOS 7

Kako namestiti pregledno ploščo na CentOS 7

Uporaba drugega sistema? Review Board je brezplačno in odprtokodno orodje za pregledovanje izvorne kode, dokumentacije, slik in še veliko več. Gre za spletno programsko opremo

Nastavite preverjanje pristnosti HTTP z Nginxom na CentOS 7

Nastavite preverjanje pristnosti HTTP z Nginxom na CentOS 7

V tem priročniku se boste naučili, kako nastaviti preverjanje pristnosti HTTP za spletni strežnik Nginx, ki deluje na CentOS 7. Zahteve Za začetek boste potrebovali

Kako namestiti YOURLS na CentOS 7

Kako namestiti YOURLS na CentOS 7

YOURLS (Your Own URL Shortener) je odprtokodna aplikacija za krajšanje URL-jev in analitiko podatkov. V tem članku bomo obravnavali postopek namestitve

Kako namestiti in konfigurirati ArangoDB na CentOS 7

Kako namestiti in konfigurirati ArangoDB na CentOS 7

Uporaba drugega sistema? Uvod ArangoDB je odprtokodna baza podatkov NoSQL s prilagodljivim podatkovnim modelom za dokumente, grafe in ključe-vrednosti. je

Uporaba Etckeeperja za nadzor različic /etc

Uporaba Etckeeperja za nadzor različic /etc

Uvod Imenik /etc/ igra ključno vlogo pri delovanju sistema Linux. Razlog za to je skoraj vsaka sistemska konfiguracija

Zakaj bi morali uporabljati SSHFS? Kako namestiti oddaljeni datotečni sistem s SSHFS na CentOS 6

Zakaj bi morali uporabljati SSHFS? Kako namestiti oddaljeni datotečni sistem s SSHFS na CentOS 6

Številni sistemski skrbniki upravljajo velike količine strežnikov. Ko je treba do datotek dostopati prek različnih strežnikov, se prijavite v vsakega posebej ca

Nastavitev strežnika Half Life 2 na CentOS 6

Nastavitev strežnika Half Life 2 na CentOS 6

Ta vadnica bo obravnavala postopek namestitve igralnega strežnika Half Life 2 na sistem CentOS 6. 1. korak: Namestitev predpogojev Za nastavitev ou

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č