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.


Installera Plesk på CentOS 7

Installera Plesk på CentOS 7

Använder du ett annat system? Plesk är en egen kontrollpanel för webbhotell som tillåter användare att administrera sina personliga och/eller klienters webbplatser, databaser

Hur man installerar Squid Proxy på CentOS

Hur man installerar Squid Proxy på CentOS

Squid är ett populärt, gratis Linux-program som låter dig skapa en webbproxy för vidarebefordran. I den här guiden ser du hur du installerar Squid på CentOS för att förvandla dig

Hur man installerar Lighttpd (LLMP Stack) på CentOS 6

Hur man installerar Lighttpd (LLMP Stack) på CentOS 6

Inledning Lighttpd är en apachegaffel som syftar till att vara mycket mindre resurskrävande. Den är lätt, därav namnet, och är ganska enkel att använda. Installera

Konfigurera statiskt nätverk och IPv6 på CentOS 7

Konfigurera statiskt nätverk och IPv6 på CentOS 7

VULTR har nyligen gjort ändringar på deras sida, och allt borde nu fungera bra direkt när NetworkManager är aktiverat. Om du vill inaktivera

Ändra Icinga2 för att använda Master/Client Model på CentOS 6 eller CentOS 7

Ändra Icinga2 för att använda Master/Client Model på CentOS 6 eller CentOS 7

Icinga2 är ett kraftfullt övervakningssystem, och när det används i en master-klient-modell kan det ersätta behovet av NRPE-baserade övervakningskontroller. Master-klienten

Hur man installerar Apache Cassandra 3.11.x på CentOS 7

Hur man installerar Apache Cassandra 3.11.x på CentOS 7

Använder du ett annat system? Apache Cassandra är ett gratis NoSQL-databashanteringssystem med öppen källkod som är designat för att ge skalbarhet, hög

Hur man installerar Microweber på CentOS 7

Hur man installerar Microweber på CentOS 7

Använder du ett annat system? Microweber är en öppen källkod för dra och släpp CMS och onlinebutik. Microweber källkod finns på GitHub. Denna guide kommer att visa dig

Hur man installerar Vanilla Forum på CentOS 7

Hur man installerar Vanilla Forum på CentOS 7

Använder du ett annat system? Vanilla forum är en open source forumapplikation skriven i PHP. Det är en helt anpassningsbar, enkel att använda och stöder externa

Hur man installerar Mattermost 4.1 på CentOS 7

Hur man installerar Mattermost 4.1 på CentOS 7

Använder du ett annat system? Mattermost är ett alternativ med öppen källkod, självvärd till meddelandetjänsten Slack SAAS. Med andra ord, med Mattermost, du ca

Skapa ett nätverk av Minecraft-servrar med BungeeCord på Debian 8, Debian 9 eller CentOS 7

Skapa ett nätverk av Minecraft-servrar med BungeeCord på Debian 8, Debian 9 eller CentOS 7

Vad du behöver En Vultr VPS med minst 1 GB RAM. SSH-åtkomst (med root-/administrativa privilegier). Steg 1: Installera BungeeCord Först till kvarn

Låt oss kryptera på Plesk

Låt oss kryptera på Plesk

Plesks kontrollpanel har en mycket trevlig integration för Lets Encrypt. Lets Encrypt är en av de enda SSL-leverantörerna som ger ut certifikat fullständigt

Låter kryptera på cPanel

Låter kryptera på cPanel

Lets Encrypt är en certifikatmyndighet dedikerad till att tillhandahålla SSL-certifikat gratis. cPanel har byggt en snygg integration så att du och din klient

Hur man installerar Concrete5 på CentOS 7

Hur man installerar Concrete5 på CentOS 7

Använder du ett annat system? Concrete5 är ett CMS med öppen källkod som erbjuder många distinkta och användbara funktioner för att hjälpa redaktörer att producera innehåll enkelt och

Hur man installerar Review Board på CentOS 7

Hur man installerar Review Board på CentOS 7

Använder du ett annat system? Review Board är ett gratis och öppen källkodsverktyg för att granska källkod, dokumentation, bilder och många fler. Det är webbaserad mjukvara

Ställ in HTTP-autentisering med Nginx på CentOS 7

Ställ in HTTP-autentisering med Nginx på CentOS 7

I den här guiden lär du dig hur du ställer in HTTP-autentisering för en Nginx-webbserver som körs på CentOS 7. Krav För att komma igång behöver du

Hur man installerar YOURLS på CentOS 7

Hur man installerar YOURLS på CentOS 7

YOURLS (Your Own URL Shortener) är ett webbadressförkortnings- och dataanalysprogram med öppen källkod. I den här artikeln kommer vi att täcka installationsprocessen

Hur man installerar och konfigurerar ArangoDB på CentOS 7

Hur man installerar och konfigurerar ArangoDB på CentOS 7

Använder du ett annat system? Inledning ArangoDB är en NoSQL-databas med öppen källkod med en flexibel datamodell för dokument, grafer och nyckel-värden. Det är

Använda Etckeeper för versionskontroll av /etc

Använda Etckeeper för versionskontroll av /etc

Inledning Katalogen /etc/ spelar en avgörande roll för hur ett Linux-system fungerar. Anledningen till detta är att nästan varje systemkonfiguration

Varför ska du använda SSHFS? Hur man monterar ett fjärrfilsystem med SSHFS på CentOS 6

Varför ska du använda SSHFS? Hur man monterar ett fjärrfilsystem med SSHFS på CentOS 6

Många systemadministratörer hanterar stora mängder servrar. När filer behöver nås över olika servrar, logga in på var och en individuellt ca

Konfigurera en Half Life 2-server på CentOS 6

Konfigurera en Half Life 2-server på CentOS 6

Denna handledning kommer att täcka processen att installera en Half Life 2-spelserver på CentOS 6 System. Steg 1: Installera förutsättningarna För att ställa in ou

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.

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.

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.

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