源码湾

Answer 问答社区程序:Apache 出品,Go 写的「知乎」

源码湾
10月17日发布
资源信息 解压即用,含完整源码与已跑通的成品包。
今天的游客额度(10 个)已经用完了。登录之后不限量,也不用再等第二天。
版本
v2.0.3
授权
Apache-2.0
体积
19.7 MB
语言
Go
今日额度已用完 登录后不限量下载 去登录

今日下载 0 累计下载 0 还剩 0 个

想搭问答社区、技术支持站,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,跟向导走。

第一屏选语言,有简体中文,选完点「下一步」:

安装向导 - Answer 问答社区程序:Apache 出品,Go 写的「知乎」

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

安装信息填写 - Answer 问答社区程序:Apache 出品,Go 写的「知乎」

注意默认值里写的是 db:3306——这是官方 Docker 环境的写法,你本地装的 MySQL 要改成 127.0.0.1:3306。数据库名填一个没建过的名字就行,它会自动建库建表。

再往后是站点名称、管理员账号,顺着填。全部完成后回到命令行,init 进程会自己退出。

第四步,正式启动:

answer.exe run

浏览器访问 http://localhost,中文界面直接出来了:

首页 - Answer 问答社区程序:Apache 出品,Go 写的「知乎」

小提示:我实测时是用 9080 端口跑的(怕跟本机别的东西冲突),你按默认 80 来就行,没冲突的话不用改。

界面实拍:从提问到后台

登录。 点右上角登录按钮。这里有个反直觉的细节——

登录页 - Answer 问答社区程序:Apache 出品,Go 写的「知乎」

登录要填邮箱,不是用户名。 我用安装时设的用户名登,试了三次都提示「邮箱必须是一个有效的邮箱」。换成管理员邮箱,一次就进。

登进去之后首页长这样,左侧会多出「管理」菜单(管理员账号才有的):

登录后首页 - Answer 问答社区程序:Apache 出品,Go 写的「知乎」

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

提问创建页 - Answer 问答社区程序:Apache 出品,Go 写的「知乎」

填完是这效果:

提问填写完成 - Answer 问答社区程序:Apache 出品,Go 写的「知乎」

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

提交后进详情页:

提问详情 - Answer 问答社区程序:Apache 出品,Go 写的「知乎」

投票、收藏、分享、举报、编辑一条龙,右侧还会推荐相似问题。

回答。 拉到页面底部是回答区:

回答编辑器 - Answer 问答社区程序:Apache 出品,Go 写的「知乎」

发现个有意思的细节:回答的编辑器是点击之后才加载的。初始就一个普通输入框,点一下才变成富文本。应该是为了省资源,第一次用会愣一下,习惯了就好。

回答显示出来长这样,提问者可以给回答点「采纳」:

回答后详情 - Answer 问答社区程序:Apache 出品,Go 写的「知乎」

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

标签列表 - Answer 问答社区程序:Apache 出品,Go 写的「知乎」

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

用户页 - Answer 问答社区程序:Apache 出品,Go 写的「知乎」

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

个人资料设置 - Answer 问答社区程序:Apache 出品,Go 写的「知乎」

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

后台管理。 管理员的看板:

后台管理 - Answer 问答社区程序:Apache 出品,Go 写的「知乎」

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

后台用户管理 - Answer 问答社区程序:Apache 出品,Go 写的「知乎」

改状态、设管理员、禁用账号,操作逻辑跟主流系统差不多,上手没难度。

说几个缺点

  1. 有命令行门槛。 Go 程序没有 PHP 那种「上传即用」,得开命令行跑 init 和 run。纯鼠标用户会不习惯
  2. 不能一键装成 Windows 服务。 想开机自启,得自己配计划任务
  3. 自带两条英文示例问题(What is a tag / What is reputation),装完得去后台删
  4. 插件生态还年轻。 2.0 发布没多久,插件数量跟 WordPress 没法比
  5. 中文社区的运营功能偏少。 没有签到、没有积分兑换、没有等级勋章那一套,想靠这些激励发帖的话得自己想办法

不过话说回来,如果你要的就是一个干净、现代、开箱即用的问答社区,这些都不算硬伤。

常见问题

源码获取

上面教程用的完整包(官方 2.0.3 Windows 64 位二进制 + 原版协议文件 + 免责声明),我放夸克网盘了,免费取:

两个小提醒:

  1. 建议先「转存到自己网盘」再下载——直接下载的链接容易失效,转存后就是你自己的了,随时能下;
  2. 手机上操作:点开链接 → 右下角「保存到网盘」→ 回夸克 App 的「我的网盘」里下载。

自己动手的成本:官方发的是裸二进制,数据库得你自己准备、端口得自己让出来、开机自启得自己配计划任务。上面记的那些坑,一个都省不了。包里是我这边全部跑通之后才打的,解压跑两条命令就能看到界面。

装之前先确认两件事:有一个能连的 MySQL 8.0+(或 PostgreSQL)、80 端口空着。用别的端口也行,但要改两处配置。

实测说明

本文截图全部来自本站实测环境(源码湾 yuanmawan.com),实测版本 Answer v2.0.3,许可证 Apache-2.0。

© 版权声明
THE END
喜欢就支持一下吧
点赞 0 分享 收藏
评论 抢沙发
OωO
取消