Parakushtet
											
										
																			
											
												Instaloni Veglat e Zhvillimit
											
										
																			
											
												Instaloni serverin MariaDB
											
										
																			
											
												Instaloni Nginx, Nodejs dhe Redis
											
										
																			
											
												Instaloni konvertuesin PDF
											
										
																			
											
												Instaloni stol
											
										
																			
											
												Instaloni ERPNext duke përdorur Bench
											
										
																			
											
												Mbikëqyrësi i konfigurimit dhe Nginx
											
										
																			
											
												Përfundimi
											
										
																	
												
						
												
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 i vetë-strehuar pa pagesë dhe me burim të hapur 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.
Në këtë tutorial, ne do të instalojmë ERPNext në CentOS 7.
Parakushtet
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ë erp.example.comme emrin tuaj aktual të domenit.
Përditësoni sistemin tuaj bazë duke përdorur udhëzuesin " Si të përditësoni CentOS 7 ". Pasi sistemi juaj të jetë përditësuar, vazhdoni të instaloni Python.
ERPNext ka nevojë për versionin 2.7 të Python për të funksionuar. Python 2.7 është instaluar si parazgjedhje në të gjitha rastet e serverit CentOS. Mund të kontrolloni nëse versioni i instaluar i Python është duke ekzekutuar:
python -V
Ju duhet të merrni një rezultat të ngjashëm.
[user@vultr ~]$ python -V
Python 2.7.5
Megjithëse versioni i instaluar i Python nuk është më i fundit, ai funksionon pa probleme. Ndryshimi i versionit të paracaktuar të Python mund të prishë YUM.
Instaloni paketat në Development toolsgrupin që kërkohen për përpilimin e skedarëve të instaluesit.
sudo yum groupinstall -y "Development tools"
Instaloni disa varësi të tjera:
sudo yum install -y redhat-lsb-core git python-setuptools python-devel openssl-devel libffi-devel
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
Komanda e mësipërme do të instalojë Pip në sistemin tuaj. Për t'u siguruar që keni versionin më të fundit të pipdhe setuptools, ekzekutoni:
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
MariaDB është një fork i serverit të bazës së të dhënave MySQL. Instaloni MariaDB duke ekzekutuar.
sudo yum -y install mariadb mariadb-server mysql-devel
Motori i ruajtjes Barracuda kërkohet për krijimin e bazave të të dhënave ERPNext, prandaj 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/my.cnf
Shtoni rreshtat e mëposhtëm nën symbolic-links=0rresht.
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
Nisni MariaDB dhe aktivizoni që të fillojë automatikisht në kohën e nisjes.
sudo systemctl start mariadb.service
sudo systemctl enable mariadb.service
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. Si parazgjedhje, nuk ka asnjë fjalëkalim rrënjësor të vendosur në MariaDB. Shtypni butonin "Enter" për të vazhduar. Vendosni një fjalëkalim të fortë për përdoruesin rrënjë të serverit tuaj MariaDB dhe përgjigjuni "Y" për të gjitha pyetjet e tjera që bëhen. Pyetjet e bëra janë vetë-shpjeguese.
Instaloni Nginx, Nodejs dhe Redis
Meqenëse depoja EPEL është instaluar si parazgjedhje në të gjitha rastet e Vultr CentOS 7, ju mund të instaloni drejtpërdrejt Redis dhe Nginx. Por për të instaluar versionin më të fundit të Node.js, do t'ju duhet të shtoni depon e Nodesource në sistemin tuaj.
Shtoni depon e Nodesource për Node.js 8.x.
sudo curl --silent --location https://rpm.nodesource.com/setup_8.x | sudo bash -
Instaloni Nginx, Nodejs dhe Redis:
sudo yum -y install nginx nodejs redis
Nisni Nginx dhe aktivizoni atë të fillojë në kohën e nisjes duke ekzekutuar:
sudo systemctl start nginx
sudo systemctl enable nginx
Nisni Redis dhe aktivizoni atë të fillojë në kohën e nisjes duke ekzekutuar:
sudo systemctl start redis
sudo systemctl enable redis
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 yum -y install libXrender libXext xorg-x11-fonts-75dpi xorg-x11-fonts-Type1
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 duke ekzekutuar:
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ë ekzekutoni wkhtmltopdf -Vkomandën për të kontrolluar nëse po funksionon, do të shihni:
[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 konfigurimin e mbikëqyrësit.
Krijo një përdorues të ri për të ekzekutuar proceset e Bench në mjedisin e izoluar.
sudo adduser bench -d /opt/bench
Ndryshoni fjalëkalimin e përdoruesit.
sudo passwd bench
Jepni sudoleje benchpërdoruesit.
sudo usermod -aG wheel 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
ERPNext është instaluar në serverin tuaj. Ju mund ta nisni aplikacionin menjëherë për të kontrolluar nëse aplikacioni është nisur 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ë portin 8000, jo në portën standarde 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ë. Prandaj, duhet të përdorni një server në internet prodhimi si përfaqësues të kundërt si Apache ose Nginx. Në këtë tutorial, 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.
Megjithëse mund ta nisim aplikacionin duke përdorur komandën e mësipërme, ekzekutimi i ERPNext do të ndalet sapo të mbyllni terminalin. Për të kapërcyer këtë problem, unë rekomandoj përdorimin e Supervisor i cili është shumë i dobishëm në ekzekutimin e aplikacionit vazhdimisht 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 mbikëqyrësin:
sudo yum -y install supervisor
Nisni Supervisor dhe aktivizoni që të fillojë automatikisht në kohën e nisjes:
sudo systemctl start supervisord
sudo systemctl enable supervisord
Stola e konfigurimit për përdorim prodhimi:
 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, jepini përdoruesve të tjerë që të ekzekutojnë skedarët në drejtorinë tuaj kryesore të përdoruesit të Bench.
chmod o+x /opt/bench/
Nëse po ekzekutoni një mur zjarri në serverin tuaj, do t'ju duhet të konfiguroni murin e zjarrit për të vendosur një përjashtim për shërbimin HTTP. Lejo që përfaqësuesi i kundërt Nginx të lidhet nga jashtë rrjetit.
sudo firewall-cmd --zone=public --permanent --add-service=http
sudo firewall-cmd --reload
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 ~]$ 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
Për të ndaluar të gjitha proceset ERPNext, përdorni:
sudo supervisorctl stop all
Për të nisur të gjitha proceset ERPNext, përdorni:
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.
  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.
Aktivizo multi-qiramarrjen DNS për aplikacionin ERPNext.
bench config dns_multitenant on
Ekzekutoni Bench për të konfiguruar Let's Encrypt në faqen 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ë kërkojë 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 të shihni:
[bench@vultr erpnext]$ bench enable-scheduler
Enabled for erp.example.com
Përfundimi
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 CentOS 7.