Jak nainstalovat ERPNext Open Source ERP na CentOS 7

ERP nebo Enterprise Resource Planning je sada podnikových aplikací, která se používá ke správě hlavních obchodních procesů. ERPNext je bezplatná a open source aplikace ERP s vlastním hostitelem napsaná v Pythonu. Používá Node.js pro frontend a MariaDB k ukládání svých dat. ERPNext poskytuje snadno použitelné webové rozhraní, které umožňuje podnikům spravovat každodenní úkoly. Obsahuje moduly pro účetnictví, CRM, HRM, výrobu, POS, projektové řízení, nákup, řízení prodeje, skladové hospodářství a další. ERPNext lze použít ke správě různých odvětví, jako jsou poskytovatelé služeb, výroba, maloobchod a školy.

V tomto tutoriálu nainstalujeme ERPNext na CentOS 7.

Předpoklady

  • Instance serveru Vultr CentOS 7.
  • Uživatel sudo .

V tomto tutoriálu použijeme erp.example.comjako název domény odkazující na server. Ujistěte se prosím, že jste nahradili všechny výskyty erp.example.comvašeho skutečným názvem domény.

Aktualizujte svůj základní systém pomocí průvodce " Jak aktualizovat CentOS 7 ". Jakmile bude váš systém aktualizován, pokračujte v instalaci Pythonu.

Nainstalujte vývojové nástroje

ERPNext potřebuje ke svému fungování Python verze 2.7. Python 2.7 je standardně nainstalován ve všech instancích serveru CentOS. Můžete zkontrolovat, zda je nainstalovaná verze Pythonu spuštěním:

python -V

Měli byste dostat podobný výstup.

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

Přestože nainstalovaná verze Pythonu není nejnovější, funguje bez problémů. Změna výchozí verze Pythonu může narušit YUM.

Nainstalujte balíčky ve Development toolsskupině, které jsou nutné pro kompilaci instalačních souborů.

sudo yum groupinstall -y "Development tools"

Nainstalujte několik dalších závislostí:

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

Nainstalujte pipnástroj Python . Pip je správce závislostí pro balíčky Pythonu.

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

Výše uvedený příkaz nainstaluje Pip do vašeho systému. Chcete-li zajistit, že máte nejnovější verzi pipa setuptools, spusťte:

sudo pip install --upgrade pip setuptools

Nainstalujte Ansible pomocí Pip. Ansible automatizuje poskytování softwaru, správu konfigurace a nasazení aplikací.

sudo pip install ansible

Nainstalujte server MariaDB

MariaDB je fork databázového serveru MySQL. Nainstalujte MariaDB spuštěním.

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

Pro vytváření databází ERPNext je vyžadován úložný modul Barracuda, proto budete muset nakonfigurovat MariaDB, aby používala úložný modul Barracuda. Upravte výchozí konfigurační soubor MariaDB my.cnf.

sudo nano /etc/my.cnf

Přidejte následující řádky pod symbolic-links=0řádek.

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

Spusťte MariaDB a povolte, aby se automaticky spouštěla ​​při spouštění.

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

Před konfigurací databáze budete muset zabezpečit MariaDB. Můžete to zabezpečit spuštěním mysql_secure_installationskriptu:

sudo mysql_secure_installation

Budete požádáni o zadání aktuálního root hesla MariaDB. Ve výchozím nastavení není na MariaDB nastaveno žádn�� heslo root. Pokračujte stisknutím klávesy "Enter". Nastavte silné heslo pro uživatele root vašeho serveru MariaDB a odpovězte „Y“ na všechny další otázky, které budou položeny. Položené otázky jsou samozřejmé.

Nainstalujte Nginx, Nodejs a Redis

Protože je úložiště EPEL ve výchozím nastavení nainstalováno ve všech instancích Vultr CentOS 7, můžete přímo nainstalovat Redis a Nginx. Chcete-li však nainstalovat nejnovější verzi Node.js, budete muset do svého systému přidat úložiště Nodesource.

Přidejte úložiště Nodesource pro Node.js 8.x.

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

Nainstalujte Nginx, Nodejs a Redis:

sudo yum -y install nginx nodejs redis

Spusťte Nginx a povolte jeho spuštění při spouštění spuštěním:

sudo systemctl start nginx
sudo systemctl enable nginx

Spusťte Redis a povolte jeho spuštění při spouštění spuštěním:

sudo systemctl start redis
sudo systemctl enable redis

Nainstalujte PDF Converter

wkhtmltopdfProgram je nástroj pro příkazovou řádku, který převádí HTML do PDF s použitím renderovací engine QT Webkit. Nainstalujte požadované závislosti:

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

Stáhněte si nejnovější verzi wkhtmltopdf.

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

Rozbalte archiv spuštěním:

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

Výše uvedený příkaz rozbalí archiv do /opt/wkhtmltox. Vytvořte softlink tak, aby wkhtmltopdfa wkhtmltoimagemohou být provedeny po celém světě jako příkaz.

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

Nyní můžete spustit wkhtmltopdf -Vpříkaz a zkontrolovat, zda funguje, uvidíte:

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

V tuto chvíli máme nainstalované všechny požadované závislosti. Nyní můžete přistoupit k instalaci Bench.

Install Bench

Benchje nástroj příkazového řádku poskytovaný Frappe pro instalaci a správu aplikace ERPNext v systému založeném na Unixu pro vývojové i produkční účely. Bench může také vytvářet a spravovat konfiguraci Nginx a správce.

Vytvořte nového uživatele pro spouštění procesů Bench v izolovaném prostředí.

sudo adduser bench -d /opt/bench

Změňte heslo uživatele.

sudo passwd bench

Poskytněte uživateli sudooprávnění bench.

sudo usermod -aG wheel bench

Přihlaste se jako nově vytvořený benchuživatel:

sudo su - bench

Klonujte úložiště Bench v /opt/bench:

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

Nainstalujte Bench pomocí pip.

sudo pip install -e bench-repo

Jakmile je Bench nainstalován, pokračujte v instalaci ERPNext pomocí Bench.

Nainstalujte ERPNext pomocí Bench

Inicializujte adresář bench s nainstalovaným rámcem frappe. Aby bylo vše uklizeno, budeme pracovat pod /opt/benchadresářem. Bench také nastaví pravidelné zálohování a automatické aktualizace jednou denně.

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

Vytvořit nový web Frappe:

bench new-site erp.example.com

Výše uvedený příkaz vás vyzve k zadání hesla root MySQL. Zadejte heslo, které jste dříve nastavili pro uživatele root MySQL. Také vás požádá o nastavení nového hesla pro účet správce. Toto heslo budete později potřebovat k přihlášení do administrátorského panelu.

Stáhněte si instalační soubory ERPNext ze vzdáleného úložiště git pomocí Bench.

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

Nainstalujte ERPNext na svůj nově vytvořený web:

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

ERPNext je nainstalován na vašem serveru. Aplikaci můžete spustit okamžitě a zkontrolovat, zda je aplikace spuštěna úspěšně:

bench start

Měli byste však zastavit provádění a pokračovat v nastavení aplikace pro produkční použití.

Správce nastavení a Nginx

Ve výchozím nastavení aplikace ERPNext naslouchá na portu 8000, nikoli na standardním portu HTTP 80. Rovněž se nedoporučuje spouštět vestavěný webový server pro produkční použití, protože tím server vystavíme světu. Proto byste měli používat produkční webový server jako reverzní proxy, jako je Apache nebo Nginx. V tomto tutoriálu použijeme Nginx jako reverzní proxy, protože může být automaticky konfigurován pomocí Bench. Bench dokáže automaticky vygenerovat a nainstalovat konfiguraci podle nastavení ERPNext.

Přestože můžeme aplikaci spustit pomocí výše uvedeného příkazu, provádění ERPNext se zastaví, jakmile zavřete terminál. K překonání tohoto problému doporučuji použít Supervisor, který je velmi užitečný při nepřetržitém běhu aplikace v produkčním prostředí. Supervisor je systém řízení procesů, který umožňuje sledovat a řídit řadu procesů v operačních systémech Linux. Jakmile je správce nakonfigurován, automaticky spustí aplikaci při spouštění i při selhání. Bench může automaticky konfigurovat správce pro aplikaci ERPNext.

Správce instalace:

sudo yum -y install supervisor

Spusťte správce a povolte jeho automatické spouštění při spouštění:

sudo systemctl start supervisord
sudo systemctl enable supervisord

Nastavení lavice pro produkční použití:

 sudo bench setup production bench

Výše uvedený příkaz vás může vyzvat před nahrazením stávajícího výchozího konfiguračního souboru správce novým. Zvolte ypokračování. Bench přidá řadu procesů do konfiguračního souboru správce. Výše uvedený příkaz se vás také zeptá, zda si přejete nahradit aktuální konfiguraci Nginx novou. Vstoupit ypokračovat. Jakmile Bench dokončí instalaci konfigurace, poskytněte ostatním uživatelům, aby spustili soubory ve vašem domovském adresáři uživatele Bench.

chmod o+x /opt/bench/

Pokud na svém serveru používáte bránu firewall, budete ji muset nakonfigurovat tak, aby nastavila výjimku pro službu HTTP. Povolit reverznímu proxy serveru Nginx připojení zvenčí sítě.

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

Nyní máte přístup k webu na http://erp.example.com.

Stav procesů můžete zkontrolovat spuštěním:

sudo supervisorctl status all

Měli byste vidět následující výstup:

[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

Chcete-li zastavit všechny procesy ERPNext, použijte:

sudo supervisorctl stop all

Chcete-li spustit všechny procesy ERPNext, použijte:

sudo supervisorctl start all

Nastavení SSL pomocí Let's Encrypt

Let's Encrypt poskytuje uživatelům bezplatné certifikáty SSL. SSL lze nainstalovat ručně nebo automaticky přes Bench. Bench může automaticky nainstalovat klienta Let's Encrypt a získat certifikáty. Navíc automaticky aktualizuje konfiguraci Nginx, aby používala certifikáty.

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.

Povolte multi-tenancy DNS pro aplikaci ERPNext.

bench config dns_multitenant on

Spusťte Bench a nastavte Let's Encrypt na vašem webu:

sudo bench setup lets-encrypt erp.example.com

Během provádění skriptu vás klient Let's Encrypt požádá o dočasné zastavení webového serveru Nginx. Automaticky nainstaluje požadované balíčky a klienta Let's Encrypt. Klient vás vyzve k zadání vaší e-mailové adresy. Budete také muset přijmout smluvní podmínky. Jakmile budou certifikáty vygenerovány, Bench také vygeneruje novou konfiguraci pro Nginx, která používá certifikáty SSL. Před výměnou stávající konfigurace budete dotázáni. Bench také vytvoří crontabzáznam pro automatickou obnovu certifikátů každý měsíc.

Nakonec povolte plánovači, aby automaticky spouštěl naplánované úlohy:

bench enable-scheduler

Měl bys vidět:

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

Zabalit se

Po dokončení procesu můžete přistupovat ke své aplikaci na adrese https://erp.example.com. Přihlaste se pomocí uživatelského jména Administratora hesla, které jste nastavili při instalaci. Dostanete se ke stolu, kde budete muset poskytnout informace pro nastavení ERPNext ERP podle vaší společnosti. Nyní můžete aplikaci používat ke správě vaší společnosti.

Gratulujeme, na vašem serveru CentOS 7 máte nainstalovanou plně funkční aplikaci ERPNext.


Nainstalujte Plesk na CentOS 7

Nainstalujte Plesk na CentOS 7

Používáte jiný systém? Plesk je proprietární ovládací panel webového hostitele, který umožňuje uživatelům spravovat jejich osobní a/nebo klientské webové stránky, databáze

Jak nainstalovat Squid Proxy na CentOS

Jak nainstalovat Squid Proxy na CentOS

Squid je populární bezplatný linuxový program, který vám umožňuje vytvořit webový proxy pro předávání. V této příručce uvidíte, jak nainstalovat Squid na CentOS, aby vás otočil

Jak nainstalovat Lighttpd (LLMP Stack) na CentOS 6

Jak nainstalovat Lighttpd (LLMP Stack) na CentOS 6

Úvod Lighttpd je fork Apache, jehož cílem je být mnohem méně náročný na zdroje. Je lehký, odtud jeho název, a jeho použití je docela jednoduché. Installin

Konfigurace statické sítě a IPv6 na CentOS 7

Konfigurace statické sítě a IPv6 na CentOS 7

VULTR nedávno provedl změny na jejich konci a vše by nyní mělo fungovat dobře po vybalení s povoleným NetworkManagerem. Pokud si přejete deaktivovat

Úprava Icinga2 pro použití modelu Master/Client na CentOS 6 nebo CentOS 7

Úprava Icinga2 pro použití modelu Master/Client na CentOS 6 nebo CentOS 7

Icinga2 je výkonný monitorovací systém a při použití v modelu master-client může nahradit potřebu monitorovacích kontrol založených na NRPE. Hlavní klient

Jak nainstalovat Apache Cassandra 3.11.x na CentOS 7

Jak nainstalovat Apache Cassandra 3.11.x na CentOS 7

Používáte jiný systém? Apache Cassandra je bezplatný a otevřený systém pro správu databází NoSQL, který je navržen tak, aby poskytoval škálovatelnost, vysokou

Jak nainstalovat Microweber na CentOS 7

Jak nainstalovat Microweber na CentOS 7

Používáte jiný systém? Microweber je open source drag and drop CMS a online obchod. Zdrojový kód Microweber je hostován na GitHubu. Tento průvodce vám to ukáže

Jak nainstalovat Vanilla Forum na CentOS 7

Jak nainstalovat Vanilla Forum na CentOS 7

Používáte jiný systém? Vanilla forum je open source aplikace fóra napsaná v PHP. Je plně přizpůsobitelný, snadno použitelný a podporuje externí

Jak nainstalovat Mattermost 4.1 na CentOS 7

Jak nainstalovat Mattermost 4.1 na CentOS 7

Používáte jiný systém? Mattermost je open source alternativa k zasílání zpráv Slack SAAS s vlastním hostitelem. Jinými slovy, s Mattermostem můžete ca

Vytvoření sítě serverů Minecraft pomocí BungeeCord na Debian 8, Debian 9 nebo CentOS 7

Vytvoření sítě serverů Minecraft pomocí BungeeCord na Debian 8, Debian 9 nebo CentOS 7

Co budete potřebovat Vultr VPS s alespoň 1 GB RAM. Přístup SSH (s oprávněními root/administrátor). Krok 1: Instalace BungeeCord První věci

Umožňuje šifrovat na Plesku

Umožňuje šifrovat na Plesku

Ovládací panel Plesk se vyznačuje velmi pěknou integrací pro Lets Encrypt. Lets Encrypt je jedním z jediných poskytovatelů SSL, kteří rozdávají kompletní certifikáty

Umožňuje šifrovat na cPanel

Umožňuje šifrovat na cPanel

Lets Encrypt je certifikační autorita určená k bezplatnému poskytování certifikátů SSL. cPanel vytvořil úhlednou integraci, takže vy a váš klient

Jak nainstalovat Concrete5 na CentOS 7

Jak nainstalovat Concrete5 na CentOS 7

Používáte jiný systém? Concrete5 je open source CMS, který nabízí mnoho charakteristických a užitečných funkcí, které pomáhají editorům snadno vytvářet obsah

Jak nainstalovat kontrolní panel na CentOS 7

Jak nainstalovat kontrolní panel na CentOS 7

Používáte jiný systém? Review Board je bezplatný a open source nástroj pro kontrolu zdrojového kódu, dokumentace, obrázků a mnoha dalších. Je to webový software

Nastavte ověřování HTTP pomocí Nginx na CentOS 7

Nastavte ověřování HTTP pomocí Nginx na CentOS 7

V této příručce se dozvíte, jak nastavit HTTP ověřování pro webový server Nginx běžící na CentOS 7. Požadavky Chcete-li začít, budete potřebovat

Jak nainstalovat YOURLS na CentOS 7

Jak nainstalovat YOURLS na CentOS 7

YOURLS (Your Own URL Shortener) je open source aplikace pro zkracování adres URL a analýzu dat. V tomto článku se budeme zabývat procesem instalace

Jak nainstalovat a nakonfigurovat ArangoDB na CentOS 7

Jak nainstalovat a nakonfigurovat ArangoDB na CentOS 7

Používáte jiný systém? Úvod ArangoDB je open source databáze NoSQL s flexibilním datovým modelem pro dokumenty, grafy a páry klíč–hodnota. to je

Použití Etckeeper pro správu verzí /etc

Použití Etckeeper pro správu verzí /etc

Úvod Adresář /etc/ hraje kritickou roli ve způsobu fungování systému Linux. Důvodem je skutečnost, že téměř každá konfigurace systému

Proč byste měli používat SSHFS? Jak připojit vzdálený souborový systém s SSHFS na CentOS 6

Proč byste měli používat SSHFS? Jak připojit vzdálený souborový systém s SSHFS na CentOS 6

Mnoho systémových administrátorů spravuje velké množství serverů. Když je potřeba přistupovat k souborům přes různé servery, přihlaste se ke každému zvlášť ca

Nastavení serveru Half Life 2 na CentOS 6

Nastavení serveru Half Life 2 na CentOS 6

Tento návod pokryje proces instalace herního serveru Half Life 2 na systém CentOS 6. Krok 1: Instalace předpokladů Aby bylo možné nastavit ou

The Rise of Machines: Real World Applications of AI

The Rise of Machines: Real World Applications of AI

Umělá inteligence není v budoucnosti, je zde přímo v současnosti V tomto blogu si přečtěte, jak aplikace umělé inteligence ovlivnily různé sektory.

Útoky DDOS: Stručný přehled

Útoky DDOS: Stručný přehled

Jste také obětí DDOS útoků a nemáte jasno v metodách prevence? Chcete-li vyřešit své dotazy, přečtěte si tento článek.

Přemýšleli jste někdy, jak hackeři vydělávají peníze?

Přemýšleli jste někdy, jak hackeři vydělávají peníze?

Možná jste slyšeli, že hackeři vydělávají spoustu peněz, ale napadlo vás někdy, jak takové peníze vydělávají? Pojďme diskutovat.

Revoluční vynálezy od Googlu, které vám usnadní život.

Revoluční vynálezy od Googlu, které vám usnadní život.

Chcete vidět revoluční vynálezy Google a jak tyto vynálezy změnily život každého dnešního člověka? Pak si přečtěte na blogu a podívejte se na vynálezy od Googlu.

Friday Essential: Co se stalo s auty řízenými umělou inteligencí?

Friday Essential: Co se stalo s auty řízenými umělou inteligencí?

Koncept aut s vlastním pohonem, která vyrazí na silnice s pomocí umělé inteligence, je snem, který už nějakou dobu máme. Ale přes několik slibů nejsou nikde vidět. Přečtěte si tento blog a dozvíte se více…

Technologická singularita: vzdálená budoucnost lidské civilizace?

Technologická singularita: vzdálená budoucnost lidské civilizace?

Jak se věda vyvíjí rychlým tempem a přebírá mnoho našeho úsilí, stoupá také riziko, že se vystavíme nevysvětlitelné singularitě. Přečtěte si, co pro nás může znamenat singularita.

Evoluce ukládání dat – Infografika

Evoluce ukládání dat – Infografika

Způsoby ukládání dat se mohou vyvíjet od narození dat. Tento blog se zabývá vývojem ukládání dat na základě infografiky.

Funkcionality vrstev referenční architektury velkých dat

Funkcionality vrstev referenční architektury velkých dat

Přečtěte si blog, abyste co nejjednodušším způsobem poznali různé vrstvy v architektuře velkých dat a jejich funkce.

6 úžasných výhod toho, že máme v životě zařízení pro chytrou domácnost

6 úžasných výhod toho, že máme v životě zařízení pro chytrou domácnost

V tomto digitálním světě se chytrá domácí zařízení stala klíčovou součástí života. Zde je několik úžasných výhod chytrých domácích zařízení o tom, jak náš život stojí za to žít a zjednodušit jej.

Aktualizace doplňku macOS Catalina 10.15.4 způsobuje více problémů než řešení

Aktualizace doplňku macOS Catalina 10.15.4 způsobuje více problémů než řešení

Apple nedávno vydal doplňkovou aktualizaci macOS Catalina 10.15.4, která opravuje problémy, ale zdá se, že aktualizace způsobuje další problémy, které vedou k zablokování počítačů mac. Přečtěte si tento článek a dozvíte se více