ERPNext je bezplatný, open source, moderní a snadno použitelný software pro řízení podniku, který používají tisíce společností po celém světě. Jedná se o velmi jednoduchou platformu ERP, která podporuje maloobchod, obchodování, služby, výrobu, lidské zdroje, neziskové a další sektory. Je to výkonný a plně vybavený ERP systém napsaný v Pythonu nad rámec Frappe. Používá Node.js pro frontend a MariaDB k ukládání svých dat. ERPNext poskytuje webové rozhraní pro provádění každodenních úkolů. ERPNext poskytuje vestavěný systém hlášení s integrací kancelářského balíku.
V tomto tutoriálu se naučíme, jak nainstalovat a nakonfigurovat ERPNext na serveru Ubuntu 18.04 LTS.
Požadavky
- Server se systémem Ubuntu 18.04.
- Uživatel bez oprávnění root s právy sudo nastavenými na vašem serveru.
Začínáme
Nejprve budete muset aktualizovat svůj systém na nejnovější verzi. Můžete to udělat spuštěním následujícího příkazu:
sudo apt-get update -y
sudo apt-get upgrade -y
Jakmile bude váš systém aktualizován, budete muset vytvořit uživatele pro ERPNext.
Můžete to udělat pomocí následujícího příkazu:
sudo useradd -m -s /bin/bash erpnext
sudo passwd erpnext
Dále dejte uživateli ERPNext oprávnění sudo pomocí následujícího příkazu:
sudo usermod -aG sudo erpnext
Dále se přihlaste k proměnné prostředí ERPNext uživatele a nastavení pomocí následujícího příkazu:
su - erpnext
nano .bashrc
Přidejte následující řádek:
PATH=$PATH:~/.local/bin/
Po dokončení uložte a zavřete soubor. Poté restartujte systém, abyste použili všechny změny.
Instalovat požadované balíčky
Nejprve se přihlaste do systému pomocí uživatele erpnext a nainstalujte do svého systému některé závislosti požadované ERPNext.
sudo apt-get install libffi-dev python-pip python-dev libssl-dev wkhtmltopdf -y
Dále nainstalujte server Nginx a MariaDB pomocí následujícího příkazu:
sudo apt-get install nginx mariadb-server -y
Po dokončení instalace budete muset provést nějaké změny v souboru 50-server.cnf. Můžete to udělat pomocí následujícího příkazu:
sudo nano /etc/mysql/mariadb.conf.d/50-server.cnf
Proveďte následující změny:
[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
Uložte a zavřete soubor. Poté restartujte službu MariaDB, abyste použili všechny změny:
sudo systemctl restart mariadb
Nyní můžete zkontrolovat stav serveru MariaDB pomocí následujícího příkazu:
sudo systemctl status mariadb
Měli byste vidět následující výstup:
? 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
Instalovat Redis a Node.js
Dále budete muset do systému nainstalovat Redis a Node.js. Můžete je nainstalovat spuštěním následujícího příkazu:
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
Nakonfigurujte MariaDB
Ve výchozím nastavení není instalace MariaDB zabezpečena, takže ji budete muset nejprve zabezpečit. Můžete jej zabezpečit pomocí následujícího příkazu:
sudo mysql_secure_installation
Odpovězte na všechny otázky, jak je uvedeno níže:
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
Jakmile je MariaDB zabezpečená, přihlaste se do prostředí MariaDB pomocí následujícího příkazu:
sudo mysql -u root -p
Po zobrazení výzvy zadejte heslo uživatele root. Poté vytvořte databázi a uživatele pro ERPNext pomocí následujícího příkazu:
MariaDB [(none)]> create database erpnextdb;
MariaDB [(none)]> create user [email protected] identified by 'password';
Dále udělte všechna oprávnění ERPNext pomocí následujícího příkazu:
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;
Dále vyprázdněte oprávnění a ukončete prostředí MariaDB pomocí následujícího příkazu:
MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> EXIT;
Instalovat ERPNext
Nejprve vytvořte adresář pro ERPNext a udělte správná oprávnění pomocí následujícího příkazu:
sudo mkdir -p /opt/erpnext
sudo chown -R erpnext /opt/erpnext/
Dále změňte adresář na erpnext a nainstalujte erpnext pomocí následujícího příkazu:
cd /opt/erpnext
git clone https://github.com/frappe/bench bench-repo
Výstup:
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.
Dále nainstalujte bench pomocí příkazu pip:
sudo pip install -e bench-repo
Dále inicializujte adresář bench pomocí rámce frappe:
bench init erpnext
Výstup:
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
Dále změňte adresář na erpnext a vytvořte nový web pro doménu node1.example.com pomocí následujícího příkazu:
bench new-site node1.example.com
Budete požádáni o zadání hesla root MySQL, jak je uvedeno níže:
MySQL root password:
Zadejte heslo uživatele root a stiskněte klávesu Enter. Měli byste vidět následující výstup:
Installing frappe... Updating DocTypes for frappe : [========================================] Updating country info : [========================================] Set Administrator password: Re-enter Administrator password: *** Scheduler is disabled ***
Dále zadejte správná oprávnění pro erpnext pomocí následujícího příkazu:
sudo chown -R erpnext:erpnext /opt/erpnext/erpnext
Nakonec spusťte server následujícím příkazem:
bench start
Měli byste vidět následující výstup:
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
Přístup k ERPNext
ERPNext je nyní nainstalován a naslouchá na portu 8000. Otevřete webový prohlížeč a zadejte URL http://node1.example.come:8000. Budete přesměrováni na následující stránku:
Nyní zadejte uživatelské jméno jako správce a heslo, které jste zadali při nastavení. Poté klikněte na Podepsat v knoflík. Měli byste vidět následující stránku:
Dále vyberte jazyk a klikněte na Další knoflík. Měli byste vidět následující stránku:
Dále vyberte svou zemi a klikněte na Další knoflík. Měli byste vidět následující stránku:
Dále zadejte své celé jméno a e-mailovou adresu. Poté klikněte na Dokončit Nastavení knoflík. Měli byste vidět následující stránku:
Gratulujeme! úspěšně jste nainstalovali a nakonfigurovali ERPNext na serveru Ubuntu 18.04. Nyní můžete snadno nastavit ERPNext v produkčním prostředí.