Hoe ERPNext Open Source ERP op Ubuntu 17.04 te installeren

ERP of Enterprise Resource Planning is een enterprise-applicatiesuite die wordt gebruikt voor het beheer van kernbedrijfsprocessen. ERPNext is een gratis en open source, zelf gehoste ERP-applicatie geschreven in Python. Het gebruikt Node.js voor de frontend en MariaDB om zijn gegevens op te slaan. ERPNext biedt een gebruiksvriendelijke webinterface waarmee bedrijven dagelijkse taken kunnen beheren. Het bevat modules voor boekhouding, CRM, HRM, productie, POS, projectbeheer, inkoop, verkoopbeheer, magazijnbeheer en meer. ERPNext kan worden gebruikt om verschillende industrieën te beheren, zoals dienstverleners, productie, detailhandel en scholen.

Vereisten

Opmerking: voor deze zelfstudie gebruiken we erp.example.comde domeinnaam die naar de server verwijst. Zorg ervoor dat u alle instanties van vervangt erp.example.comdoor uw daadwerkelijke domeinnaam .

Controleer voordat we beginnen of uw server up-to-date is.

sudo apt update
sudo apt -y upgrade

Installeer ontwikkeltools

ERPNext heeft Python versie 2.7 nodig om te werken. Installeer Python 2.7.

sudo apt -y install python-minimal

Je zou de versie moeten kunnen verifiëren.

python -V

Je ziet de volgende output.

user@vultr:~$ python -V
Python 2.7.13

Installeer nog een paar afhankelijkheden.

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

Installeer de piptool van Python . Pip is de afhankelijkheidsmanager voor Python-pakketten.

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

Zorg ervoor dat u de nieuwste versie van pipen heeft setuptools.

sudo pip install --upgrade pip setuptools

Installeer Ansible met Pip. Ansible automatiseert softwarelevering, configuratiebeheer en applicatie-implementatie.

sudo pip install ansible

Installeer MariaDB Server

Voeg de MariaDB-repository toe aan het systeem.

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'

Installeer MariaDB.

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

Geef een sterk wachtwoord op voor de MariaDB-rootgebruiker wanneer daarom wordt gevraagd.

De Barracuda-opslagengine is vereist voor het maken van ERPNext-databases, dus u moet MariaDB configureren om de Barracuda-opslagengine te gebruiken. Bewerk het standaard MariaDB-configuratiebestand my.cnf.

sudo nano /etc/mysql/my.cnf

Voeg de volgende regels toe onder de [mysqld]regel.

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

Voeg ook de volgende regel toe onder de [mysql]regel.

default-character-set = utf8mb4

Start MariaDB opnieuw en schakel het automatisch in tijdens het opstarten.

sudo systemctl restart mariadb
sudo systemctl enable mariadb

Voordat u de database configureert, moet u MariaDB beveiligen. Je kunt het beveiligen door het mysql_secure_installationscript uit te voeren.

sudo mysql_secure_installation

U wordt gevraagd om het huidige MariaDB-rootwachtwoord. Geef het wachtwoord op dat u tijdens de installatie heeft ingesteld. U wordt gevraagd of u het bestaande wachtwoord van de rootgebruiker van uw MariaDB-server wilt wijzigen. U kunt het instellen van een nieuw wachtwoord overslaan, omdat u tijdens de installatie al een sterk wachtwoord hebt opgegeven. Beantwoord "Y" op alle andere vragen die worden gesteld.

Installeer Nginx, Node.js en Redis

Voeg de Nodesource-repository voor Node.js 8.x toe.

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

Installeer Nginx, Node.js en Redis.

sudo apt -y install nginx nodejs redis-server

Start Nginx en schakel het in tijdens het opstarten.

sudo systemctl start nginx
sudo systemctl enable nginx

Start Redis en schakel het in tijdens het opstarten.

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

Installeer PDF Converter

Het wkhtmltopdfprogramma is een opdrachtregelprogramma dat HTML omzet in PDF met behulp van de QT Webkit-rendering-engine. Installeer de vereiste afhankelijkheden.

sudo apt -y install libxrender1 libxext6 xfonts-75dpi xfonts-base

Download de nieuwste versie van wkhtmltopdf.

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

Pak het archief uit.

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

Met de bovenstaande opdracht wordt het archief uitgepakt /opt/wkhtmltox. Maak een softlink zodat wkhtmltopdfen wkhtmltoimageals opdracht globaal kan worden uitgevoerd.

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

Je kunt nu rennen wkhtmltopdf -Vom te controleren of het werkt, je zult dit zien.

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

Op dit moment hebben we alle vereiste afhankelijkheden geïnstalleerd. U kunt nu doorgaan met het installeren van Bench.

Bench installeren

Benchis een opdrachtregelprogramma dat door Frappe wordt geleverd om de ERPNext-applicatie op een Unix-gebaseerd systeem te installeren en te beheren voor zowel ontwikkelings- als productiedoeleinden. Bench kan ook Nginx- en supervisor-configuraties maken en beheren.

Maak een nieuwe gebruiker aan om Bench-processen in de geïsoleerde omgeving uit te voeren.

sudo adduser bench --home /opt/bench

Geef sudomachtigingen aan de benchgebruiker.

sudo usermod -aG sudo bench

Log in als de nieuw aangemaakte benchgebruiker.

sudo su - bench

Kloon de Bench-repository in /opt/bench.

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

Installeer Bench met pip.

sudo pip install -e bench-repo

Zodra Bench is geïnstalleerd, gaat u verder met het installeren van ERPNext met Bench.

Installeer ERPNext met Bench

Initialiseer een bench-directory waarop het frappe-framework is geïnstalleerd. Om alles netjes te houden, werken we onder de /opt/benchdirectory. Bench zal ook eenmaal per dag regelmatige back-ups en automatische updates instellen.

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

Maak een nieuwe Frappe-site.

bench new-site erp.example.com

De bovenstaande opdracht vraagt ​​u om het MySQL-rootwachtwoord. Geef het wachtwoord op dat u eerder hebt ingesteld voor de MySQL-rootgebruiker. Er wordt ook gevraagd om een ​​nieuw wachtwoord in te stellen voor het beheerdersaccount. U heeft dit wachtwoord later nodig om u aan te melden bij het beheerdersdashboard .

Download ERPNext-installatiebestanden van de externe git-repository met Bench.

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

Installeer ERPNext op uw nieuw gecreëerde site.

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

U kunt de applicatie onmiddellijk starten om te controleren of de applicatie met succes is geïnstalleerd.

bench start

U moet echter de uitvoering stoppen en doorgaan met het instellen van de applicatie voor productiegebruik.

Setup Supervisor en Nginx

Standaard luistert de ERPNext-applicatie op poort 8000, niet op de standaard HTTP-poort 80. Ook wordt het niet aanbevolen om de ingebouwde webserver te gebruiken voor productiegebruik, omdat we de server aan de wereld zullen blootstellen. U moet een productiewebserver gebruiken als een reverse proxy zoals Apache of Nginx. We zullen Nginx gebruiken als een reverse proxy omdat het automatisch kan worden geconfigureerd met Bench. Bench kan de configuratie automatisch genereren en installeren volgens de ERPNext-configuratie.

Hoewel we de applicatie kunnen starten met het 'bench start'-commando, zal de uitvoering van ERPNext stoppen zodra je de terminal sluit. Om dit probleem te verhelpen, moet u Supervisor gebruiken, wat erg handig is bij het continu uitvoeren van de applicatie in een productieomgeving. Supervisor is een procesbesturingssysteem waarmee u een aantal processen op Linux-besturingssystemen kunt bewaken en besturen. Zodra Supervisor is geconfigureerd, wordt de toepassing automatisch gestart tijdens het opstarten en bij storingen. Bench kan Supervisor automatisch configureren voor de ERPNext-applicatie.

Installeer Supervisor.

sudo apt -y install supervisor

Start Supervisor en schakel deze automatisch in tijdens het opstarten.

sudo systemctl start supervisor
sudo systemctl enable supervisor

Opzetbank voor productiegebruik.

 sudo bench setup production bench

De bovenstaande opdracht kan u vragen voordat u het bestaande standaardconfiguratiebestand van Supervisor vervangt door een nieuw. Kies ervoor yom door te gaan. Bench voegt een aantal processen toe aan het Supervisor-configuratiebestand. De bovenstaande opdracht vraagt ​​u ook of u de huidige Nginx-configuratie wilt vervangen door een nieuwe. Ga ynaar binnen om door te gaan. Als Bench klaar is met het installeren van de configuratie, geef dan andere gebruikers om de bestanden in uw homedirectory van de Bench-gebruiker uit te voeren.

chmod o+x /opt/bench/

U heeft nu toegang tot de site op http://erp.example.com.

U kunt de status van de processen controleren door te draaien.

sudo supervisorctl status all

Je zou de volgende output moeten zien.

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

Om alle ERPNext-processen te stoppen.

sudo supervisorctl stop all

Om alle ERPNext-processen te starten.

sudo supervisorctl start all

SSL instellen met Let's Encrypt

Let's Encrypt biedt de gebruikers gratis SSL-certificaten. SSL kan handmatig of automatisch worden geïnstalleerd via Bench. Bench kan de Let's Encrypt-client automatisch installeren en de certificaten verkrijgen. Bovendien wordt de Nginx-configuratie automatisch bijgewerkt om de certificaten te gebruiken.

De domeinnaam die u gebruikt om de certificaten van de Let's Encrypt CA te verkrijgen, moet naar de server worden gericht. De client verifieert de domeinautoriteit voordat de certificaten worden uitgegeven .

Schakel DNS-multi-tenancy in voor de ERPNext-applicatie.

bench config dns_multitenant on

Voer Bench uit om Let's Encrypt op uw site in te stellen.

sudo bench setup lets-encrypt erp.example.com

Tijdens de uitvoering van het script zal de Let's Encrypt-client u vragen de Nginx-webserver tijdelijk te stoppen. Het installeert automatisch de vereiste pakketten en de Let's Encrypt-client. De klant zal u om uw e-mailadres vragen. U moet ook de algemene voorwaarden accepteren. Zodra de certificaten zijn gegenereerd, genereert Bench ook de nieuwe configuratie voor Nginx die de SSL-certificaten gebruikt. U wordt gevraagd voordat u de bestaande configuratie vervangt. Bench maakt ook een crontabinvoer om de certificaten elke maand automatisch te vernieuwen.

Schakel ten slotte de planner in om de geplande taken automatisch uit te voeren.

bench enable-scheduler

Je zou deze output moeten zien.

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

Gevolgtrekking

Zodra het proces is voltooid, hebt u toegang tot uw applicatie op https://erp.example.com. Log in met de gebruikersnaam Administratoren het wachtwoord dat u tijdens de installatie hebt ingesteld. U wordt naar de balie gebracht waar u informatie moet verstrekken om ERPNext ERP in te stellen op basis van uw bedrijf. U kunt de applicatie nu gebruiken om uw bedrijf te beheren.

Gefeliciteerd, je hebt een volledig werkende ERPNext-applicatie geïnstalleerd op je Ubuntu 17.04-server.



Leave a Comment

Kan AI vechten met toenemend aantal ransomware-aanvallen?

Kan AI vechten met toenemend aantal ransomware-aanvallen?

Ransomware-aanvallen nemen toe, maar kan AI helpen het nieuwste computervirus het hoofd te bieden? Is AI het antwoord? Lees hier weten is AI boezem of vloek

ReactOS: is dit de toekomst van Windows?

ReactOS: is dit de toekomst van Windows?

ReactOS, een open source en gratis besturingssysteem is hier met de nieuwste versie. Kan het voldoen aan de behoeften van moderne Windows-gebruikers en Microsoft uitschakelen? Laten we meer te weten komen over deze oude stijl, maar een nieuwere OS-ervaring.

Blijf verbonden via WhatsApp Desktop-app 24 * 7

Blijf verbonden via WhatsApp Desktop-app 24 * 7

WhatsApp heeft eindelijk de Desktop-app voor Mac- en Windows-gebruikers gelanceerd. Nu heb je eenvoudig toegang tot WhatsApp vanuit Windows of Mac. Beschikbaar voor Windows 8+ en Mac OS 10.9+

Hoe AI procesautomatisering naar een hoger niveau kan tillen?

Hoe AI procesautomatisering naar een hoger niveau kan tillen?

Lees dit om te weten hoe kunstmatige intelligentie populair wordt onder de kleinschalige bedrijven en hoe het de kansen vergroot om ze te laten groeien en hun concurrenten voorsprong te geven.

macOS Catalina 10.15.4 Supplement Update veroorzaakt meer problemen dan het oplost

macOS Catalina 10.15.4 Supplement Update veroorzaakt meer problemen dan het oplost

Onlangs heeft Apple macOS Catalina 10.15.4 uitgebracht, een aanvullende update om problemen op te lossen, maar het lijkt erop dat de update meer problemen veroorzaakt die ertoe leiden dat mac-machines worden gemetseld. Lees dit artikel voor meer informatie

13 Commerciële data-extractietools voor big data

13 Commerciële data-extractietools voor big data

13 Commerciële data-extractietools voor big data

Wat is een logboekbestandssysteem en hoe werkt het?

Wat is een logboekbestandssysteem en hoe werkt het?

Onze computer slaat alle gegevens op een georganiseerde manier op, het zogenaamde Journaling-bestandssysteem. Het is een efficiënte methode waarmee de computer bestanden kan zoeken en weergeven zodra u op zoeken drukt.https://wethegeek.com/?p=94116&preview=true

Technologische singulariteit: een verre toekomst van de menselijke beschaving?

Technologische singulariteit: een verre toekomst van de menselijke beschaving?

Naarmate de wetenschap zich snel ontwikkelt en veel van onze inspanningen overneemt, nemen ook de risico's toe om onszelf te onderwerpen aan een onverklaarbare singulariteit. Lees, wat singulariteit voor ons kan betekenen.

Een inzicht in 26 Big Data-analysetechnieken: deel 1

Een inzicht in 26 Big Data-analysetechnieken: deel 1

Een inzicht in 26 Big Data-analysetechnieken: deel 1

De impact van kunstmatige intelligentie in de gezondheidszorg 2021

De impact van kunstmatige intelligentie in de gezondheidszorg 2021

AI in de zorg heeft de afgelopen decennia grote sprongen gemaakt. De toekomst van AI in de gezondheidszorg groeit dus nog steeds met de dag.