ARTICLE DETAIL

建站实战干货

来自一线的建站与推广经验沉淀,每一条都经过真实交付验证。

保姆级教程:四个步骤完成ERPNext自动化安装,v13到v16全版本一次搞定

2026/8/14 6:25:56 拓冰建站 浏览量
保姆级教程:四个步骤完成ERPNext自动化安装,v13到v16全版本一次搞定

保姆级教程:四个步骤完成ERPNext自动化安装,v13到v16全版本一次搞定

【免费下载链接】erpnext_quick_installUnattended install script for ERPNext Versions, 13 to 16项目地址: https://gitcode.com/gh_mirrors/er/erpnext_quick_install

erpnext_quick_install 是一个面向 ERPNext 的自动化安装脚本,覆盖 v13、v14、v15、v16 以及 develop 分支,你只需回答几个简单问题,剩下的依赖装配、数据库加固、站点创建、生产部署全部交给它。这篇文章会从真实使用场景讲起,带你一步步跑通完整流程,并说清楚它背后"聪明"在哪里。

一、先从一段真实的折腾经历说起

小周在一家五十人规模的制造企业里兼着 IT 运维,老板拍板要上一套 ERP,任务落到他头上。他按官方文档手动安装,前后熬了三个周末:

  • 第一个周末:Python 版本不匹配,bench 装到一半直接报错,重来;
  • 第二个周末:Node.js 和 yarn 版本对不上,前端资源构建失败;
  • 第三个周末:终于见到界面了,结果 Redis 连不上,站点起不来,只能再查日志。

三周下来,文档看了几十页,服务器重装了两次,问题还是层出不穷。后来他在社区里发现了 erpnext_quick_install 这个项目,抱着"死马当活马医"的心态跑了一遍,不到一顿饭的功夫,登录页出现了。小周的感受是:原来安装 ERP 可以不用这么折腾。

二、手动部署到底难在哪里

很多人以为装 ERP 只是"下载、安装、点下一步",但 ERPNext 的真实依赖链远比想象中复杂:

组件为什么麻烦
Python不同版本要求不同解释器,v16 甚至需要 3.14+,系统自带的往往不达标
Node.jsv13/14 要 Node 16,v15/develop 要 18/20,v16 要 24,版本错一位就编译失败
MariaDB要设置 root 密码、删除匿名用户、配置 utf8mb4 字符集,少一步就埋雷
Redis需要同时启动多个实例(队列、缓存、SocketIO),端口分配混乱是常事
wkhtmltopdf负责单据转 PDF,架构选错(amd64/arm64)就白装
Supervisor/Nginx生产模式要配置进程守护和反向代理,改错一个文件服务全挂

每个环节单独看都不难,但串在一起,任何一个版本对不上,整条链就断了。这正是手动安装最痛苦的地方:不是某一件事难,而是每一件事都可能错。

三、保姆级实操:从空白服务器到 ERPNext 上线

下面按四个步骤走完整个部署流程,每步都有说明,照着做即可。

第 1 步:准备一个非 root 的普通用户

脚本在创建站点阶段依赖普通用户权限,用 root 直接运行会在后半程失败。如果你的服务器默认就是 root,先建一个普通账号:

# 创建用户(名字可换成你喜欢的) sudo adduser frappeuser # 授予 sudo 权限 usermod -aG sudo frappeuser # 切换到新用户并进入其主目录 su frappeuser cd /home/frappeuser

这一步相当于给"安装工人"找一个合适的身份,后面所有操作都在这个用户下进行。

第 2 步:获取安装脚本

# 拉取项目到本地 git clone https://gitcode.com/gh_mirrors/er/erpnext_quick_install.git # 进入项目目录 cd erpnext_quick_install # 给脚本加上执行权限 chmod +x erpnext_install.sh

第 3 步:启动安装并回答几个问题

source erpnext_install.sh

注意是source而不是直接执行,这样环境变量才能正确加载。接下来脚本会像向导一样逐项询问:

  • 选择版本:输入数字 1~5,对应 v13 到 develop 分支;
  • 确认继续:回答 yes 进入安装流程;
  • SQL root 密码:输入两遍,脚本会校验两次输入是否一致;
  • bench 目录名:默认 frappe-bench,直接回车即可;
  • 站点名称:如果以后要装 SSL,建议填一个正式的域名(FQDN);
  • 管理员密码:同样输入两遍确认。

之后就是漫长的自动装配:更新系统包 → 安装 Python(版本不够会自动编译)→ 装 Redis、MariaDB 并加固 → 配置 Node.js 与 yarn → 初始化 bench → 创建站点 → 询问是否安装 ERPNext 核心。

第 4 步:选择生产模式还是开发模式

站点建好后,脚本会问你"是否继续生产安装":

  • 回答yes:走生产模式,自动配置 Nginx、Supervisor、计划任务(Scheduler),还会询问是否批量安装附加应用、是否用 Certbot 申请 SSL 证书;
  • 回答no:走开发模式,直接bench start就能在 8000 端口启动调试环境。

安装完成后,访问https://你的域名(配了 SSL)或http://服务器IP,看到登录页就说明成功了。

四、这个脚本到底替你干了多少活

把脚本拆开看,它其实是一个"流水线总调度",能力模块大致如下:

能力模块具体内容解决的核心问题
系统兼容性检测校验 Ubuntu/Debian 及版本号,不匹配直接拒绝防止在错误的系统上硬装
依赖自动装配Python 编译、NVM/Node、Redis、MariaDB、wkhtmltopdf依赖链一次性打通
数据库安全加固设置 root 密码、清理匿名账户、utf8mb4 字符集装完即是相对安全的库
双模式部署生产(nginx+supervisor)与开发(bench start)二选一一套脚本两种用途
应用市场50+ 精选 Frappe 应用,勾选式批量安装免去逐个手动装应用
冲突预警扫描服务器上已有 ERPNext 安装并发出警告防止多版本互相踩踏
SSL 自动化集成 Certbot 申请与部署证书一键上 HTTPS

这些能力的实现细节都写在项目的erpnext_install.sh中,感兴趣的读者可以边装边对照源码看它每一步在做什么。

五、它"聪明"在哪:两个值得琢磨的机制

机制一:智能分支选择,而不是写死分支名

安装附加应用时,最怕仓库里根本没有你要的分支。脚本的做法是先用git ls-remote拉取远程仓库的所有分支,然后按优先级列表逐一匹配。比如你要装 v16,它就按version-16 → version-15 → develop → main → master的顺序找,找到哪个用哪个;对于 HRMS、LMS、CRM 这类 Frappe 官方应用,还会走专门的特判逻辑。这一手让"装什么版本"这件事从碰运气变成了有章法。

机制二:五重兜底的安装策略

即便分支选对了,应用名和仓库名不一致也是常见坑。脚本为每个应用准备了最多五层尝试:先解析setup.py提取真实应用名 → 不行就用仓库名 → 再不行就去掉frappe-/erpnext-前缀做名称转换 → 再试全小写 → 最后扫描目录下的子模块名。每一层失败都会自动降级到下一层,最后还会输出一份"成功/失败清单",哪些装上了、哪些因为兼容性失败,一目了然。

六、新手最容易踩的坑(附解决办法)

Q1:用 root 用户运行,装到一半失败了?创建普通用户重来。这是脚本最常遇到的失败原因,站点创建阶段必须用普通用户身份。

Q2:一台服务器上装了多个 ERPNext 版本?强烈建议一台机器只装一个版本。develop 分支用 11000/12000/13000 端口,标准版用 6379;Node 版本也不同,v13 用 16、v15 用 18、v16 用 24,混装必然打架。脚本检测到已有安装会主动警告,听它的劝最稳妥。

Q3:遇到 Redis 连接错误(Error 111)?对 v15/v16 来说,进入 bench 目录依次执行bench setup socketiobench setup supervisorbench setup redis,然后sudo supervisorctl reload。通用兜底是重启服务:sudo systemctl restart redis-server后再sudo supervisorctl restart all

Q4:v16 上装第三方应用失败?目前 v16 只验证过 Frappe 官方应用,社区应用尚未充分测试,装不上不一定是你的操作问题。生产环境建议先用 v15 或 v14。

Q5:选 develop 分支可以吗?可以,但它属于"每天在变"的实验性代码,可能不稳定甚至损坏数据,只适合有经验的开发者做技术尝鲜,别拿来存重要数据。

Q6:装 SSL 时一直失败?先确认你的域名已经解析到这台服务器的 IP 并且能访问,Certbot 验证域名归属失败时不会签发证书。

七、装完之后,这只是开始

ERPNext 装好只是万里长征第一步,后面还有单据配置、权限划分、数据迁移这些事等着你。但至少,最劝退的"安装关"已经被这脚本跨过去了——你省下的不是几小时,而是从零摸索的整个试错周期。

如果你正准备部署 ERP,我的建议是:今天就拿一台干净的 Ubuntu 22.04 或 Debian 12 服务器,照着上面的四步走一遍。脚本里每一步都有提示和确认,出错了也有日志可以查,即使你是第一次接触 ERP 部署,也能独立完成。

项目的安装入口就是项目根目录下的erpnext_install.sh,更详细的版本兼容说明、应用市场说明和免责声明都在同目录的README.md里,动手之前花五分钟翻一遍,能帮你少踩一半的坑。现在,去把属于你自己的 ERPNext 跑起来吧。

【免费下载链接】erpnext_quick_installUnattended install script for ERPNext Versions, 13 to 16项目地址: https://gitcode.com/gh_mirrors/er/erpnext_quick_install

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考