小团队人少时用微信群管项目就够了,但一旦超过 10 人,文档、审批、考勤、任务散在各处就会乱套。这时候上一套开源 OA 系统,比买 SaaS 一年省几千块。本篇给三个靠谱的开源方案。

一、选型前先想清楚需求

不要一上来就装功能最全的系统。小团队 OA 只需要四件事:任务看板、在线文档、审批流程、企业通讯录。多出来的考勤、报销、CRM 等模块,用不上就是负担。

二、三个开源方案对比

1. 飞书开源版 / 钉钉开源(不推荐自部署)

这两个是 SaaS,不用自己搭。如果不想折腾,直接用免费版即可,50 人以内免费。

2. Mattermost + 自建文档(技术团队)

类似 Slack 的开源自部署聊天系统,配合 Wiki 插件,适合有运维能力的技术团队。Docker 一键部署,数据完全自己掌控。

3. 禅道(ZenTao)—— 项目管理导向

国产开源项目管理系统,任务、Bug、文档、报表一体,PHP + MySQL 环境,虚拟主机就能跑。最适合软件开发团队,免费版功能够用。

4. RuoYi(若依)—— 二次开发导向

Spring Boot + Vue 的后台管理框架,自带用户、角色、权限、代码生成器。如果你的需求是”我要一个 OA 但要改成自己公司流程”,基于若依二次开发最快。

三、部署前的环境要求

  • 服务器:2 核 4G 起步,带宽 3M 以上。
  • 系统:Ubuntu 22.04 或 CentOS 7+。
  • 环境:PHP 7.4+(禅道)或 JDK 17 + MySQL 8(若依)。
  • 域名:建议配一个二级域名,如 oa.yourdomain.com。

四、上线前的三步验证

  1. 先在测试环境跑通所有流程,不要直接上生产。
  2. 导出一份员工通讯录批量导入。
  3. 安排 3 个核心员工试用一周,收集反馈再全员推广。

OA 系统不是买了就有用,关键是团队真的用起来。先选一个最贴近自己流程的,跑顺了再考虑升级。

二次开发与扩展

拿到源码后想改功能,建议遵循以下原则。

  • 先读文档:大部分开源项目有开发文档,先看懂架构再改代码。
  • 不要改核心文件:改之前备份,升级时才不会冲突。
  • 用 Git 管理:把源码放 Git 仓库,每改一个功能打 tag。
  • 社区求助:遇到问题去 GitHub Issues 或官方论坛搜,大概率有人遇到过。

部署常见问题排查

部署源码过程中最常见的问题集中在环境配置和权限上,遇到报错先按下面顺序排查。

  • 500 错误:先看 PHP 错误日志,90% 是扩展没装或版本不对。
  • 数据库连接失败:检查 .env 里的数据库地址、用户名、密码是否正确。
  • 伪静态不生效:Nginx 要配 thinkphp 或 laravel 规则,Apache 要确保 rewrite 模块开启。
  • 后台登录不进去:清除浏览器缓存,确认管理员账号密码正确。