Ako nainštalovať ERPNext Open Source ERP na CentOS 7

ERP alebo Enterprise Resource Planning je balík podnikových aplikácií, ktorý sa používa na riadenie kľúčových obchodných procesov. ERPNext je bezplatná a open source samohostiteľná ERP aplikácia napísaná v Pythone. Používa Node.js pre frontend a MariaDB na ukladanie svojich údajov. ERPNext poskytuje ľahko použiteľné webové rozhranie, ktoré umožňuje podnikom spravovať každodenné úlohy. Obsahuje moduly pre účtovníctvo, CRM, HRM, výrobu, POS, projektový manažment, nákup, riadenie predaja, skladové hospodárstvo a ďalšie. ERPNext možno použiť na riadenie rôznych odvetví, ako sú poskytovatelia služieb, výroba, maloobchod a školy.

V tomto návode nainštalujeme ERPNext na CentOS 7.

Predpoklady

Pre tento tutoriál použijeme erp.example.comako názov domény smerujúci na server. Uistite sa, že ste všetky výskyty adresy nahradili erp.example.comskutočným názvom domény.

Aktualizujte svoj základný systém pomocou príručky „ Ako aktualizovať CentOS 7 “. Po aktualizácii systému pokračujte v inštalácii Pythonu.

Nainštalujte vývojové nástroje

ERPNext potrebuje na fungovanie Python verzie 2.7. Python 2.7 je štandardne nainštalovaný vo všetkých inštanciách servera CentOS. Môžete skontrolovať, či je nainštalovaná verzia Pythonu spustením:

python -V

Mali by ste dostať podobný výstup.

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

Hoci nainštalovaná verzia Pythonu nie je najnovšia, funguje bez problémov. Zmena predvolenej verzie Pythonu môže prerušiť YUM.

Nainštalujte balíky v Development toolsskupine, ktoré sú potrebné na kompiláciu inštalačných súborov.

sudo yum groupinstall -y "Development tools"

Nainštalujte niekoľko ďalších závislostí:

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

Nainštalujte pipnástroj Python . Pip je správca závislostí pre balíky Python.

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

Vyššie uvedený príkaz nainštaluje Pip do vášho systému. Aby ste sa uistili, že máte najnovšiu verziu pipa setuptools, spustite:

sudo pip install --upgrade pip setuptools

Nainštalujte Ansible pomocou Pip. Ansible automatizuje poskytovanie softvéru, správu konfigurácie a nasadzovanie aplikácií.

sudo pip install ansible

Nainštalujte server MariaDB

MariaDB je fork databázového servera MySQL. Nainštalujte MariaDB spustením.

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

Na vytváranie databáz ERPNext je potrebný ukladací mechanizmus Barracuda, preto budete musieť nakonfigurovať MariaDB, aby používal ukladací mechanizmus Barracuda. Upravte predvolený konfiguračný súbor MariaDB my.cnf.

sudo nano /etc/my.cnf

Pridajte nasledujúce riadky pod symbolic-links=0riadok.

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

Spustite MariaDB a povoľte jej automatické spustenie pri štarte.

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

Pred konfiguráciou databázy budete musieť zabezpečiť MariaDB. Môžete to zabezpečiť spustením mysql_secure_installationskriptu:

sudo mysql_secure_installation

Budete vyzvaní na zadanie aktuálneho root hesla MariaDB. V predvolenom nastavení nie je na MariaDB nastavené žiadne root heslo. Pokračujte stlačením klávesu "Enter". Nastavte silné heslo pre užívateľa root vášho servera MariaDB a odpovedzte „Y“ na všetky ďalšie otázky, ktoré sa vám položia. Položené otázky sú samovysvetľujúce.

Nainštalujte Nginx, Nodejs a Redis

Keďže úložisko EPEL je predvolene nainštalované vo všetkých inštanciách Vultr CentOS 7, môžete priamo nainštalovať Redis a Nginx. Ak však chcete nainštalovať najnovšiu verziu Node.js, budete musieť do svojho systému pridať úložisko Nodesource.

Pridajte úložisko Nodesource pre Node.js 8.x.

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

Nainštalujte Nginx, Nodejs a Redis:

sudo yum -y install nginx nodejs redis

Spustite Nginx a povoľte jeho spustenie pri štarte spustením:

sudo systemctl start nginx
sudo systemctl enable nginx

Spustite Redis a povoľte jej spustenie v čase zavádzania spustením:

sudo systemctl start redis
sudo systemctl enable redis

Nainštalujte PDF Converter

wkhtmltopdfProgram je nástroj pre príkazový riadok, ktorý prevádza HTML do PDF s použitím renderovací engine QT Webkit. Nainštalujte požadované závislosti:

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

Stiahnite si najnovšiu verziu wkhtmltopdf.

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

Rozbaľte archív spustením:

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

Vyššie uvedený príkaz rozbalí archív do /opt/wkhtmltox. Vytvorte softlink tak, aby wkhtmltopdfa wkhtmltoimagemôžu byť vykonané po celom svete ako príkaz.

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

Teraz môžete spustiť wkhtmltopdf -Vpríkaz a skontrolovať, či funguje, uvidíte:

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

V tomto bode máme nainštalované všetky požadované závislosti. Teraz môžete pokračovať v inštalácii Bench.

Install Bench

Bench is a command line utility provided by Frappe to install and manage the ERPNext application on a Unix-based system for both development and production purposes. Bench can also create and manage Nginx and supervisor configuration.

Create a new user to run Bench processes in the isolated environment.

sudo adduser bench -d /opt/bench

Change the password of the user.

sudo passwd bench

Provide sudo permissions to the bench user.

sudo usermod -aG wheel bench

Login as the newly created bench user:

sudo su - bench

Clone the Bench repository in /opt/bench:

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

Install Bench using pip.

sudo pip install -e bench-repo

Once Bench is installed, proceed further to install ERPNext using Bench.

Install ERPNext using Bench

Initialize a bench directory with frappe framework installed. To keep everything tidy, we will work under /opt/bench directory. Bench will also setup regular backups and auto updates once a day.

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

Create a new Frappe site:

bench new-site erp.example.com

The above command will prompt you for the MySQL root password. Provide the password which you have set for the MySQL root user earlier. It will also ask you to set a new password for the administrator account. You will need this password later to log into the administrator dashboard.

Download ERPNext installation files from the remote git repository using the Bench.

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

Install ERPNext on your newly created site:

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

ERPNext is installed on your server. You can start the application immediately to check if the application is started successfully:

bench start

However, you should stop the execution and proceed further to set up the application for production use.

Setup Supervisor and Nginx

By default, the ERPNext application listens on port 8000, not to the standard HTTP port 80. Also, running the built in web server for production use is not recommended as we will be exposing the server to the world. Hence, you should use a production web server as reverse proxy such as Apache or Nginx. In this tutorial, we will use Nginx as a reverse proxy as it can be automatically configured using Bench. Bench can automatically generate and install the configuration according to the ERPNext setup.

Although we can start the application using the above command, the execution of ERPNext will stop as soon as you close the terminal. To overcome this issue, I recommend to use Supervisor which is very helpful in running the application continuously in a production environment. Supervisor is a process control system that enables you to monitor and control a number of processes on Linux operating systems. Once Supervisor is configured, it will automatically start the application at boot time as well as on failures. Bench can automatically configure Supervisor for the ERPNext application.

Install Supervisor:

sudo yum -y install supervisor

Start Supervisor and enable it to automatically start at boot time:

sudo systemctl start supervisord
sudo systemctl enable supervisord

Setup Bench for production use:

 sudo bench setup production bench

Vyššie uvedený príkaz vás môže vyzvať pred nahradením existujúceho predvoleného konfiguračného súboru správcu novým. Vyberte ypokračovanie. Bench pridáva do konfiguračného súboru správcu množstvo procesov. Vyššie uvedený príkaz sa vás tiež opýta, či chcete nahradiť aktuálnu konfiguráciu Nginx novou. Ak ychcete pokračovať, zadajte . Keď Bench dokončí inštaláciu konfigurácie, poskytnite ostatným používateľom spustenie súborov vo vašom domovskom adresári používateľa Bench.

chmod o+x /opt/bench/

Ak na svojom serveri používate bránu firewall, budete ju musieť nakonfigurovať tak, aby nastavila výnimku pre službu HTTP. Povoliť reverznému proxy servera Nginx pripojiť sa mimo siete.

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

Teraz máte prístup na stránku na http://erp.example.com.

Stav procesov môžete skontrolovať spustením:

sudo supervisorctl status all

Mali by ste vidieť nasledujúci 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

Ak chcete zastaviť všetky procesy ERPNext, použite:

sudo supervisorctl stop all

Ak chcete spustiť všetky procesy ERPNext, použite:

sudo supervisorctl start all

Nastavenie SSL pomocou Let's Encrypt

Let's Encrypt poskytuje používateľom bezplatné certifikáty SSL. SSL je možné nainštalovať manuálne alebo automaticky cez Bench. Bench dokáže automaticky nainštalovať klienta Let's Encrypt a získať certifikáty. Okrem toho automaticky aktualizuje konfiguráciu Nginx na používanie certifikátov.

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.

Povoľte multiprenájom DNS pre aplikáciu ERPNext.

bench config dns_multitenant on

Spustite nástroj Bench a nastavte Let's Encrypt na svojom webe:

sudo bench setup lets-encrypt erp.example.com

Počas vykonávania skriptu vás klient Let's Encrypt požiada o dočasné zastavenie webového servera Nginx. Automaticky nainštaluje požadované balíčky a klienta Let's Encrypt. Klient si vyžiada vašu e-mailovú adresu. Budete tiež musieť prijať zmluvné podmienky. Po vygenerovaní certifikátov Bench vygeneruje aj novú konfiguráciu pre Nginx, ktorá používa certifikáty SSL. Pred výmenou existujúcej konfigurácie sa zobrazí výzva. Bench tiež vytvorí crontabzáznam na automatickú obnovu certifikátov každý mesiac.

Nakoniec povoľte plánovaču, aby automaticky spúšťal naplánované úlohy:

bench enable-scheduler

Mali by ste vidieť:

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

Zabaliť sa

Po dokončení procesu môžete pristupovať k svojej aplikácii na adrese https://erp.example.com. Prihláste sa pomocou používateľského mena Administratora hesla, ktoré ste nastavili pri inštalácii. Dostanete sa k stolu, kde budete musieť poskytnúť informácie na nastavenie ERPNext ERP podľa vašej spoločnosti. Aplikáciu teraz môžete použiť na správu vašej spoločnosti.

Gratulujeme, na serveri CentOS 7 máte nainštalovanú plne funkčnú aplikáciu ERPNext.


Install Plesk on CentOS 7

Install Plesk on CentOS 7

Using a Different System? Plesk is a proprietary web host control panel that allows users to administer their personal and/or clients websites, databases

Ako nainštalovať Squid Proxy na CentOS

Ako nainštalovať Squid Proxy na CentOS

Squid je populárny bezplatný linuxový program, ktorý vám umožňuje vytvoriť webový proxy server na presmerovanie. V tejto príručke uvidíte, ako nainštalovať Squid na CentOS, aby vás zmenil

Ako nainštalovať Lighttpd (LLMP Stack) na CentOS 6

Ako nainštalovať Lighttpd (LLMP Stack) na CentOS 6

Úvod Lighttpd je fork Apache, ktorého cieľom je byť oveľa menej náročný na zdroje. Je ľahký, odtiaľ jeho názov, a jeho použitie je celkom jednoduché. Installin

Konfigurácia statickej siete a IPv6 na CentOS 7

Konfigurácia statickej siete a IPv6 na CentOS 7

VULTR nedávno vykonal zmeny na ich konci a všetko by teraz malo fungovať dobre po vybalení so zapnutým NetworkManagerom. Ak chcete deaktivovať

Úprava Icinga2 na použitie modelu Master/Client na CentOS 6 alebo CentOS 7

Úprava Icinga2 na použitie modelu Master/Client na CentOS 6 alebo CentOS 7

Icinga2 je výkonný monitorovací systém a pri použití v modeli master-client môže nahradiť potrebu monitorovacích kontrol založených na NRPE. Hlavný klient

Ako nainštalovať Apache Cassandra 3.11.x na CentOS 7

Ako nainštalovať Apache Cassandra 3.11.x na CentOS 7

Používate iný systém? Apache Cassandra je bezplatný a otvorený systém správy databáz NoSQL, ktorý je navrhnutý tak, aby poskytoval škálovateľnosť, vysokú

Ako nainštalovať Microweber na CentOS 7

Ako nainštalovať Microweber na CentOS 7

Používate iný systém? Microweber je open source drag and drop CMS a online obchod. Zdrojový kód Microweber je umiestnený na GitHub. Tento návod vám to ukáže

Ako nainštalovať Mattermost 4.1 na CentOS 7

Ako nainštalovať Mattermost 4.1 na CentOS 7

Používate iný systém? Mattermost je open source, samostatne hosťovaná alternatíva k službe posielania správ Slack SAAS. Inými slovami, s Mattermostom môžete cca

Vytvorenie siete serverov Minecraft pomocou BungeeCord na Debian 8, Debian 9 alebo CentOS 7

Vytvorenie siete serverov Minecraft pomocou BungeeCord na Debian 8, Debian 9 alebo CentOS 7

Čo budete potrebovať Vultr VPS s aspoň 1 GB RAM. Prístup SSH (s oprávneniami root/administrátor). Krok 1: Inštalácia BungeeCord Najprv veci

Umožňuje šifrovanie na Plesku

Umožňuje šifrovanie na Plesku

Ovládací panel Plesk obsahuje veľmi peknú integráciu pre Lets Encrypt. Lets Encrypt je jedným z mála poskytovateľov SSL, ktorí rozdávajú kompletné certifikáty

Umožňuje šifrovanie na cPanel

Umožňuje šifrovanie na cPanel

Lets Encrypt je certifikačná autorita, ktorá sa venuje bezplatnému poskytovaniu certifikátov SSL. cPanel vytvoril úhľadnú integráciu, takže vy a váš klient

Ako nainštalovať Concrete5 na CentOS 7

Ako nainštalovať Concrete5 na CentOS 7

Používate iný systém? Concrete5 je open source CMS, ktorý ponúka mnoho charakteristických a užitočných funkcií, ktoré pomáhajú redaktorom jednoducho vytvárať obsah

Ako nainštalovať revíznu tabuľu na CentOS 7

Ako nainštalovať revíznu tabuľu na CentOS 7

Používate iný systém? Review Board je bezplatný a otvorený zdrojový nástroj na kontrolu zdrojového kódu, dokumentácie, obrázkov a mnohých ďalších. Je to webový softvér

Nastavte overenie HTTP pomocou Nginx na CentOS 7

Nastavte overenie HTTP pomocou Nginx na CentOS 7

V tejto príručke sa dozviete, ako nastaviť HTTP autentifikáciu pre webový server Nginx spustený na CentOS 7. Požiadavky Na začiatok budete potrebovať

Ako nainštalovať YOURLS na CentOS 7

Ako nainštalovať YOURLS na CentOS 7

YOURLS (Your Own URL Shortener) je open source aplikácia na skrátenie adresy URL a analýzu údajov. V tomto článku sa budeme zaoberať procesom inštalácie

Ako nainštalovať a nakonfigurovať ArangoDB na CentOS 7

Ako nainštalovať a nakonfigurovať ArangoDB na CentOS 7

Používate iný systém? Úvod ArangoDB je open source databáza NoSQL s flexibilným dátovým modelom pre dokumenty, grafy a hodnoty kľúča. to je

Použitie Etckeeper na kontrolu verzií /etc

Použitie Etckeeper na kontrolu verzií /etc

Úvod Adresár /etc/ hrá rozhodujúcu úlohu v spôsobe fungovania systému Linux. Dôvodom je skutočnosť, že takmer každá konfigurácia systému

Prečo by ste mali používať SSHFS? Ako pripojiť vzdialený súborový systém s SSHFS na CentOS 6

Prečo by ste mali používať SSHFS? Ako pripojiť vzdialený súborový systém s SSHFS na CentOS 6

Mnoho systémových administrátorov spravuje veľké množstvo serverov. Keď je potrebné pristupovať k súborom cez rôzne servery, prihlásenie do každého z nich samostatne ca

Nastavenie servera Half Life 2 na CentOS 6

Nastavenie servera Half Life 2 na CentOS 6

Tento tutoriál sa bude zaoberať procesom inštalácie herného servera Half Life 2 na systém CentOS 6. Krok 1: Inštalácia predpokladov Aby ste mohli nastaviť ou

Ako nainštalovať Laravel GitScrum na CentOS 7

Ako nainštalovať Laravel GitScrum na CentOS 7

Laravel GitScrum alebo GitScrum je nástroj na zvýšenie produktivity s otvoreným zdrojom určený na pomoc vývojovým tímom implementovať metodiku Scrum podobným spôsobom.

The Rise of Machines: Real World Applications of AI

The Rise of Machines: Real World Applications of AI

Umelá inteligencia nie je v budúcnosti, je tu priamo v súčasnosti V tomto blogu si prečítajte, ako aplikácie umelej inteligencie ovplyvnili rôzne sektory.

Útoky DDOS: Stručný prehľad

Útoky DDOS: Stručný prehľad

Ste aj vy obeťou DDOS útokov a máte zmätok ohľadom metód prevencie? Ak chcete vyriešiť svoje otázky, prečítajte si tento článok.

Zaujímalo vás niekedy, ako hackeri zarábajú peniaze?

Zaujímalo vás niekedy, ako hackeri zarábajú peniaze?

Možno ste už počuli, že hackeri zarábajú veľa peňazí, ale premýšľali ste niekedy nad tým, ako môžu zarábať také peniaze? poďme diskutovať.

Revolučné vynálezy od spoločnosti Google, ktoré vám uľahčia život.

Revolučné vynálezy od spoločnosti Google, ktoré vám uľahčia život.

Chcete vidieť revolučné vynálezy od Google a ako tieto vynálezy zmenili život každého dnešného človeka? Potom si prečítajte na blogu a pozrite si vynálezy spoločnosti Google.

Piatok Essential: Čo sa stalo s autami poháňanými AI?

Piatok Essential: Čo sa stalo s autami poháňanými AI?

Koncept samoriadených áut vyraziť na cesty s pomocou umelej inteligencie je snom, ktorý máme už nejaký čas. Ale napriek niekoľkým prísľubom ich nikde nevidno. Prečítajte si tento blog a dozviete sa viac…

Technologická singularita: vzdialená budúcnosť ľudskej civilizácie?

Technologická singularita: vzdialená budúcnosť ľudskej civilizácie?

Ako sa veda vyvíja rýchlym tempom a preberá veľa nášho úsilia, zvyšuje sa aj riziko, že sa vystavíme nevysvetliteľnej singularite. Prečítajte si, čo pre nás môže znamenať singularita.

Vývoj ukladania dát – Infografika

Vývoj ukladania dát – Infografika

Spôsoby ukladania údajov sa môžu vyvíjať už od zrodu údajov. Tento blog sa zaoberá vývojom ukladania údajov na základe infografiky.

Funkcionality vrstiev referenčnej architektúry veľkých dát

Funkcionality vrstiev referenčnej architektúry veľkých dát

Prečítajte si blog, aby ste čo najjednoduchším spôsobom spoznali rôzne vrstvy architektúry veľkých dát a ich funkcie.

6 úžasných výhod toho, že máme v živote inteligentné domáce zariadenia

6 úžasných výhod toho, že máme v živote inteligentné domáce zariadenia

V tomto digitálnom svete sa inteligentné domáce zariadenia stali kľúčovou súčasťou života. Tu je niekoľko úžasných výhod inteligentných domácich zariadení o tom, ako robia náš život, ktorý stojí za to žiť, a ktorý zjednodušujú.

Aktualizácia doplnku macOS Catalina 10.15.4 spôsobuje viac problémov, ako ich rieši

Aktualizácia doplnku macOS Catalina 10.15.4 spôsobuje viac problémov, ako ich rieši

Spoločnosť Apple nedávno vydala doplnkovú aktualizáciu macOS Catalina 10.15.4 na opravu problémov, ale zdá sa, že táto aktualizácia spôsobuje ďalšie problémy, ktoré vedú k blokovaniu počítačov Mac. Prečítajte si tento článok a dozviete sa viac