ERPNext te installeren op Ubuntu 18.04 LTS

ERPNext is een gratis, open-source, moderne en gemakkelijk te gebruiken bedrijfsbeheersoftware die door duizenden bedrijven over de hele wereld gebruikt wordt. Het is een zeer eenvoudig ERP platform dat ondersteuning biedt voor kleinhandel, handel, diensten, productie, human resources, non-profit en andere sectoren. Het is een krachtig en volledig ERP systeem, geschreven in Python bovenop het Frappe raamwerk. Het gebruikt Node.js voor de front end en MariaDB om zijn gegevens op te slaan. ERPNext biedt een web-gebaseerde interface om dagelijkse taken uit te voeren. ERPNext biedt een ingebed rapportagesysteem met Office suite integratie.

In deze handleiding leren we hoe je ERPNext op een Ubuntu 18.04 LTS server installeert en configureert.

Vereisten

  • Een server met Ubuntu 18.04.
  • Een niet-root gebruiker met sudo privileges ingesteld op je server.

Aan de slag

Eerst moet je je systeem bijwerken met de nieuwste versie. Je kunt dat doen door het volgende commando uit te voeren:

sudo apt-get update -y
 sudo apt-get upgrade -y

Als je systeem bijgewerkt is, moet je een gebruiker aanmaken voor ERPNext.

Je kunt dat doen met het volgende commando:

sudo useradd -m -s /bin/bash erpnext
 sudo passwd erpnext

Geef vervolgens sudo privileges aan de gebruiker ERPNext met het volgende commando:

sudo usermod -aG sudo erpnext

Log vervolgens in op ERPNext gebruiker en stel omgevingsvariabele in met het volgende commando:

su - erpnext
nano .bashrc

Voeg de volgende regel toe:

PATH=$PATH:~/.local/bin/

Sla het bestand op en sluit het, als je klaar bent. Herstart dan je systeem om alle veranderingen toe te passen.

Installeer de benodigde pakketten

Log eerst in op je systeem met de erpnext gebruiker en installeer enkele afhankelijkheden die nodig zijn voor ERPNext op je systeem.

sudo apt-get install libffi-dev python-pip python-dev libssl-dev wkhtmltopdf -y

Installeer vervolgens Nginx en MariaDB server met het volgende commando:

sudo apt-get install nginx mariadb-server -y

Als de installatie voltooid is, moet je enkele veranderingen aanbrengen in 50-server.cnf bestand. Je kunt dat doen met het volgende commando:

sudo nano /etc/mysql/mariadb.conf.d/50-server.cnf

Breng de volgende veranderingen aan:

[mysqld]
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

Sla het bestand op en sluit het. Herstart dan de MariaDB dienst om alle veranderingen toe te passen:

sudo systemctl restart mariadb

Je kunt nu de status van de MariaDB server controleren met het volgende commando:

sudo systemctl status mariadb

Je zou de volgende uitvoer moeten zien:

? mariadb.service - MariaDB 10.1.38 database server
   Loaded: loaded (/lib/systemd/system/mariadb.service; enabled; vendor preset: enabled)
   Active: active (running) since Sat 2019-02-16 06:26:48 UTC; 2h 38min ago
     Docs: man:mysqld(8)
           https://mariadb.com/kb/en/library/systemd/
  Process: 4640 ExecStartPost=/bin/sh -c systemctl unset-environment _WSREP_START_POSITION (code=exited, status=0/SUCCESS)
  Process: 4636 ExecStartPost=/etc/mysql/debian-start (code=exited, status=0/SUCCESS)
  Process: 4505 ExecStartPre=/bin/sh -c [ ! -e /usr/bin/galera_recovery ] && VAR= ||   VAR=`/usr/bin/galera_recovery`; [ $? -eq 0 ]   && systemctl set-
  Process: 4503 ExecStartPre=/bin/sh -c systemctl unset-environment _WSREP_START_POSITION (code=exited, status=0/SUCCESS)
  Process: 4482 ExecStartPre=/usr/bin/install -m 755 -o mysql -g root -d /var/run/mysqld (code=exited, status=0/SUCCESS)
 Main PID: 4607 (mysqld)
   Status: "Taking your SQL requests now..."
    Tasks: 31 (limit: 1111)
   CGroup: /system.slice/mariadb.service
           ??4607 /usr/sbin/mysqld

Aug 16 06:26:47 ubuntu1804 systemd[1]: Starting MariaDB 10.1.38 database server...
Aug 16 06:26:48 ubuntu1804 mysqld[4607]: 2019-02-16  6:26:48 140715015396480 [Note] /usr/sbin/mysqld (mysqld 10.1.38-MariaDB-0ubuntu0.18.04.1) starting
Aug 16 06:26:48 ubuntu1804 systemd[1]: Started MariaDB 10.1.38 database server.
Aug 16 06:26:48 ubuntu1804 /etc/mysql/debian-start[4642]: Upgrading MySQL tables if necessary.
Aug 16 06:26:48 ubuntu1804 /etc/mysql/debian-start[4659]: /usr/bin/mysql_upgrade: the '--basedir' option is always ignored
Aug 16 06:26:48 ubuntu1804 /etc/mysql/debian-start[4659]: Looking for 'mysql' as: /usr/bin/mysql
Aug 16 06:26:48 ubuntu1804 /etc/mysql/debian-start[4659]: Looking for 'mysqlcheck' as: /usr/bin/mysqlcheck
Aug 16 06:26:48 ubuntu1804 /etc/mysql/debian-start[4659]: This installation of MySQL is already upgraded to 10.1.38-MariaDB, use --force if you still n
Aug 16 06:26:48 ubuntu1804 /etc/mysql/debian-start[4677]: Checking for insecure root accounts.
Aug 16 06:26:48 ubuntu1804 /etc/mysql/debian-start[4681]: Triggering myisam-recover for all MyISAM tables and aria-recover for all Aria tables

Installeer Redis en Node.js

Vervolgens moet je Redis en Node.js op je systeem installeren. Je kunt ze installeren door het volgende commando uit te voeren:

sudo curl --silent --location https://deb.nodesource.com/setup_8.x | sudo bash -
 sudo apt-get install gcc g++ make -y
 sudo apt-get install nodejs redis-server -y
 sudo npm install -g yarn

MariaDB configureren

Standaard is de installatie van MariaDB niet beveiligd, dus je zult het eerst moeten beveiligen. Je kunt het beveiligen met het volgende commando:

sudo mysql_secure_installation

Beantwoord alle vragen zoals hieronder aangegeven:

    Enter current password for root (enter for none):
    Set root password? [Y/n]: N
    Remove anonymous users? [Y/n]: Y
    Disallow root login remotely? [Y/n]: Y
    Remove test database and access to it? [Y/n]:  Y
    Reload privilege tables now? [Y/n]:  Y

Zodra MariaDB beveiligd is, log je in op MariaDB shell met het volgende commando:

sudo mysql -u root -p

Voer je root wachtwoord in als daarom gevraagd wordt. Maak dan een database en gebruiker voor ERPNext met het volgende commando:

MariaDB [(none)]> create database erpnextdb;
 MariaDB [(none)]> create user [email protected] identified by 'password';

Verleen vervolgens alle privileges aan de ERPNext met het volgende commando:

MariaDB [(none)]> GRANT ALL ON erpnextdb.* TO 'erpnextuser'@'localhost' IDENTIFIED BY 'password' WITH GRANT OPTION;
 MariaDB [(none)]> GRANT all privileges on *.* to 'root'@'localhost' IDENTIFIED BY '[email protected]' WITH GRANT OPTION;

Spoel vervolgens de privileges door en verlaat de MariaDB shell met het volgende commando:

MariaDB [(none)]> FLUSH PRIVILEGES;
 MariaDB [(none)]> EXIT;

Installeer ERPNext

Maak eerst een directory voor ERPNext en geef de juiste rechten met het volgende commando:

sudo mkdir -p /opt/erpnext
 sudo chown -R erpnext /opt/erpnext/

Verander vervolgens de directory in erpnext en installeer erpnext met het volgende commando:

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

Output:

Cloning into 'bench-repo'...
remote: Enumerating objects: 19, done.
remote: Counting objects: 100% (19/19), done.
remote: Compressing objects: 100% (14/14), done.
remote: Total 6144 (delta 10), reused 13 (delta 5), pack-reused 6125
Receiving objects: 100% (6144/6144), 29.70 MiB | 231.00 KiB/s, done.
Resolving deltas: 100% (3924/3924), done.

Installeer vervolgens bench met pip commando:

sudo pip install -e bench-repo

Initialiseer vervolgens de bench directory met frappe framework:

bench init erpnext

Output:

Building frappe assets...

? Built js/print_format_v3.min.js
? Built js/dialog.min.js
? Built js/web_form.min.js
? Built js/social.min.js
? Built js/modules.min.js
? Built js/form.min.js
? Built js/list.min.js
? Built js/frappe-vue.min.js
? Built js/chat.js
? Built js/desk.min.js
? Built js/control.min.js
? Built css/frappe-rtl.css
? Built css/module.min.css
? Built css/report.min.css
? Built css/form.min.css
? Built css/list.min.css
? Built frappe/css/email.css
? Built css/web_form.css
? Built css/frappe-web.css
? Built css/desk.min.css
? Built js/frappe-web.min.js
? Built js/report.min.js
?  Done in 31.313s
Done in 34.43s.
INFO:bench.utils:setting up backups
no crontab for erpnext
INFO:bench.utils:setting up auto update
no crontab for erpnext
Bench erpnext initialized

Verander vervolgens de directory in erpnext en maak een nieuwe site voor het domein node1.example.com met het volgende commando:

bench new-site node1.example.com

Je wordt gevraagd je MySQL root wachtwoord op te geven zoals hieronder:

MySQL root password:

Geef je root wachtwoord en druk op Enter. Je zou de volgende uitvoer moeten zien:

Installing frappe...
Updating DocTypes for frappe        : [========================================]
Updating country info               : [========================================]
Set Administrator password: 
Re-enter Administrator password: 
*** Scheduler is disabled ***

Geef vervolgens de juiste permissies aan het erpnext met het volgende commando:

sudo chown -R erpnext:erpnext /opt/erpnext/erpnext

Start tenslotte de server met het volgende commando:

bench start

Je zou de volgende uitvoer moeten zien:

06:34:02 web.1            |  * Running on http://0.0.0.0:8000/ (Press CTRL+C to quit)
06:34:02 web.1            |  * Restarting with inotify reloader
06:34:03 watch.1          | yarn run v1.13.0
06:34:03 watch.1          | $ node rollup/watch.js
06:34:03 web.1            |  * Debugger is active!
06:34:04 web.1            |  * Debugger PIN: 159-307-235
06:34:13 watch.1          | 
06:34:13 watch.1          | Rollup Watcher Started
06:34:13 watch.1          | 
06:34:13 watch.1          | Watching...
06:34:15 watch.1          | Rebuilding frappe-web.css

Toegang tot ERPNext

ERPNext is nu geïnstalleerd en luistert op poort 8000. Open je webbrowser en typ de URL http://node1.example.come:8000. Je wordt doorverwezen naar de volgende pagina:

ERPNext Inloggen

Geef nu de gebruikersnaam op als Administrator en het wachtwoord dat je bij de installatie hebt opgegeven. Klik dan op de knop Sign in. Je zou de volgende pagina moeten zien:

Kies Taal

Kies vervolgens je taal en klik op de knop Volgende. Je zou de volgende pagina moeten zien:

Bedrijfsnaam instellen

Kies nu je land en klik op de volgende knop. Je zou de volgende pagina moeten zien:

Voeg een eerste gebruiker toe

Geef vervolgens je volledige naam en e-mail adres op. Klik dan op de knop Complete Setup. Je zou de volgende pagina moeten zien:

ERPNext Dashboard

Gefeliciteerd! Je hebt ERPNext met succes geïnstalleerd en geconfigureerd in Ubuntu 18.04 server. Je kunt nu eenvoudig ERPNext in een productie omgeving instellen.