1.如果当前登录的是root用户,就请新建一个用于安装ERP的sudo用户。由于本人安装系统是创建了非root用户,所以这一步跳过。
adduser [frappe-user]
usermod -aG sudo [frappe-user]

2.更新系统并重启系统,使用root用户。
apt update && apt upgrade -y && shutdown -r now

3.使用步骤1所建好的sudo用户,下载node.js
curl -sL https://deb.nodesource.com/setup_18.x | sudo -E bash –

4.安装操作系统级依赖
sudo apt install -y python3.10-dev python3-setuptools python3-pip python3-distutils python3.10-venv software-properties-common mariadb-server mariadb-client redis-server nodejs xvfb libfontconfig libmysqlclient-dev nginx git ansible pkg-config libcairo2-dev libjpeg-dev libgif-dev librsvg2-dev

5.接下来开始配置MariaDB,用nano编辑my.cnf文件。
sudo nano /etc/mysql/my.cnf
将光标移动到最后空白行,复制以下文本内容,粘贴后注意格式和换行要同下方,ctrl + O,回车确认,ctrl + X返回命令行,保存my.cnf。
[mysqld]
character-set-client-handshake = FALSE
character-set-server = utf8mb4
collation-server = utf8mb4_unicode_ci
[mysql]
default-character-set = utf8mb4

6.重启sql
sudo service mysql restart

7.mysql的安全配置
mysql_secure_installation
第一个输入数据库密码对话框出来的时候,直接敲回车代表没有密码,剩下的按照下面选择:
# 注:运行结果用 …… 代替
Enter current password for root (enter for none): # 输入root(mysql)的密码,初次安装默认没有,直接回车
Switch to unix_socket authentication [Y/n] n # 是否切换到unix套接字身份验证[Y/n]
Change the root password? [Y/n] y #是否设置root用户密码
New password: # 新密码
Re-enter new password: # 再次输入密码
Remove anonymous users? [Y/n] y # 是否删除匿名用户,建议删除
Disallow root login remotely? [Y/n] n # 是否禁止root远程登录,建议不开启
Remove test database and access to it? [Y/n] n # 是否删除test数据库,可以保留
Reload privilege tables now? [Y/n] y # 是否重新加载权限表,也可以直接回车
Thanks for using MariaDB! # 看到这句话证明设置成功

8.安装yarn
sudo npm install -g yarn –registry=https://registry.npmmirror.com –legacy-peer-deps
本人尝试了多次,即使设置了国内的源,使用#yarn config get registry,查看也确实是国内的,但是后续下载还是从国外的默认源下载,所以,最后没有修改registry。

9.查看版本,对照一下,这一步不做也行
node -v && npm -v && python3 -V && pip3 -V && yarn -v

10. 将Python的pip源改成国内源,有助于后面安装frappe时提高速度和成功率
pip config set global.index-url https://mirrors.aliyun.com/pypi/simple/
pip config set install.trusted-host mirrors.aliyun.com

11.安装bench,即erpnext系统的命令行管理工具,类似windows系统的程序管理器
sudo -H pip3 install frappe-bench

12.使用bench命令安装frappe框架,frappe-bench是安装frappe框架的目录名称
bench init –frappe-branch version-15 frappe-bench –frappe-path=https://gitee.com/mirrors/frappe –verbose

13.再将安装的系统用户分配一下执行权限
chmod -R o+rx /home/[frappe-user]/

14.进入bench目录
cd frappe-bench

15.新建站点,名字自己取,取代这里和后续命令行中的{sitename}
bench new-site {sitename}
安装时会提示输入数据库root账号的密码,新站点系统管理员账号administator(后续网页登录frappe时会用到) 密码,其中数据库root账号密码须与上述数据库安装时密码一致

16.设置为生产环境,即用supervisorctl管理所有进程,使用nginx做反向代理。如果安装只是为了做开发,可以跳过这一步。
sudo bench setup production {frappe-user}
sudo apt-get update && sudo apt-get install build-essential libcairo2-dev libpango1.0-dev libjpeg-dev libgif-dev librsvg2-dev

16.下载app
bench get-app –branch version-15 https://gitee.com/qinyanwan/payments
bench get-app –branch version-15 erpnext https://gitee.com/mirrors/erpnext
bench get-app https://gitee.com/qinyanwan/print_designer

17.通过修改redis的配置文件/etc/redis/redis.conf,修改redis-server的端口为11000建议先备份配置文件
sudo cp /etc/redis/redis.conf /etc/redis/redis.conf.bak
用vi 或 nano 编辑redis.conf文件
sudo vi /etc/redis/redis.conf
找到 port 6379,如下图所示,改为11000
保存退出,再重启redis服务
sudo service redis restart
如果使用默认的6379,安装erpnext的时会出错,如下图所示

18.安装app
bench –site {sitename} install-app payments
bench –site {sitename} install-app erpnext
bench –site {sitename} install-app print_designer

19.再设置为生产环境
sudo bench setup production {frappe-user}
如果不运行设置为生产环境,大概率erpnext还没运行起来,网页访问失败,使用bench doctor 显示 workers online:0 ,运行完成,这时网页就可以访问了,同样的,如果没开启生产环境,这一步也可以略过。
#重要:设置成生产环境后,不用执行bench start进行启动!

20.以上完成后查看一下安装了哪些app
bench version

附注:
F1. 安装zerotier并加入
curl -s https://install.zerotier.com | sudo bash
sudo zerotier-cli join 你的network ID

F2. 解决可能存在PDF打印中文显示乱码所需要的工具
wget https://gitee.com/qinyanwan/erpnext/releases/download/v13.29.0/wkhtmltox_0.12.6.1-2.jammy_amd64.deb
sudo dpkg -i wkhtmltox_0.12.6.1-2.jammy_amd64.deb
如果安装提示有缺少依赖的错误,执行下面命令。
sudo apt -f install
现在,我们可以检查wkhtmltopdf 库是否正确安装并确认是否为所需版本:
wkhtmltopdf –version
显示wkhtmltopdf 0.12.6 (with patched qt)即是正确版本

F3. 如导出PDF乱码,需要另外安装字体
sudo apt-get install ttf-wqy-zenhei -y
sudo apt-get install ttf-wqy-microhei -y

备注:
1、注意是否云主机防火墙是否开启访问端口
2、查收目录下的NGINX.conf,查看访问端口是多少

 

关于汉化:

一、先决条件

进入 bench 工作台目录;

1.新安装 1.1、获取对应版本APP

bench get-app https://gitee.com/yuzelin/erpnext_chinese.git

1.2、安装APP(有多个站点且未设默认站点的请加–site参数)

bench install-app erpnext_chinese

升级(之前安装过未拆分前版本的请谨慎更新) 2.1、bench update 命令

bench update –apps erpnext_chinese –pull –reset

2.2 重新编译JS等资源文件

bench build –app erpnext_chinese –force

二、先决条件

进入 bench 工作台目录;

1.新安装 1.1、获取对应版本APP

13 版本 bench get-app https://gitee.com/yuzelin/erpnext_oob.git

14版本 bench get-app –branch version-14 https://gitee.com/yuzelin/erpnext_oob.git

15版本 bench get-app –branch version-15 https://gitee.com/yuzelin/erpnext_oob.git

1.2、安装APP(有多个站点且未设默认站点的请加–site参数)

bench install-app erpnext_oob

bench clear-cache && bench clear-website-cache

sudo supervisorctl restart all 升级 2.1、bench update 命令

bench update –apps erpnext_oob –pull –reset

2.2 重新编译JS等资源文件

bench build –app erpnext_oob –force

2.3 通过本应用中的插件机制向打印格式单据类型中新增两个字段(同步,新安装时不需要这一步,也可运行标准的bench migrate 命令,会对所有app作升级后同步数据库表处理) bench console In [6]: from frappe.utils.fixtures import sync_fixtures

In [7]: sync_fixtures(‘erpnext_oob’)

卸载 3.1 从站点卸载

bench uninstall-app erpnext_oob

3.2 从整个bench环境卸载,移除整个应用目录

bench remove-app erpnext_oob

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。