想搭问答社区、技术支持站,PHP 系翻来覆去就那几个老面孔。这次我换了个口味——Apache 基金会旗下的 Answer,Go 语言写的。
先说结论:安装比 WordPress 还快。官网下的包解压,跑一条命令,三步向导点完,站点就起来了。不用配 PHP、不用配 Nginx 伪静态、不用改任何配置文件。
但它有个坑——准确说是「看起来像坑」:我第一次跑 answer init,命令行停在那儿一动不动,我还以为程序挂了。其实人家是在等你去浏览器完成安装向导。不知道这一点的人,十有八九会 Ctrl+C。
Answer 能干什么
它跟 Discuz、Flarum 那种「板块-帖子」的论坛不是一个物种,是按「提问-回答-投票-采纳」设计的,形态更接近知乎、Stack Overflow。
按用途对号入座——
- 产品问答区:软件、硬件、SaaS 都能挂一个,用户自己提问自己答,客服压力直接降一半
- 技术支持社区:有采纳机制,一个问题被解决就沉下去,不会像 QQ 群那样同样的问题被问一百遍
- 团队内部知识库:把「这事怎么办」沉淀成公开可搜的问答,新人不用挨个问人
- 开源项目的问题区:比 GitHub Issues 友好,非技术用户也敢发帖
- 教程 / 课程答疑:一门课一个标签,学员提问全归在标签下
它不适合当论坛用——没有版块、没有水贴区、没有签到积分那套。想聊天的社区别选它。
核心功能亮点
- 提问-回答-投票-采纳:一整套 Stack Overflow 式流程,提问者能标「这是正确答案」
- 标签体系:一个问题挂多个标签,标签页有描述和问题数,找东西靠标签比靠搜索快
- Markdown 编辑器带工具栏:粗体、代码块、引用一键加,右边还有排版提示面板,不熟 Markdown 也能写
- 声望值:用户主页显示声望、提问数、回答数,活跃用户一眼能认出来
- 相似问题推荐:提问详情页右侧自动推荐,能挡掉一部分重复提问
- 收藏 / 分享 / 举报 / 编辑:一条龙,该有的治理工具都在
- 后台自带健康检查:版本、目录权限、数据库版本直接列出来,排查环境问题省事
- 单个 exe 跑起来:没有 PHP 那一堆扩展和伪静态,二进制扔上去就能启动
底子怎么样
- 版本:2.0.3
- 协议:Apache-2.0,商用、改代码、二次分发都不限
- 技术栈:后端 Go,前端 React,编译后是单个 exe
- 体量:主程序 62MB,整个系统就这一个文件
- GitHub:15.7k star,Apache 软件基金会项目
我的测试环境
| 项目 | 配置 |
|---|---|
| 系统 | Windows |
| 数据库 | MySQL 8.0 |
| 方式 | 官方 Windows amd64 二进制包,解压即用 |
官方出了编译好的二进制,不用装 Go 环境自己编译。这点比一些只发源码的 Go 项目友好太多。
上手搭建:一条命令 + 三步向导
本站的包解压后你会看到:
answer.exe——主程序,62MB,整个系统就这一个文件LICENSE、NOTICE、licenses/——协议文件,别删免责声明.txt、访问源码湾.url——本站附带的
流程如下:
第一步,解压到任意目录,比如 D:\answer。
第二步,开命令行,跑初始化:
answer.exe init跑完屏幕上会打出一行:
answer installation service will run at: http://localhost:80/install/到这里,命令行看起来就「停住」了。别关,别 Ctrl+C。它其实在后台跑一个临时的安装服务器,等你去浏览器把向导点完。这就是开头说的那个坑。
第三步,浏览器打开 http://localhost/install,跟向导走。
第一屏选语言,有简体中文,选完点「下一步」:

第二屏填数据库。用本机 MySQL 就填本机地址,云数据库填服务器内网地址:

注意默认值里写的是 db:3306——这是官方 Docker 环境的写法,你本地装的 MySQL 要改成 127.0.0.1:3306。数据库名填一个没建过的名字就行,它会自动建库建表。
再往后是站点名称、管理员账号,顺着填。全部完成后回到命令行,init 进程会自己退出。
第四步,正式启动:
answer.exe run浏览器访问 http://localhost,中文界面直接出来了:

小提示:我实测时是用 9080 端口跑的(怕跟本机别的东西冲突),你按默认 80 来就行,没冲突的话不用改。
界面实拍:从提问到后台
登录。 点右上角登录按钮。这里有个反直觉的细节——

登录要填邮箱,不是用户名。 我用安装时设的用户名登,试了三次都提示「邮箱必须是一个有效的邮箱」。换成管理员邮箱,一次就进。
登进去之后首页长这样,左侧会多出「管理」菜单(管理员账号才有的):

提问。 顶栏加号进提问页,标题、正文、标签三块:

填完是这效果:

标签输入后按回车,变成一个小胶囊。系统预置了 support 标签,不够可以自己建。
提交后进详情页:

投票、收藏、分享、举报、编辑一条龙,右侧还会推荐相似问题。
回答。 拉到页面底部是回答区:

发现个有意思的细节:回答的编辑器是点击之后才加载的。初始就一个普通输入框,点一下才变成富文本。应该是为了省资源,第一次用会愣一下,习惯了就好。
回答显示出来长这样,提问者可以给回答点「采纳」:

标签页。 所有标签汇总在这里,带描述和问题数:

用户页。 每个用户有个人主页,声望、提问数、回答数一目了然:

个人设置里能改显示名、上传头像、写简介:

头像有三种:Gravatar、系统默认、自定义上传。说实话 Gravatar 在国内基本是废的(加载不出来),建议直接用自定义上传。
后台管理。 管理员的看板:

站点统计(问题、回答、用户数)、健康检查(版本、目录权限、数据库版本)都在这。用户管理在「用户」菜单里:

改状态、设管理员、禁用账号,操作逻辑跟主流系统差不多,上手没难度。
说几个缺点
- 有命令行门槛。 Go 程序没有 PHP 那种「上传即用」,得开命令行跑 init 和 run。纯鼠标用户会不习惯
- 不能一键装成 Windows 服务。 想开机自启,得自己配计划任务
- 自带两条英文示例问题(What is a tag / What is reputation),装完得去后台删
- 插件生态还年轻。 2.0 发布没多久,插件数量跟 WordPress 没法比
- 中文社区的运营功能偏少。 没有签到、没有积分兑换、没有等级勋章那一套,想靠这些激励发帖的话得自己想办法
不过话说回来,如果你要的就是一个干净、现代、开箱即用的问答社区,这些都不算硬伤。
常见问题
源码获取
上面教程用的完整包(官方 2.0.3 Windows 64 位二进制 + 原版协议文件 + 免责声明),我放夸克网盘了,免费取:
两个小提醒:
- 建议先「转存到自己网盘」再下载——直接下载的链接容易失效,转存后就是你自己的了,随时能下;
- 手机上操作:点开链接 → 右下角「保存到网盘」→ 回夸克 App 的「我的网盘」里下载。
自己动手的成本:官方发的是裸二进制,数据库得你自己准备、端口得自己让出来、开机自启得自己配计划任务。上面记的那些坑,一个都省不了。包里是我这边全部跑通之后才打的,解压跑两条命令就能看到界面。
装之前先确认两件事:有一个能连的 MySQL 8.0+(或 PostgreSQL)、80 端口空着。用别的端口也行,但要改两处配置。