一、安装基础环境

  1. 腾讯云服务器Ubuntu系统root账户设置密码

step 1 :

sudo passwd root

使用sudo命令为root用户添加新密码

step 2 :

sudo vi /etc/ssh/sshd_config

编辑sshd_config文件

step 3 :

port 22

开放22端口,ssh连接需要22端口,去掉前面的#即可

step 4 :

PermitRootLogin yesPasswordAuthentication yes

允许root账户登录

step 5:

sudo service ssh restart

重启ssh服务

  1. 设置账户

su - root

切换到root账户

adduser frappe

新建一个新的ERP系统用户,用户名可以自定义,本案使用frappe作为非root用户

usermod -aG sudo frappe

将新建的用户添加到sudo组

apt update && apt upgrade -y && shutdown -r now

更新并重启
重启后用新建的用户登录

  1. 下载node.js

curl -sL https://deb.nodesource.com/setup_16.x | sudo -E bash -

安装程序运行所需的依赖

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 wkhtmltopdf libmysqlclient-dev nginx cron vim git ttf-wqy-zenhei ttf-wqy-microhei

依赖较多,耐心安装。

  1. 用vi修改my.cnf文件

sudo vi /etc/mysql/my.cnf

my.cnf文件修改MySQL信息,添加如下信息

[mysqld]character-set-client-handshake=FALSEcharacter-set-server=utf8mb4collation-server=utf8mb4_unicode_ci[mysql]default-character-set=utf8mb4
  1. 重启MySQL

sudo service mysql restart
  1. MySQL安全配置

sudo mysql_secure_installation

进入MySQL安全配置

Enter current password for root (enter for none):

输入root(mysql)的密码,初次安装默认没有,直接回车

Switch to unix_socket authentication [Y/n]N

是否切换到unix套接字身份验证: N

Change the root password? [Y/n]Y

是否设置root用户密码: Y

New password:

新密码:

Re-enter new password:

再次输入密码:

Remove anonymous users? [Y/n]Y

是否删除匿名用户,建议删除: Y

Disallow root login remotely? [Y/n]N

是否禁止root远程登录,建议不开启: N

Remove test database and access to it? [Y/n]N

是否删除test数据库,可以保留: N

Reload privilege tables now? [Y/n]Y

是否重新加载权限表,也可以直接回车: Y

  1. 安装yarn,并切换国内源

sudo npm install -g yarn

安装yarn,前提是依赖安装完全正确,此步骤问题较多,需要谨慎

yarn configgetregistry

查看是否为官方源,返回 https://registry.yarnpkg.com 表明为官方源,需要切换为国内源,以下为切换国内源代码

yarn config set registry https://registry.npmmirror.com/ --global&& \yarn config set disturl https://npmmirror.com/package/dist --global && \yarn config set sass_binary_site https://cdn.npmmirror.com/binaries/node-sass --global&& \yarn config set electron_mirror https://registry.npmmirror.com/binary.html?path=electron/ --global&& \yarn config set puppeteer_download_host https://registry.npmmirror.com/binary.html --global&& \yarn config set chromedriver_cdnurl https://cdn.npmmirror.com/binaries/chromedriver --global&& \yarn config set operadriver_cdnurl https://cdn.npmmirror.com/binaries/operadriver --global&& \yarn config set phantomjs_cdnurl https://cdn.npmmirror.com/binaries/phantomjs --global&& \yarn config set selenium_cdnurl https://cdn.npmmirror.com/binaries/selenium --global&& \yarn config set node_inspector_cdnurl https://cdn.npmmirror.com/binaries/node-inspector --globalnpm set registry https://registry.npmmirror.com/ && \npm set disturl https://npmmirror.com/package/dist && \npm set sass_binary_site https://cdn.npmmirror.com/binaries/node-sass && \npm set electron_mirror https://registry.npmmirror.com/binary.html?path=electron/ && \npm set puppeteer_download_host https://registry.npmmirror.com/binary.html && \npm set chromedriver_cdnurl https://cdn.npmmirror.com/binaries/chromedriver && \npm set operadriver_cdnurl https://cdn.npmmirror.com/binaries/operadriver && \npm set phantomjs_cdnurl https://cdn.npmmirror.com/binaries/phantomjs && \npm set selenium_cdnurl https://cdn.npmmirror.com/binaries/selenium && \npm set node_inspector_cdnurl https://cdn.npmmirror.com/binaries/node-inspector

npm 版本在 7.0.0 以上则不需要清除缓存

  1. 更改pip镜像源

pip install -i https://pypi.tuna.tsinghua.edu.cn/simple --upgrade pip

升级pip到最新版本(>10.0.0)后进行配置

pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
  1. 更改root账户镜像源

sudo pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple

root用户可更新,可不更新

  1. 基础环境安装完成

node -v && npm -v && python3 -V && pip3 -V && yarn -v

查看基础环境版本

二、安装bench

sudo -H pip3 install frappe-bench

安装bench

WARNING: Running pip as the ‘root’ user can result in broken……
此警告可忽略

bench --version

查看bench版本

三、安装frappe框架

bench init --frappe-branch version-14 frappe-bench --frappe-path=https://gitee.com/mirrors/frappe

此步骤关键中的关键,很容易报错。

如果出现网络问题加载不上,用官方工具回滚,或者参考下面的命令,删除相关文件夹

rm -r frappe-bench

SUCCESS: Bench frappe-bench initialized
出现warn不要慌,正常现象,当提示success时,说明安装完全成功

四、安装新站点

sudo chmod -R o+rx /home/frappe/

安装的系统用户分配权限

cd frappe-bench

进入bench目录

bench new-site demo

名字可以随意改,不一定叫demo
需要输入mariadb密码
安装结束后,需要设置administrator的密码

Updating Dashboard for frappe
demo: SystemSettings.enable_scheduler is UNSET
*** Scheduler is disabled ***
出现以上提示,说明站点创建完成

五、下载&安装App

  1. 下载App

bench get-app https://gitee.com/phipsoft/payments

下载payment,node报WARN可以忽略,报ERROR说明真的出错了

bench get-app --branch version-14 erpnext https://gitee.com/mirrors/erpnext

下载erpnext,同理,报WARN可忽略,大约需要3分钟,不要慌,就是等

bench get-app https://gitee.com/qpchen888/hrms

下载hrms

  1. 安装App

bench --site demo install-app payments

demo换成自定义的站点名称,安装payments,下面同理

bench --site demo install-app erpnext

MOST IMPORTANT
下面是重点中的重点

在安装hrms前,先启动bench,并在bench启动后,新建终端窗口,用安装用户登录,进入frappe-bench目录安装hrms,命令如下:

bench start

启动bench

cd frappe-bench

在新窗口中进入frappe-bench目录

bench --site demo install-app hrms

在新窗口中安装hrms

六、设置为生产环境

Ctrl+C

在前面运行bench的窗口按Ctrl+C,结束bench运行,结束后才能设置生产环境

sudo bench setup production frappe

需要输入frappe账户密码
安装完后,先查看下bench的活动workers

bench doctor

Please make sure that Redis Queue runs @ redis://localhost:11000
出现这个,说明生产环境配置出现问题,重新配置即可
重新配置,运行上面的命令,出现覆盖提示,全部填y

—–Checking scheduler status—–
demo: SystemSettings.enable_scheduler is UNSET
Scheduler disabled for demo
demo: SystemSettings.enable_scheduler is UNSET
Scheduler inactive for demo
Workers online: 3
—–None Jobs—–
出现上面的提示,说明生产环境设置正确

sudo vi /etc/supervisor/supervisord.conf

用supervisorctl管理所有进程,使用nginx做反向代理
修改unix_http_server内容

[unix_http_server]file=var/tmp/supervisord.sockchmod=0700chown={USERNAME}:{USERNAME} 

添加第四行代码,并将username改成frappe(或者你自定义的用户名)

sudo -A systemctl restart supervisor

修改完成后执行上面的命令

七、安装常用App

  1. 安装ERPnext界面汉化

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

下载余老师汉化包

bench --site demo install-app erpnext_chinese

demo改成上面设置的sitename

  1. 安装ERPnext开箱即用(深度汉化+国内环境使用)

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

下载oob软件,同样来自余老师

bench --site demo install-app erpnext_oob

demo改成上面设置的sitename

  1. 安装ERPNext权限优化

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

下载permission安装包

bench --site demo install-app zelin_permission

demo改成上面设置的sitename

走完全部流程,就能看到登录页面啦~

参考文档

腾讯云留了镜像,有需要的可以私我