Az ERPNext nyílt forráskódú ERP telepítése CentOS 7 rendszeren

Az ERP vagy Enterprise Resource Planning egy vállalati alkalmazáscsomag, amelyet az alapvető üzleti folyamatok kezelésére használnak. Az ERPNext egy ingyenes és nyílt forráskódú, saját üzemeltetésű, Python nyelven írt ERP-alkalmazás. A Node.js-t használja a kezelőfelülethez, a MariaDB-t pedig az adatok tárolására. Az ERPNext egy könnyen használható webes felület, amely lehetővé teszi a vállalkozások számára a napi feladatok kezelését. Modulokat tartalmaz a könyveléshez, CRM-hez, HRM-hez, gyártáshoz, POS-hez, projektmenedzsmenthez, beszerzéshez, értékesítési menedzsmenthez, raktárkezeléshez stb. Az ERPNext különféle iparágak, például szolgáltatók, gyártás, kiskereskedelem és iskolák kezelésére használható.

Ebben az oktatóanyagban az ERPNext programot telepítjük a CentOS 7 rendszerre.

Előfeltételek

Ebben az oktatóanyagban erp.example.coma szerverre mutató domain névként fogjuk használni . Kérjük, győződjön meg arról, hogy a(z) összes előfordulását cserélje erp.example.comki a tényleges domain nevére.

Frissítse alaprendszerét a „ Hogyan frissítsük a CentOS 7-et ” útmutató segítségével . A rendszer frissítése után folytassa a Python telepítésével.

Telepítse a fejlesztőeszközöket

Az ERPNext működéséhez a Python 2.7-es verziója szükséges. A Python 2.7 alapértelmezés szerint minden CentOS-kiszolgálópéldányra telepítve van. A következő futtatásával ellenőrizheti, hogy a Python telepített verziója-e:

python -V

Hasonló kimenetet kell kapnia.

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

Bár a Python telepített verziója nem a legújabb, gond nélkül működik. A Python alapértelmezett verziójának módosítása megszakíthatja a YUM-ot.

Telepítse a Development toolstelepítőfájlok összeállításához szükséges csomagokat a csoportba.

sudo yum groupinstall -y "Development tools"

Telepítsen még néhány függőséget:

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

Telepítse a Python pipeszközt. A Pip a Python-csomagok függőségi kezelője.

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

A fenti parancs telepíti a Pip-et a rendszerére. Annak érdekében, hogy a pipés a legújabb verziójával rendelkezzen setuptools, futtassa:

sudo pip install --upgrade pip setuptools

Telepítse az Ansible-t a Pip használatával. Az Ansible automatizálja a szoftverek kiépítését, a konfigurációkezelést és az alkalmazások telepítését.

sudo pip install ansible

Telepítse a MariaDB szervert

A MariaDB a MySQL adatbázis-kiszolgáló elágazása. Telepítse a MariaDB-t futtatással.

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

A Barracuda tárolómotor szükséges az ERPNext adatbázisok létrehozásához, ezért be kell állítania a MariaDB-t a Barracuda tárolómotor használatához. Szerkessze az alapértelmezett MariaDB konfigurációs fájlt my.cnf.

sudo nano /etc/my.cnf

Adja hozzá a következő sorokat a symbolic-links=0sor alá.

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

Indítsa el a MariaDB-t, és engedélyezze az automatikus indulást a rendszerindításkor.

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

Az adatbázis konfigurálása előtt biztonságossá kell tennie a MariaDB-t. A mysql_secure_installationszkript futtatásával biztosíthatja :

sudo mysql_secure_installation

A rendszer kérni fogja a jelenlegi MariaDB root jelszót. Alapértelmezés szerint a MariaDB-n nincs root jelszó beállítva. Nyomja meg az "Enter" gombot a folytatáshoz. Állítson be erős jelszót a MariaDB-szerver root felhasználójának, és válaszoljon "Y"-vel az összes többi kérdésre. A feltett kérdések magától értetődőek.

Telepítse az Nginxet, a Nodejs-t és a Redis-t

Mivel az EPEL-lerakat alapértelmezés szerint minden Vultr CentOS 7-példányban telepítve van, közvetlenül telepítheti a Redist és az Nginxet. A Node.js legújabb verziójának telepítéséhez azonban hozzá kell adnia a Nodesource tárat a rendszeréhez.

Adja hozzá a Node.js 8.x Nodesource tárházát.

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

Az Nginx, a Nodejs és a Redis telepítése:

sudo yum -y install nginx nodejs redis

Indítsa el az Nginx-et, és engedélyezze az indulást a rendszerindításkor a következő futtatással:

sudo systemctl start nginx
sudo systemctl enable nginx

Indítsa el a Redis-t, és engedélyezze az indulást rendszerindításkor a következő futással:

sudo systemctl start redis
sudo systemctl enable redis

Telepítse a PDF konvertert

A wkhtmltopdfprogram egy parancssori eszköz, amely a HTML-t PDF-be konvertálja a QT Webkit renderingmotor segítségével. Telepítse a szükséges függőségeket:

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

Töltse le a legújabb verzióját wkhtmltopdf.

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

Bontsa ki az archívumot a következő futtatással:

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

A fenti parancs kicsomagolja az archívumot ide /opt/wkhtmltox. Hozzon létre egy softlinket, hogy wkhtmltopdfés wkhtmltoimageglobálisan végrehajtható legyen parancsként.

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

Most már futtathatja a wkhtmltopdf -Vparancsot, hogy ellenőrizze, működik-e, látni fogja:

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

Ezen a ponton minden szükséges függőséget telepítettünk. Most folytathatja a Bench telepítését.

Telepítse a padot

BenchA Frappe által biztosított parancssori segédprogram az ERPNext alkalmazás telepítéséhez és kezeléséhez Unix-alapú rendszereken, fejlesztési és gyártási célokra egyaránt. A Bench az Nginx és a felügyelő konfigurációját is létrehozhatja és kezelheti.

Hozzon létre egy új felhasználót a bench-folyamatok futtatásához az elszigetelt környezetben.

sudo adduser bench -d /opt/bench

Módosítsa a felhasználó jelszavát.

sudo passwd bench

Adjon sudoengedélyeket a benchfelhasználónak.

sudo usermod -aG wheel bench

Jelentkezzen be újonnan létrehozott benchfelhasználóként:

sudo su - bench

A Bench adattár klónozása itt /opt/bench:

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

Telepítse a padot a segítségével pip.

sudo pip install -e bench-repo

A Bench telepítése után folytassa az ERPNext telepítésével a Bench segítségével.

Telepítse az ERPNext programot a Bench segítségével

Inicializáljon egy asztali könyvtárat a telepített frappe keretrendszerrel. Annak érdekében, hogy minden rendben legyen, /opt/benchcímtár alatt fogunk dolgozni . A Bench rendszeres biztonsági mentéseket és automatikus frissítéseket is beállít naponta egyszer.

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

Hozzon létre egy új Frappe webhelyet:

bench new-site erp.example.com

A fenti parancs kéri a MySQL root jelszót. Adja meg azt a jelszót, amelyet korábban a MySQL root felhasználóhoz állított be. Azt is kérni fogja, hogy állítson be új jelszót a rendszergazdai fiókhoz. Erre a jelszóra később szüksége lesz a rendszergazdai műszerfalra való bejelentkezéshez.

Töltse le az ERPNext telepítő fájljait a távoli git lerakatból a Bench segítségével.

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

Telepítse az ERPNext programot újonnan létrehozott webhelyére:

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

Az ERPNext telepítve van a kiszolgálón. Azonnal elindíthatja az alkalmazást, és ellenőrizheti, hogy az alkalmazás sikeresen elindult-e:

bench start

Azonban le kell állítania a végrehajtást, és tovább kell lépnie az alkalmazás éles használatra történő beállításához.

Setup Supervisor és Nginx

Alapértelmezés szerint az ERPNext alkalmazás a 8000-es porton figyel, nem a szabványos 80-as HTTP-porton. A beépített webszerver termelési célú futtatása sem ajánlott, mivel a szervert a világ elé tárjuk. Ezért fordított proxyként éles webszervert kell használnia, például az Apache-t vagy az Nginxet. Ebben az oktatóanyagban az Nginx-et fordított proxyként fogjuk használni, mivel a Bench segítségével automatikusan konfigurálható. A Bench automatikusan létrehozhatja és telepítheti a konfigurációt az ERPNext beállításának megfelelően.

Bár a fenti paranccsal elindíthatjuk az alkalmazást, az ERPNext végrehajtása leáll, amint bezárja a terminált. Ennek a problémának a kiküszöbölésére javaslom a Supervisor használatát, amely nagyon hasznos az alkalmazás éles környezetben való folyamatos futtatásához. A Supervisor egy folyamatvezérlő rendszer, amely lehetővé teszi számos folyamat megfigyelését és vezérlését Linux operációs rendszereken. A Supervisor konfigurálása után automatikusan elindítja az alkalmazást rendszerindításkor, valamint hiba esetén. A Bench automatikusan konfigurálja a Supervisort az ERPNext alkalmazáshoz.

Felügyelő telepítése:

sudo yum -y install supervisor

Indítsa el a Supervisor alkalmazást, és engedélyezze, hogy rendszerindításkor automatikusan elinduljon:

sudo systemctl start supervisord
sudo systemctl enable supervisord

Beállítási pad gyártási használatra:

 sudo bench setup production bench

A fenti parancs kérheti, mielőtt lecserélné a meglévő Supervisor alapértelmezett konfigurációs fájlt egy újra. Válassza ya folytatást. A Bench számos folyamatot hozzáad a Supervisor konfigurációs fájljához. A fenti parancs azt is megkérdezi, hogy le kívánja-e cserélni a jelenlegi Nginx konfigurációt egy újra. A yfolytatáshoz lépjen be. Miután a Bench befejezte a konfiguráció telepítését, biztosítsa a többi felhasználónak, hogy a Bench-felhasználó kezdőkönyvtárában végrehajtsák a fájlokat.

chmod o+x /opt/bench/

Ha tűzfalat futtat a kiszolgálón, akkor a tűzfalat úgy kell konfigurálnia, hogy kivételt állítson be a HTTP szolgáltatáshoz. Engedélyezze az Nginx fordított proxy számára a hálózaton kívüli csatlakozást.

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

Most már elérheti az oldalt a következő címen: http://erp.example.com.

A folyamatok állapotát a következő futtatással ellenőrizheti:

sudo supervisorctl status all

A következő kimenetet kell látnod:

[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

Az összes ERPNext folyamat leállításához használja:

sudo supervisorctl stop all

Az összes ERPNext folyamat elindításához használja:

sudo supervisorctl start all

SSL beállítása a Let's Encrypt használatával

A Let's Encrypt ingyenes SSL-tanúsítványokat biztosít a felhasználóknak. Az SSL manuálisan vagy automatikusan telepíthető a Bench segítségével. A Bench képes automatikusan telepíteni a Let's Encrypt klienst, és megszerezni a tanúsítványokat. Ezenkívül automatikusan frissíti az Nginx konfigurációját a tanúsítványok használatához.

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.

Több DNS bérlés engedélyezése az ERPNext alkalmazás számára.

bench config dns_multitenant on

Futtassa a Bench alkalmazást a Let's Encrypt beállításához a webhelyen:

sudo bench setup lets-encrypt erp.example.com

A szkript végrehajtása során a Let's Encrypt kliens kérni fogja, hogy ideiglenesen állítsa le az Nginx webszervert. Automatikusan telepíti a szükséges csomagokat és a Let's Encrypt klienst. Az ügyfél kérni fogja az Ön e-mail címét. Ezenkívül el kell fogadnia a feltételeket. A tanúsítványok létrehozása után a Bench az SSL-tanúsítványokat használó Nginx új konfigurációját is létrehozza. A rendszer megkérdezi, mielőtt lecserélné a meglévő konfigurációt. A Bench egy crontabbejegyzést is létrehoz, amely minden hónapban automatikusan megújítja a tanúsítványokat.

Végül engedélyezze az ütemező számára az ütemezett jobok automatikus futtatását:

bench enable-scheduler

Látnod kéne:

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

Becsomagolás

A folyamat befejezése után a következő címen érheti el jelentkezését https://erp.example.com. Jelentkezzen Administratorbe a telepítés során megadott felhasználónévvel és jelszóval. A pulthoz kerül, ahol meg kell adnia az ERPNext ERP-t a vállalatának megfelelően beállítani. Most már használhatja az alkalmazást cége kezeléséhez.

Gratulálunk, egy teljesen működő ERPNext alkalmazás telepítve van a CentOS 7 szerverére.

Hagyj kommentárt

Egyéni Windows ISO létrehozása frissítésekkel az NTLite használatával

Egyéni Windows ISO létrehozása frissítésekkel az NTLite használatával

Ez az oktatóanyag végigvezeti Önt a Vultrs rendszerekkel kompatibilis Windows ISO létrehozásának folyamatán. Itt megtanulhatja az <>Windows ISO<> előállításának lépéseit az NTLite segítségével.

A gépek felemelkedése: Az AI valós világbeli alkalmazásai

A gépek felemelkedése: Az AI valós világbeli alkalmazásai

A mesterséges intelligencia nem a jövőben, hanem itt a jelenben. Ebben a blogban Olvassa el, hogyan hatott a mesterséges intelligencia alkalmazások különböző ágazatokra.

DDOS támadások: Rövid áttekintés

DDOS támadások: Rövid áttekintés

Ön is DDOS támadások áldozata, és tanácstalan a megelőzési módszereket illetően? Olvassa el ezt a cikket a kérdések megoldásához.

Gondolkozott már azon, hogyan keresnek pénzt a hackerek?

Gondolkozott már azon, hogyan keresnek pénzt a hackerek?

Talán hallottál már arról, hogy a hackerek sok pénzt keresnek, de elgondolkodtál már azon, hogyan kereshetnek ennyi pénzt? beszéljük meg.

A Google forradalmi találmányai, amelyek megkönnyítik az életét.

A Google forradalmi találmányai, amelyek megkönnyítik az életét.

Szeretné látni a Google forradalmi találmányait, és azt, hogy ezek a találmányok hogyan változtatták meg minden mai ember életét? Ezután olvassa el a blogot, és nézze meg a Google találmányait.

Essential péntek: Mi történt az AI-vezérelt autókkal?

Essential péntek: Mi történt az AI-vezérelt autókkal?

Az önvezető autók koncepciója, hogy mesterséges intelligencia segítségével kerüljenek az utakra, már egy ideje álmunk. De számos ígéret ellenére sehol sem látszanak. Olvassa el ezt a blogot, hogy többet megtudjon…

Technológiai szingularitás: az emberi civilizáció távoli jövője?

Technológiai szingularitás: az emberi civilizáció távoli jövője?

Ahogy a tudomány gyors ütemben fejlődik, átveszi erőfeszítéseink nagy részét, megnő annak a kockázata is, hogy alávetjük magunkat egy megmagyarázhatatlan szingularitásnak. Olvassa el, mit jelenthet számunkra a szingularitás.

A Big Data Reference Architecture Layerek funkciói

A Big Data Reference Architecture Layerek funkciói

Olvassa el a blogot, hogy a legegyszerűbb módon ismerje meg a Big Data Architecture különböző rétegeit és azok funkcióit.

Az adattárolás fejlődése – Infografika

Az adattárolás fejlődése – Infografika

Az adatok tárolási módjai az Adatok születése óta alakulhatnak. Ez a blog egy infografika alapján mutatja be az adattárolás fejlődését.

Az okosotthoni eszközök 6 lenyűgöző előnye az életünkben

Az okosotthoni eszközök 6 lenyűgöző előnye az életünkben

Ebben a digitálisan vezérelt világban az intelligens otthoni eszközök az élet döntő részévé váltak. Íme az intelligens otthoni eszközök néhány elképesztő előnye, hogyan teszik életünket érdemessé és egyszerűbbé.