Ako nainštalovať ERPNext Open Source ERP na Ubuntu 17.04

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 aplikácia ERP s vlastným hosťovaním napísaná v jazyku Python. 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.

Predpoklady

Poznámka: V tomto návode budeme používať erp.example.comná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 .

Skôr ako začneme, skontrolujte, či je váš server aktuálny.

sudo apt update
sudo apt -y upgrade

Nainštalujte vývojové nástroje

ERPNext potrebuje na fungovanie Python verzie 2.7. Nainštalujte Python 2.7.

sudo apt -y install python-minimal

Mali by ste byť schopní overiť jeho verziu.

python -V

Uvidíte nasledujúci výstup.

user@vultr:~$ python -V
Python 2.7.13

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

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

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

Uistite sa, že máte najnovšiu verziu pipa setuptools.

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

Pridajte úložisko MariaDB do systému.

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'

Nainštalujte MariaDB.

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

Keď sa zobrazí výzva, zadajte silné heslo pre používateľa root MariaDB.

Na vytváranie databáz ERPNext je potrebný ukladací mechanizmus Barracuda, takže na používanie ukladacieho zariadenia Barracuda budete musieť nakonfigurovať MariaDB. Upravte predvolený konfiguračný súbor MariaDB my.cnf.

sudo nano /etc/mysql/my.cnf

Pridajte nasledujúce riadky pod [mysqld]riadok.

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 [mysql]riadok pridajte aj nasledujúci riadok.

default-character-set = utf8mb4

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

sudo systemctl restart mariadb
sudo systemctl enable mariadb

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. Zadajte heslo, ktoré ste nastavili počas inštalácie. Zobrazí sa otázka, či chcete zmeniť existujúce heslo používateľa root vášho servera MariaDB. Nastavenie nového hesla môžete preskočiť, pretože silné heslo ste zadali už počas inštalácie. Na všetky ostatné otázky odpovedzte „Y“.

Nainštalujte Nginx, Node.js a Redis

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

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

Nainštalujte Nginx, Node.js a Redis.

sudo apt -y install nginx nodejs redis-server

Spustite Nginx a povoľte jeho spustenie v čase zavádzania.

sudo systemctl start nginx
sudo systemctl enable nginx

Spustite Redis a povoľte jej spustenie v čase zavádzania.

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

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

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.

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

The above command will extract the archive to /opt/wkhtmltox. Create a softlink so that wkhtmltopdf and wkhtmltoimage can be executed globally as a command.

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

You can now run wkhtmltopdf -V to check if it is working, you will see this.

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

At this point, we have all the required dependencies installed. You can now proceed to install 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 configurations.

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

sudo adduser bench --home /opt/bench

Provide sudo permissions to the bench user.

sudo usermod -aG sudo 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 the /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 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

You can start the application immediately to check if the application installed 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 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. You should use a production web server as a reverse proxy such as Apache or Nginx. 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 'bench start' command, the execution of ERPNext will stop as soon as you close the terminal. To overcome this issue, you should 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 apt -y install supervisor

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

sudo systemctl start supervisor
sudo systemctl enable supervisor

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 množstvo procesov do konfiguračného súboru Supervisor. 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/

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:~/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

Ak chcete zastaviť všetky procesy ERPNext.

sudo supervisorctl stop all

Spustenie všetkých procesov ERPNext.

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.

Názov domény, ktorý používate na získanie certifikátov od Let's Encrypt CA, musí smerovať k serveru. Klient pred vydaním certifikátov overí autoritu domény .

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 potrebné balíčky a klienta Let's Encrypt. Klient vás vyzve na zadanie vašej e-mailovej adresy. 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ť tento výstup.

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

Záver

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 Ubuntu 17.04 máte nainštalovanú plne funkčnú aplikáciu ERPNext.

Zanechať komentár

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.

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.

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.

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