在Debian 10(Buster)上安装ERPNext ERP系统

时间:2020-02-23 14:32:57  来源:igfitidea点击:

今天,我们将讨论如何在Debian 10(Buster)Linux系统上安装ERPNext ERP系统。
Erpnext是一种在Frappe框架中编写的开源ERP系统。
ERPNEXT ERP系统为中小企业提供了突出的功能。
其中一些关键特征是:库存管理层管理管理管理管理制造管理客户关系管理系统管理商品管理人员资源管理系统等等。

在Debian 10(Buster)中安装ERPNext

让我们通过确保我们的系统更新,启动ERPNext安装:

sudo apt update
sudo apt -y upgrade

每当我们升级时,建议重新启动系统:

sudo reboot

第1步:安装Python Tools&wkhtmltopdf

通过确保安装构建和安装erpnext所需的所有Python构建软件包来启动安装过程:

sudo apt -y install git vim libffi-dev python-pip python3-distutils python-dev libssl-dev wkhtmltopdf

第2步:安装redis和node.js

在Debian 10(Buster)上运行Erpnext需要NodeJS。

sudo apt -y install nodejs npm redis-server
sudo npm install -g yarn

第3步:安装nginx Web服务器和MariaDB数据库服务器

下一步是Nginx和MariaDB,用于分别提供ERPNext和存储数据库数据。

安装nginx使用:

sudo apt -y install nginx

在Debian上安装MariaDB服务器,请按照教程:

在Debian 10上安装MariaDB(Buster)

确保我们提供的以下设置为MySQLD和MySQL客户端:

$sudo nano /etc/mysql/my.cnf
[mysqld]
character-set-client-handshake = FALSE
character-set-server = utf8mb4
collation-server = utf8mb4_unicode_ci
[mysql]
default-character-set = utf8mb4

安装MariaDB数据库服务器后,我们应该为ERPNext用户创建数据库。

sudo systemctl restart mariadb

登录并创建MySQL数据库

$mysql -u root -p

创建数据库并授予用户所有权限以管理数据库。

CREATE USER Hyman@theitroad IDENTIFIED BY 'password123';
CREATE DATABASE erpnext;
GRANT ALL ON erpnext.* TO 'erpnext'@'localhost' with grant option;
FLUSH PRIVILEGES;
QUIT;

第4步:安装替补和erpnext

替补是用于在Debian系统上安装和管理ERPNext的工具。
我们将创建一个运行ERPNext系统的用户,然后配置系统。

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

更新路径。

$sudo su - erpnext
$vim ~/.bashrc
PATH=$PATH:~/.local/bin/

为ERPNext设置创建一个目录并给出 erpnext用户读取和写入该目录的权限:

sudo mkdir /srv/bench
sudo chown -R erpnext /srv/bench

下一个切换到erpnext用户并安装应用程序:

sudo su - erpnext
cd /srv/bench

从GitHub使用的克隆台代码 git

$git clone https://github.com/frappe/bench bench-repo
Cloning into 'bench-repo'...
remote: Counting objects: 5832, done.
remote: Compressing objects: 100% (43/43), done.
remote: Total 5832 (delta 20), reused 20 (delta 6), pack-reused 5783
Receiving objects: 100% (5832/5832), 29.61 MiB | 17.62 MiB/s, done.
Resolving deltas: 100% (3720/3720), done.

现在使用pip命令安装台式:

sudo pip install -e bench-repo

下一步是使用安装FRAPPE框架初始化BENCH目录:

cd /srv/bench
bench init erpnext
cd erpnext

示例输出是:

...
Done in 71.43s.
INFO:bench.utils:bench build
yarn run v1.21.1
$FRAPPE_ENV=production node rollup/build.js
Production mode
✔ Built js/moment-bundle.min.js
✔ Built js/libs.min.js
Building frappe assets...
✔ Built js/checkout.min.js
✔ Built js/dialog.min.js
✔ Built js/modules.min.js
✔ Built js/social.min.js
✔ Built js/web_form.min.js
✔ Built js/list.min.js
✔ Built js/chat.js
✔ Built css/frappe-rtl.css
✔ Built css/printview.css
✔ Built css/module.min.css
✔ Built css/form.min.css
✔ Built css/list.min.css
✔ Built css/report.min.css
✔ Built frappe/css/email.css
✔ Built js/desk.min.js
✔ Built js/barcode_scanner.min.js
✔ Built css/frappe-chat-web.css
✔ Built css/web_form.css
✔ Built css/desk.min.css
✔ Built js/frappe-recorder.min.js
✔ Built css/frappe-web-b4.css
✔ Built js/frappe-web.min.js
✔ Built js/bootstrap-4-web.min.js
✔ Built js/control.min.js
✔ Built js/form.min.js
✔ Built js/data_import_tools.min.js
✔ Built js/report.min.js
✨  Done in 90.204s
Done in 91.96s.
INFO:bench.utils:setting up backups
no crontab for erpnext
INFO:bench.utils:setting up auto update
no crontab for erpnext
Bench erpnext initialized

创建一个新的frappe。

$cd /srv/bench/erpnext
$bench new-site erp.theitroad.com 
MySQL root password: 
Installing frappe...
Updating DocTypes for frappe        : [========================================]
Updating country info               : [========================================]
Set Administrator password: <input-admin-pass>
Re-enter Administrator password: <confirm-admin-pass>
*** Scheduler is disabled ***

上面的命令将要求我们提供MySQL root密码,并为Web界面设置管理员帐户的新密码。
等待在继续之前要创建的新FRAPP站点。

第5步:启动ERPNext应用程序和访问UI

部署应用程序后,我们可以使用命令启动它:

$bench start

程序运行时,我们应该得到:

12:49:02 redis_queue.1    | 30491:M 18 May 12:49:02.630 * Ready to accept connections
12:49:03 socketio.1       | listening on *: 9000
12:49:08 web.1            |  * Running on http://0.0.0.0:8000/(Press CTRL+C to quit)
12:49:09 web.1            |  * Restarting with inotify reloader
12:49:09 watch.1          | yarn run v1.7.0
12:49:09 watch.1          | $node rollup/watch.js
12:49:09 web.1            |  * Debugger is active!
12:49:09 web.1            |  * Debugger PIN: 849-623-753
12:49:10 watch.1          | 
12:49:10 watch.1          | Rollup Watcher Started
12:49:10 watch.1          |

从输出中,我们可以在http://0.0.0.0:8000/上确认服务正在运行。
要访问Web界面,请打开服务器IP地址和端口http://ip-address:8000。

这不是建议在生产中运行ERPNext的方式。
相反,我们将安装Supervisor并配置nginx:

第6步:配置nginx和supervisord

安装主管:

sudo apt -y install supervisor

运行生产配置脚本:

$sudo bench setup production erpnext
supervisor.conf already exists and this will overwrite it. Do you want to continue? [y/N]: y
Port configuration list:
Site erp.theitroad.com assigned port: 80
nginx.conf already exists and this will overwrite it. Do you want to continue? [y/N]: y
INFO:bench.utils:sudo /usr/bin/supervisorctl reread
No config updates to processes
INFO:bench.utils:sudo /usr/bin/supervisorctl update
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
INFO:bench.utils:sudo systemctl reload nginx

生成的nginx文件位于:/etc/nginx/conf.d/erpnext.conf和supervisor配置文件是/etc/supervisor/conf.d/erpnext.conf。

打开配置为登录//erp.theitroad.com的应用程序域

我们应该获取页面登录。
使用用户名管理员以及在安装期间提供的密码。

选择我们选择的语言,然后单击"下一步"。
下一个选择国家/地区,它将自动填充货币。

使用电子邮件和密码添加第一个用户,然后单击"完整设置"按钮。

完成后,我们应该到达Erpnext Web仪表板。