在开源社区运营中,搭建一个既能保障数据安全又能支持全球用户低延迟访问的问答平台往往面临挑战。Apache Answer 作为新兴的开源问答系统,架构灵活且易于扩展。通过 Docker 部署结合内网穿透工具,可以在本地构建私有服务的同时,安全地暴露给公网用户。
1. 本地安装 Docker
本教程基于 Linux Ubuntu 环境。首先需要在终端安装 Docker。
执行以下命令下载脚本:
curl -fsSL https://get.docker.com -o get-docker.sh
启动安装脚本(注意修正原命令中的拼写错误):
sudo sh get-docker.sh
安装完成后,运行 hello-world 容器验证环境:
sudo docker container run hello-world
若看到欢迎信息,说明 Docker 已就绪,可以开始拉取镜像。
2. 本地部署 Apache Answer
打开新终端,从 DockerHub 拉取并运行 Answer 镜像:
docker run -d -p 9080:80 -v answer-data:/data --name answer apache/answer:latest
浏览器访问 localhost:9080 或本机 IP 地址进入安装向导。
2.1 设置语言选择简体中文
在初始化界面选择简体中文,确保后续操作更直观。
2.2 配置数据库
Apache Answer 支持 MySQL、PostgreSQL 和 SQLite。初次体验建议使用 SQLite,无需额外配置数据库服务。若生产环境使用 MySQL 或 PostgreSQL,需提前创建库表并在该步骤填入连接信息。
2.3 创建配置文件
根据提示完成基础配置文件的生成。
2.4 填写基本信息
设置站点 URL、管理员邮箱及密码。确认无误后点击 Done 完成安装。
3. 如何使用 Apache Answer
登录网站后,主要功能模块如下:
- 后台管理:查看站点运行统计,掌握整体状态。
- 提问与回答:支持添加标签、提交问题及回复讨论。
- 主页概览:查看热门问题和回答情况。
目前服务仅在局域网内可访问。若需分享给他人或在公网远程访问,需配置内网穿透。
4. 公网远程访问本地 Apache Answer
4.1 内网穿透工具安装
以 cpolar 为例,使用一键脚本安装:
curl https://get.cpolar.sh | sudo sh
安装后检查服务状态:
sudo systemctl status cpolar
若显示 active (running),则服务正常。在浏览器访问 http://localhost:9200 登录 Web 管理界面。
4.2 创建远程连接公网地址
在隧道管理页面新建隧道:
- 隧道名称:自定义(如 Apache Answer),避免重复
- 协议:http
- 本地地址:9080


