Parakushtet
Instaloni Veglat e Zhvillimit
Instaloni serverin MariaDB
Instaloni Nginx, Node.js dhe Redis
Instaloni konvertuesin PDF
Instaloni stol
Instaloni ERPNext duke përdorur Bench
Mbikëqyrësi i konfigurimit dhe Nginx
konkluzioni
ERP ose Enterprise Resource Planning është një paketë aplikacionesh për ndërmarrje që përdoret për të menaxhuar proceset kryesore të biznesit. ERPNext është një aplikacion ERP pa pagesë dhe me burim të hapur, i vetë-strehuar, i shkruar në Python. Ai përdor Node.js për pjesën e përparme dhe MariaDB për të ruajtur të dhënat e tij. ERPNext ofron një ndërfaqe uebi të lehtë për t'u përdorur që lejon bizneset të menaxhojnë detyrat e përditshme. Ai përmban module për kontabilitet, CRM, HRM, prodhim, POS, menaxhim projektesh, blerje, menaxhim të shitjeve, menaxhim të depove dhe më shumë. ERPNext mund të përdoret për të menaxhuar industri të ndryshme si ofruesit e shërbimeve, prodhimi, shitja me pakicë dhe shkollat.
Parakushtet
Shënim: Për këtë tutorial, ne do të përdorim erp.example.comsi emrin e domenit të treguar te serveri. Ju lutemi sigurohuni që të zëvendësoni të gjitha dukuritë e erp.example.comme emrin tuaj aktual të domenit .
Përpara se të fillojmë, sigurohuni që serveri juaj të jetë i përditësuar.
sudo apt update
sudo apt -y upgrade
ERPNext ka nevojë për versionin 2.7 të Python për të funksionuar. Instaloni Python 2.7.
sudo apt -y install python-minimal
Ju duhet të jeni në gjendje të verifikoni versionin e tij.
python -V
Do të shihni daljen e mëposhtme.
user@vultr:~$ python -V
Python 2.7.13
Instaloni disa varësi të tjera.
sudo apt -y install git build-essential python-setuptools python-dev libffi-dev libssl-dev
Instaloni pipmjetin e Python . Pip është menaxheri i varësisë për paketat Python.
wget https://bootstrap.pypa.io/get-pip.py
sudo python get-pip.py
Sigurohuni që keni versionin më të fundit të pipdhe setuptools.
sudo pip install --upgrade pip setuptools
Instaloni Ansible duke përdorur Pip. Ansible automatizon sigurimin e softuerit, menaxhimin e konfigurimit dhe vendosjen e aplikacioneve.
sudo pip install ansible
Instaloni serverin MariaDB
Shtoni depon e MariaDB në 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'
Instaloni MariaDB.
sudo apt update
sudo apt -y install mariadb-server libmysqlclient-dev
Jepni një fjalëkalim të fortë për përdoruesin rrënjë MariaDB kur ju kërkohet.
Motori i ruajtjes Barracuda kërkohet për krijimin e bazave të të dhënave ERPNext, kështu që do t'ju duhet të konfiguroni MariaDB për të përdorur motorin e ruajtjes Barracuda. Redaktoni skedarin e paracaktuar të konfigurimit të MariaDB my.cnf.
sudo nano /etc/mysql/my.cnf
Shtoni rreshtat e mëposhtëm nën [mysqld]rresht.
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
Gjithashtu, shtoni rreshtin e mëposhtëm nën [mysql]rresht.
default-character-set = utf8mb4
Rinisni MariaDB dhe aktivizoni që të fillojë automatikisht në kohën e nisjes.
sudo systemctl restart mariadb
sudo systemctl enable mariadb
Para se të konfiguroni bazën e të dhënave, do t'ju duhet të siguroni MariaDB. Mund ta siguroni duke ekzekutuar mysql_secure_installationskriptin.
sudo mysql_secure_installation
Do t'ju kërkohet fjalëkalimi aktual rrënjësor i MariaDB. Jepni fjalëkalimin që keni vendosur gjatë instalimit. Ju do të pyeteni nëse dëshironi të ndryshoni fjalëkalimin ekzistues të përdoruesit rrënjë të serverit tuaj MariaDB. Mund të anashkaloni vendosjen e një fjalëkalimi të ri, pasi tashmë keni dhënë një fjalëkalim të fortë gjatë instalimit. Përgjigjuni "Y" për të gjitha pyetjet e tjera që bëhen.
Instaloni Nginx, Node.js dhe Redis
Shtoni depon e Nodesource për Node.js 8.x.
sudo curl --silent --location https://deb.nodesource.com/setup_8.x | sudo bash -
Instaloni Nginx, Node.js dhe Redis.
sudo apt -y install nginx nodejs redis-server
Nisni Nginx dhe aktivizoni atë të fillojë në kohën e nisjes.
sudo systemctl start nginx
sudo systemctl enable nginx
Nisni Redis dhe aktivizoni që të fillojë në kohën e nisjes.
sudo systemctl start redis-server
sudo systemctl enable redis-server
Instaloni konvertuesin PDF
wkhtmltopdfProgram është një linjë komande mjet që konverton HTML në PDF duke përdorur motor pasqyrim QT WebKit. Instaloni varësitë e kërkuara.
sudo apt -y install libxrender1 libxext6 xfonts-75dpi xfonts-base
Shkarkoni versionin më të fundit të wkhtmltopdf.
wget https://github.com/wkhtmltopdf/wkhtmltopdf/releases/download/0.12.4/wkhtmltox-0.12.4_linux-generic-amd64.tar.xz
Ekstraktoni arkivin.
sudo tar -xf wkhtmltox-0.12.4_linux-generic-amd64.tar.xz -C /opt
Komanda e mësipërme do ta nxjerrë arkivin në /opt/wkhtmltox. Krijo një softlink në mënyrë që wkhtmltopdfdhe të wkhtmltoimagemund të ekzekutohet globalisht si një komandë.
sudo ln -s /opt/wkhtmltox/bin/wkhtmltopdf /usr/bin/wkhtmltopdf
sudo ln -s /opt/wkhtmltox/bin/wkhtmltoimage /usr/bin/wkhtmltoimage
Tani mund të vraponi wkhtmltopdf -Vpër të kontrolluar nëse po funksionon, do ta shihni këtë.
user@vultr:~$ wkhtmltopdf -V
wkhtmltopdf 0.12.4 (with patched qt)
Në këtë pikë, ne kemi të instaluara të gjitha varësitë e nevojshme. Tani mund të vazhdoni të instaloni Bench.
Instaloni stol
Benchështë një mjet i linjës komanduese të ofruar nga Frappe për të instaluar dhe menaxhuar aplikacionin ERPNext në një sistem të bazuar në Unix për qëllime zhvillimi dhe prodhimi. Bench gjithashtu mund të krijojë dhe menaxhojë Nginx dhe konfigurimet e mbikëqyrësit.
Krijo një përdorues të ri për të ekzekutuar proceset e Bench në mjedisin e izoluar.
sudo adduser bench --home /opt/bench
Jepni sudoleje benchpërdoruesit.
sudo usermod -aG sudo bench
Hyni si benchpërdoruesi i sapokrijuar .
sudo su - bench
Klononi depon e Bench në /opt/bench.
cd /opt/bench
git clone https://github.com/frappe/bench bench-repo
Instaloni Bench duke përdorur pip.
sudo pip install -e bench-repo
Pasi të instalohet Bench, vazhdoni më tej për të instaluar ERPNext duke përdorur Bench.
Instaloni ERPNext duke përdorur Bench
Inicializoni një direktori stoli me kornizën frappe të instaluar. Për të mbajtur gjithçka të rregullt, ne do të punojmë nën /opt/benchdrejtori. Bench gjithashtu do të konfigurojë kopje rezervë të rregullt dhe përditësime automatike një herë në ditë.
cd /opt/bench
bench init erpnext && cd erpnext
Krijo një faqe të re Frappe.
bench new-site erp.example.com
Komanda e mësipërme do t'ju kërkojë të gjeni fjalëkalimin rrënjësor MySQL. Jepni fjalëkalimin që keni vendosur për përdoruesin rrënjë të MySQL më parë. Gjithashtu do t'ju kërkojë të vendosni një fjalëkalim të ri për llogarinë e administratorit. Ky fjalëkalim do t'ju duhet më vonë për t'u identifikuar në pultin e administratorit .
Shkarkoni skedarët e instalimit ERPNext nga depoja e git në distancë duke përdorur Bench.
bench get-app erpnext https://github.com/frappe/erpnext
Instaloni ERPNext në faqen tuaj të krijuar rishtazi.
bench --site erp.example.com install-app erpnext
Mund ta nisni aplikacionin menjëherë për të kontrolluar nëse aplikacioni është instaluar me sukses.
bench start
Sidoqoftë, duhet të ndaloni ekzekutimin dhe të vazhdoni më tej me konfigurimin e aplikacionit për përdorim prodhimi.
Mbikëqyrësi i konfigurimit dhe Nginx
Si parazgjedhje, aplikacioni ERPNext dëgjon në portë 8000, jo në portin standard HTTP 80. Gjithashtu, ekzekutimi i serverit të integruar të uebit për përdorim prodhimi nuk rekomandohet pasi ne do ta ekspozojmë serverin në botë. Ju duhet të përdorni një server në internet prodhimi si një përfaqësues të kundërt si Apache ose Nginx. Ne do të përdorim Nginx si një përfaqësues të kundërt pasi mund të konfigurohet automatikisht duke përdorur Bench. Bench mund të gjenerojë dhe instalojë automatikisht konfigurimin sipas konfigurimit të ERPNext.
Edhe pse ne mund ta nisim aplikacionin duke përdorur komandën 'bench start', ekzekutimi i ERPNext do të ndalet sapo të mbyllni terminalin. Për të kapërcyer këtë problem, duhet të përdorni Supervisor, i cili është shumë i dobishëm për ekzekutimin e vazhdueshëm të aplikacionit në një mjedis prodhimi. Supervisor është një sistem i kontrollit të procesit që ju mundëson të monitoroni dhe kontrolloni një numër procesesh në sistemet operative Linux. Pasi të konfigurohet Supervisor, ai do të nisë automatikisht aplikacionin në kohën e nisjes, si dhe në rastet e dështimeve. Bench mund të konfigurojë automatikisht Mbikëqyrësin për aplikacionin ERPNext.
Instaloni Supervisor.
sudo apt -y install supervisor
Nisni Supervisor dhe aktivizoni që të fillojë automatikisht në kohën e nisjes.
sudo systemctl start supervisor
sudo systemctl enable supervisor
Stola e konfigurimit për përdorim në prodhim.
sudo bench setup production bench
Komanda e mësipërme mund t'ju kërkojë përpara se të zëvendësoni skedarin ekzistues të konfigurimit të paracaktuar të Supervisor me një të ri. Zgjidhni ypër të vazhduar. Bench shton një numër procesesh në skedarin e konfigurimit të Mbikëqyrësit. Komanda e mësipërme do t'ju pyesë gjithashtu nëse dëshironi të zëvendësoni konfigurimin aktual Nginx me një të ri. Hyni ypër të vazhduar. Pasi Bench të ketë përfunduar instalimin e konfigurimit, siguroni përdoruesve të tjerë që të ekzekutojnë skedarët në drejtorinë tuaj kryesore të përdoruesit të Bench.
chmod o+x /opt/bench/
Tani mund të hyni në sajtin në http://erp.example.com.
Ju mund të kontrolloni statusin e proceseve duke ekzekutuar.
sudo supervisorctl status all
Ju duhet të shihni daljen e mëposhtme.
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
Për të ndaluar të gjitha proceset ERPNext.
sudo supervisorctl stop all
Për të nisur të gjitha proceset ERPNext.
sudo supervisorctl start all
Konfigurimi i SSL duke përdorur Let's Encrypt
Let's Encrypt ofron çertifikata SSL falas për përdoruesit. SSL mund të instalohet manualisht ose automatikisht përmes Bench. Bench mund të instalojë automatikisht klientin Let's Encrypt dhe të marrë certifikatat. Për më tepër, ai përditëson automatikisht konfigurimin Nginx për të përdorur certifikatat.
Emri i domenit që po përdorni për të marrë certifikatat nga Let's Encrypt CA duhet të drejtohet drejt serverit. Klienti verifikon autoritetin e domenit përpara se të lëshojë certifikatat .
Aktivizo multi-qiramarrjen DNS për aplikacionin ERPNext.
bench config dns_multitenant on
Ekzekutoni Bench për të konfiguruar Let's Encrypt në sajtin tuaj.
sudo bench setup lets-encrypt erp.example.com
Gjatë ekzekutimit të skriptit, klienti Let's Encrypt do t'ju kërkojë të ndaloni përkohësisht serverin e internetit Nginx. Do të instalojë automatikisht paketat e kërkuara dhe klientin Let's Encrypt. Klienti do t'ju kërkojë për adresën tuaj të emailit. Ju gjithashtu do të duhet të pranoni termat dhe kushtet. Pasi të jenë gjeneruar certifikatat, Bench do të gjenerojë gjithashtu konfigurimin e ri për Nginx i cili përdor certifikatat SSL. Do të pyeteni përpara se të zëvendësoni konfigurimin ekzistues. Bench gjithashtu krijon një crontabhyrje për të rinovuar automatikisht certifikatat çdo muaj.
Më në fund, aktivizoni programuesin që të ekzekutojë automatikisht punët e planifikuara.
bench enable-scheduler
Ju duhet ta shihni këtë dalje.
bench@vultr:~/erpnext$ bench enable-scheduler
Enabled for erp.example.com
konkluzioni
Pasi të ketë përfunduar procesi, mund të përdorni aplikacionin tuaj në https://erp.example.com. Hyni me emrin e përdoruesit Administratordhe fjalëkalimin që keni vendosur gjatë instalimit. Do të çoheni në tavolinë ku do t'ju duhet të jepni informacion për të vendosur ERPNext ERP sipas kompanisë suaj. Tani mund ta përdorni aplikacionin për të menaxhuar kompaninë tuaj.
Urime, ju keni një aplikacion ERPNext plotësisht funksional të instaluar në serverin tuaj Ubuntu 17.04.