Hur man installerar ERPNext Open Source ERP på CentOS 7

ERP eller Enterprise Resource Planning är en företagsapplikationssvit som används för att hantera kärnverksamhetens processer. ERPNext är gratis och öppen källkod, självvärd ERP-applikation skriven i Python. Den använder Node.js för gränssnittet och MariaDB för att lagra sina data. ERPNext tillhandahåller ett lättanvänt webbgränssnitt som låter företag hantera de dagliga uppgifterna. Den innehåller moduler för redovisning, CRM, HRM, tillverkning, POS, projektledning, inköp, försäljningsledning, lagerhantering med mera. ERPNext kan användas för att hantera olika branscher som tjänsteleverantörer, tillverkning, detaljhandel och skolor.

I den här handledningen kommer vi att installera ERPNext på CentOS 7.

Förutsättningar

För den här handledningen kommer vi att använda erp.example.comsom domännamnet pekade på servern. Se till att ersätta alla förekomster av erp.example.commed ditt faktiska domännamn.

Uppdatera ditt bassystem med hjälp av guiden " Hur man uppdaterar CentOS 7 ". När ditt system har uppdaterats, fortsätt att installera Python.

Installera utvecklingsverktyg

ERPNext behöver Python version 2.7 för att fungera. Python 2.7 är installerat som standard i alla CentOS-serverinstanser. Du kan kontrollera om den installerade versionen av Python genom att köra:

python -V

Du bör få liknande utdata.

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

Även om den installerade versionen av Python inte är den senaste, fungerar den utan problem. Att ändra standardversionen av Python kan bryta YUM.

Installera paketen i Development toolsgruppen som krävs för att kompilera installationsfilerna.

sudo yum groupinstall -y "Development tools"

Installera några fler beroenden:

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

Installera Pythons pipverktyg. Pip är beroendehanteraren för Python-paket.

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

Ovanstående kommando kommer att installera Pip på ditt system. För att säkerställa att du har den senaste versionen av pipoch setuptoolskör du:

sudo pip install --upgrade pip setuptools

Installera Ansible med Pip. Ansible automatiserar programvaruprovisionering, konfigurationshantering och applikationsdistribution.

sudo pip install ansible

Installera MariaDB Server

MariaDB är en gaffel av MySQL-databasserver. Installera MariaDB genom att köra.

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

Barracuda-lagringsmotorn krävs för att skapa ERPNext-databaser, därför måste du konfigurera MariaDB för att använda Barracuda-lagringsmotorn. Redigera standardkonfigurationsfilen för MariaDB my.cnf.

sudo nano /etc/my.cnf

Lägg till följande rader under symbolic-links=0raden.

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

Starta MariaDB och låt den starta automatiskt vid uppstart.

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

Innan du konfigurerar databasen måste du säkra MariaDB. Du kan säkra den genom att köra mysql_secure_installationskriptet:

sudo mysql_secure_installation

Du kommer att bli ombedd att ange det aktuella MariaDB root-lösenordet. Som standard finns det inget root-lösenord inställt på MariaDB. Tryck på "Enter" för att fortsätta. Ställ in ett starkt lösenord för rotanvändaren på din MariaDB-server och svara "Y" på alla andra frågor som ställs. Frågorna som ställs är självförklarande.

Installera Nginx, Nodejs och Redis

Eftersom EPEL-förvaret är installerat som standard i alla Vultr CentOS 7-instanser, kan du direkt installera Redis och Nginx. Men för att installera den senaste versionen av Node.js måste du lägga till Nodesource-förrådet i ditt system.

Lägg till Nodesource-förrådet för Node.js 8.x.

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

Installera Nginx, Nodejs och Redis:

sudo yum -y install nginx nodejs redis

Starta Nginx och låt den starta vid uppstart genom att köra:

sudo systemctl start nginx
sudo systemctl enable nginx

Starta Redis och låt den starta vid uppstart genom att köra:

sudo systemctl start redis
sudo systemctl enable redis

Installera PDF Converter

Det wkhtmltopdfprogrammet är en kommandorad verktyg som konverterar HTML till PDF med hjälp av QT Webkit renderingsmotor. Installera nödvändiga beroenden:

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

Ladda ner den senaste versionen av wkhtmltopdf.

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

Extrahera arkivet genom att köra:

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

Ovanstående kommando extraherar arkivet till /opt/wkhtmltox. Skapa en mjuklänk så att wkhtmltopdfoch wkhtmltoimagekan köras globalt som ett kommando.

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

Du kan nu köra wkhtmltopdf -Vkommandot för att kontrollera om det fungerar, du kommer att se:

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

Vid det här laget har vi alla nödvändiga beroenden installerade. Du kan nu fortsätta att installera Bench.

Installera bänk

Benchär ett kommandoradsverktyg som tillhandahålls av Frappe för att installera och hantera ERPNext-applikationen på ett Unix-baserat system för både utvecklings- och produktionsändamål. Bench kan också skapa och hantera Nginx och supervisor-konfiguration.

Skapa en ny användare för att köra Bench-processer i den isolerade miljön.

sudo adduser bench -d /opt/bench

Ändra användarens lösenord.

sudo passwd bench

Ge användaren sudobehörigheter bench.

sudo usermod -aG wheel bench

Logga in som nyskapad benchanvändare:

sudo su - bench

Klona Bench-förvaret i /opt/bench:

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

Installera bänk med pip.

sudo pip install -e bench-repo

När Bench är installerad, fortsätt vidare för att installera ERPNext med Bench.

Installera ERPNext med hjälp av Bench

Initiera en bänkkatalog med frappe-ramverket installerat. För att hålla allt snyggt kommer vi att arbeta under /opt/benchkatalog. Bench kommer också att ställa in regelbundna säkerhetskopieringar och automatiska uppdateringar en gång om dagen.

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

Skapa en ny Frappe-sajt:

bench new-site erp.example.com

Kommandot ovan kommer att uppmana dig att ange MySQL root-lösenordet. Ange lösenordet som du har angett för MySQL root-användaren tidigare. Den kommer också att be dig att ange ett nytt lösenord för administratörskontot. Du kommer att behöva detta lösenord senare för att logga in på administratörspanelen.

Ladda ner ERPNext-installationsfiler från fjärrförrådet git med hjälp av bänken.

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

Installera ERPNext på din nyskapade webbplats:

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

ERPNext är installerat på din server. Du kan starta applikationen omedelbart för att kontrollera om applikationen har startat framgångsrikt:

bench start

Du bör dock stoppa exekveringen och gå vidare för att ställa in applikationen för produktionsanvändning.

Setup Supervisor och Nginx

Som standard lyssnar ERPNext-applikationen på port 8000, inte på standard HTTP-port 80. Dessutom rekommenderas inte att köra den inbyggda webbservern för produktionsanvändning eftersom vi kommer att exponera servern för världen. Därför bör du använda en produktionswebbserver som omvänd proxy som Apache eller Nginx. I den här handledningen kommer vi att använda Nginx som en omvänd proxy eftersom den kan konfigureras automatiskt med hjälp av Bench. Bench kan automatiskt generera och installera konfigurationen enligt ERPNext-inställningen.

Även om vi kan starta programmet med ovanstående kommando, kommer exekveringen av ERPNext att sluta så snart du stänger terminalen. För att övervinna detta problem rekommenderar jag att du använder Supervisor som är till stor hjälp för att köra applikationen kontinuerligt i en produktionsmiljö. Supervisor är ett processtyrningssystem som gör att du kan övervaka och kontrollera ett antal processer på Linux-operativsystem. När Supervisor är konfigurerad kommer den automatiskt att starta programmet vid uppstart samt vid fel. Bench kan automatiskt konfigurera Supervisor för ERPNext-applikationen.

Installera Supervisor:

sudo yum -y install supervisor

Starta Supervisor och låt den starta automatiskt vid uppstart:

sudo systemctl start supervisord
sudo systemctl enable supervisord

Installationsbänk för produktionsanvändning:

 sudo bench setup production bench

Kommandot ovan kan fråga dig innan du ersätter den befintliga standardkonfigurationsfilen för Supervisor med en ny. Välj yatt fortsätta. Bench lägger till ett antal processer till Supervisor-konfigurationsfilen. Ovanstående kommando kommer också att fråga dig om du vill ersätta den nuvarande Nginx-konfigurationen med en ny. Enter för yatt fortsätta. När Bench har avslutat installationen av konfigurationen, ge andra användare att köra filerna i din hemkatalog för Bench-användare.

chmod o+x /opt/bench/

Om du kör en brandvägg på din server måste du konfigurera brandväggen för att ställa in ett undantag för HTTP-tjänsten. Tillåt Nginx omvänd proxy att ansluta utanför nätverket.

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

Du kan nu komma åt sidan på http://erp.example.com.

Du kan kontrollera status för processerna genom att köra:

sudo supervisorctl status all

Du bör se följande utdata:

[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

För att stoppa alla ERPNext-processer, använd:

sudo supervisorctl stop all

För att starta alla ERPNext-processer, använd:

sudo supervisorctl start all

Konfigurera SSL med Let's Encrypt

Let's Encrypt tillhandahåller gratis SSL-certifikat till användarna. SSL kan installeras manuellt eller automatiskt via Bench. Bench kan automatiskt installera Let's Encrypt-klienten och få certifikaten. Dessutom uppdaterar den automatiskt Nginx-konfigurationen för att använda certifikaten.

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.

Aktivera DNS multi-tenancy för ERPNext-applikationen.

bench config dns_multitenant on

Kör Bench för att ställa in Let's Encrypt på din webbplats:

sudo bench setup lets-encrypt erp.example.com

Under körningen av skriptet kommer Let's Encrypt-klienten att be dig att tillfälligt stoppa Nginx-webbservern. Det kommer automatiskt att installera de nödvändiga paketen och Let's Encrypt-klienten. Klienten kommer att fråga efter din e-postadress. Du måste också acceptera villkoren. När certifikaten har genererats kommer Bench också att generera den nya konfigurationen för Nginx som använder SSL-certifikaten. Du kommer att bli tillfrågad innan du ersätter den befintliga konfigurationen. Bench skapar också en crontabpost för att automatiskt förnya certifikaten varje månad.

Slutligen, aktivera schemaläggaren för att automatiskt köra de schemalagda jobben:

bench enable-scheduler

Du borde se:

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

Avslutar

När processen är klar kan du komma åt din ansökan på https://erp.example.com. Logga in med användarnamnet Administratoroch lösenordet du angav under installationen. Du kommer att tas till skrivbordet där du kommer att behöva tillhandahålla information för att ställa in ERPNext ERP enligt ditt företag. Du kan nu använda applikationen för att hantera ditt företag.

Grattis, du har en fullt fungerande ERPNext-applikation installerad på din CentOS 7-server.

CentOS,Serverappar,Systemadmin,Webservrar

Lämna en kommentar

The Rise of Machines: Real World Applications of AI

The Rise of Machines: Real World Applications of AI

Artificiell intelligens är inte i framtiden, det är här i nuet I den här bloggen Läs hur Artificiell intelligens-applikationer har påverkat olika sektorer.

DDOS-attacker: En kort översikt

DDOS-attacker: En kort översikt

Är du också ett offer för DDOS-attacker och förvirrad över de förebyggande metoderna? Läs den här artikeln för att lösa dina frågor.

Har du någonsin undrat hur hackare tjänar pengar?

Har du någonsin undrat hur hackare tjänar pengar?

Du kanske har hört att hackare tjänar mycket pengar, men har du någonsin undrat hur de tjänar den typen av pengar? låt oss diskutera.

Revolutionerande uppfinningar från Google som gör ditt liv lätt.

Revolutionerande uppfinningar från Google som gör ditt liv lätt.

Vill du se revolutionerande uppfinningar av Google och hur dessa uppfinningar förändrade livet för varje människa idag? Läs sedan till bloggen för att se uppfinningar av Google.

Fredag ​​Essential: Vad hände med AI-drivna bilar?

Fredag ​​Essential: Vad hände med AI-drivna bilar?

Konceptet med att självkörande bilar ska ut på vägarna med hjälp av artificiell intelligens är en dröm vi har ett tag nu. Men trots flera löften finns de ingenstans att se. Läs den här bloggen för att lära dig mer...

Technological Singularity: A Distant Future of Human Civilization?

Technological Singularity: A Distant Future of Human Civilization?

När vetenskapen utvecklas i snabb takt och tar över en hel del av våra ansträngningar, ökar också riskerna för att utsätta oss för en oförklarlig singularitet. Läs, vad singularitet kan betyda för oss.

Funktioner för Big Data Reference Architecture Layers

Funktioner för Big Data Reference Architecture Layers

Läs bloggen för att känna till olika lager i Big Data Architecture och deras funktionaliteter på enklaste sätt.

Utveckling av datalagring – Infographic

Utveckling av datalagring – Infographic

Lagringsmetoderna för data har utvecklats kan vara sedan födelsen av data. Den här bloggen tar upp utvecklingen av datalagring på basis av en infografik.

6 fantastiska fördelar med att ha smarta hemenheter i våra liv

6 fantastiska fördelar med att ha smarta hemenheter i våra liv

I denna digitala värld har smarta hemenheter blivit en avgörande del av livet. Här är några fantastiska fördelar med smarta hemenheter om hur de gör vårt liv värt att leva och enklare.

macOS Catalina 10.15.4 tilläggsuppdatering orsakar fler problem än att lösa

macOS Catalina 10.15.4 tilläggsuppdatering orsakar fler problem än att lösa

Nyligen släppte Apple macOS Catalina 10.15.4, en tilläggsuppdatering för att åtgärda problem, men det verkar som om uppdateringen orsakar fler problem som leder till att mac-datorer blir murade. Läs den här artikeln för att lära dig mer