Hur man installerar ERPNext Open Source ERP på Ubuntu 17.04

ERP eller Enterprise Resource Planning är en företagsapplikationssvit som används för att hantera kärnverksamhetens processer. ERPNext är en fri 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 dagliga uppgifter. 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.

Förutsättningar

Obs: För denna handledning 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 .

Innan vi börjar, se till att din server är uppdaterad.

sudo apt update
sudo apt -y upgrade

Installera utvecklingsverktyg

ERPNext behöver Python version 2.7 för att fungera. Installera Python 2.7.

sudo apt -y install python-minimal

Du bör kunna verifiera dess version.

python -V

Du kommer att se följande utdata.

user@vultr:~$ python -V
Python 2.7.13

Installera några fler beroenden.

sudo apt -y install git build-essential python-setuptools python-dev libffi-dev libssl-dev

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

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

Se till att du har den senaste versionen av pipoch setuptools.

sudo pip install --upgrade pip setuptools

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

sudo pip install ansible

Installera MariaDB Server

Lägg till MariaDB-förvaret i systemet.

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'

Installera MariaDB.

sudo apt update
sudo apt -y install mariadb-server libmysqlclient-dev

Ange ett starkt lösenord för MariaDB root-användaren när du blir tillfrågad.

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

sudo nano /etc/mysql/my.cnf

Lägg till följande rader under [mysqld]raden.

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

Lägg också till följande rad under [mysql]raden.

default-character-set = utf8mb4

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

sudo systemctl restart mariadb
sudo systemctl enable mariadb

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

sudo mysql_secure_installation

Du kommer att bli ombedd att ange det aktuella MariaDB root-lösenordet. Ange lösenordet du har angett under installationen. Du kommer att bli tillfrågad om du vill ändra det befintliga lösenordet för rotanvändaren på din MariaDB-server. Du kan hoppa över att ställa in ett nytt lösenord, eftersom du redan har angett ett starkt lösenord under installationen. Svara "Y" på alla andra frågor som ställs.

Installera Nginx, Node.js och Redis

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

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

Installera Nginx, Node.js och Redis.

sudo apt -y install nginx nodejs redis-server

Starta Nginx och låt den starta vid uppstart.

sudo systemctl start nginx
sudo systemctl enable nginx

Starta Redis och låt den starta vid uppstart.

sudo systemctl start redis-server
sudo systemctl enable redis-server

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 apt -y install libxrender1 libxext6 xfonts-75dpi xfonts-base

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.

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 för wkhtmltopdf -Vatt kontrollera om det fungerar, du kommer att se detta.

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 supervisorkonfigurationer.

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

sudo adduser bench --home /opt/bench

Ge användaren sudobehörigheter bench.

sudo usermod -aG sudo 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/benchkatalogen. 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 Bench.

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

Installera ERPNext på din nyskapade webbplats.

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

Du kan starta programmet omedelbart för att kontrollera om programmet har installerats 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 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. Du bör använda en produktionswebbserver som en omvänd proxy som Apache eller Nginx. Vi kommer 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 applikationen med kommandot 'bänkstart', kommer exekveringen av ERPNext att stoppas så snart du stänger terminalen. För att lösa det här problemet bör du använda 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 apt -y install supervisor

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

sudo systemctl start supervisor
sudo systemctl enable supervisor

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 i 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ändaren.

chmod o+x /opt/bench/

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:~/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

För att stoppa alla ERPNext-processer.

sudo supervisorctl stop all

För att starta alla ERPNext-processer.

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.

Domännamnet som du använder för att erhålla certifikaten från Let's Encrypt CA måste peka mot servern. Klienten verifierar domänmyndigheten innan certifikaten utfärdas .

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

bench config dns_multitenant on

Kör Bench för att konfigurera 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. Den kommer automatiskt att installera de nödvändiga paketen och Let's Encrypt-klienten. Klienten kommer att uppmana dig att ange 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 bör se denna utdata.

bench@vultr:~/erpnext$ bench enable-scheduler
Enabled for erp.example.com

Slutsats

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 Ubuntu 17.04-server.


Skapa en Jekyll-blogg på Ubuntu 16.04

Skapa en Jekyll-blogg på Ubuntu 16.04

Använder du ett annat system? Jekyll är ett bra alternativ till WordPress för att blogga eller dela innehåll. Det kräver inga databaser och det är väldigt enkelt i

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 Memcached på Ubuntu 14.04

Hur man installerar Memcached på Ubuntu 14.04

Memcached är ett högpresterande databassystem som kan hjälpa dig att ladda din applikation. Det är väldigt snabbt eftersom det inte skriver till disken, utan istället t

Installera InfluxDB på Ubuntu 14

Installera InfluxDB på Ubuntu 14

Inledning InfluxDB är en öppen källkod, distribuerad, tidsseriedatabas utan externa beroenden. Ja, du läser paragrafen för inga externa beroenden

Installera Fail2ban Ubuntu x64

Installera Fail2ban Ubuntu x64

Fail2ban är ett program som övervakar inloggningsaktivitet på din server och blockerar stötande IP-adresser. Som standard blockerar den IP-adresser i 10 minuter

Konfigurera Red5 Media Server på Ubuntu 16.04

Konfigurera Red5 Media Server på Ubuntu 16.04

Använder du ett annat system? Red5 är en mediaserver med öppen källkod implementerad i Java som låter dig köra Flash fleranvändarapplikationer som livestreamin

Hur man installerar Vanilla Forum på Ubuntu 16.04

Hur man installerar Vanilla Forum på Ubuntu 16.04

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 Kanboard på Ubuntu 18.04 LTS

Hur man installerar Kanboard på Ubuntu 18.04 LTS

Använder du ett annat system? Introduktion Kanboard är ett gratis och öppen källkodsprogram för projektledningsprogram som är utformat för att underlätta och visualisera

Hur man installerar Kanboard på Debian 9

Hur man installerar Kanboard på Debian 9

Använder du ett annat system? Introduktion Kanboard är ett gratis och öppen källkodsprogram för projektledningsprogram som är utformat för att underlätta och visualisera

Hur man installerar Tiny Tiny RSS Reader på en FreeBSD 11 FAMP VPS

Hur man installerar Tiny Tiny RSS Reader på en FreeBSD 11 FAMP VPS

Använder du ett annat system? Tiny Tiny RSS Reader är en gratis och öppen källkod, webbaserat nyhetsflöde (RSS/Atom) läsare och aggregator, utformad för att

Hur man installerar Gitea på Debian 9

Hur man installerar Gitea på Debian 9

Använder du ett annat system? Gitea är ett alternativt versionskontrollsystem med öppen källkod som drivs av Git. Gitea är skriven på Golang och är

Hur man installerar Wiki.js på FreeBSD 11

Hur man installerar Wiki.js på FreeBSD 11

Använder du ett annat system? Wiki.js är en gratis och öppen källkod, modern wiki-app byggd på Node.js, MongoDB, Git och Markdown. Wiki.js källkod är offentlig

Hur man installerar Gitea på Ubuntu 18.04

Hur man installerar Gitea på Ubuntu 18.04

Använder du ett annat system? Gitea är ett alternativt versionskontrollsystem med öppen källkod som drivs av git. Gitea är skriven på Golang och är

Hur man installerar Thelia 2.3 på Debian 9

Hur man installerar Thelia 2.3 på Debian 9

Använder du ett annat system? Thelia är ett verktyg med öppen källkod för att skapa e-handelswebbplatser och hantera onlineinnehåll skrivet i PHP. Thelia källkod i

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

Installera Microweber på Ubuntu 16.04

Installera Microweber på Ubuntu 16.04

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 MODX Revolution på en Ubuntu 16.04 LAMP VPS

Hur man installerar MODX Revolution på en Ubuntu 16.04 LAMP VPS

Använder du ett annat system? MODX Revolution är ett snabbt, flexibelt, skalbart, gratis och öppen källkod, företagsklassat Content Management System (CMS) skrivet i

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

Hur man installerar dotCMS på Ubuntu 16.04

Hur man installerar dotCMS på Ubuntu 16.04

Använder du ett annat system? DotCMS är ett open-source, företagsklassat innehållshanteringssystem skrivet i Java. Den innehåller nästan alla funktioner som krävs

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