搬瓦工Bandwagong服务器部署2FAuth教程
BandwagonHost 服务器部署 2FAuth 完整教程2FAuth 是一款由 PHP (Laravel) 编写的自托管二步验证(2FA)管理工具。相比 Google Authenticator,它最大的优势在于数据完全掌握在自己手中,且支持 Web 端跨设备访问。
注意:该项目对文件权限和路径映射非常敏感,请严格按照以下步骤操作以避免 Permission denied 或 500 错误。
一、 环境准备
- 服务器系统:Debian 11/12 或 Ubuntu 20.04+
- 核心组件:Docker & Docker Compose
如果你的搬瓦工服务器是刚连上 SSH 客户端的话,请先执行下面的一键命令安装 Docker:
apt update && apt upgrade -y
curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh
sudo systemctl enable --now docker
执行完后输入 systemctl status docker,看到 active 就说明 Docker 安装并运行成功。
二、 建立目录与解决权限(关键步骤)
Docker 自动创建的目录属于 root 用户,而 2FAuth 容器内部使用 1000 (www-data) 用户。如果不提前授权,容器会因无法生成数据库文件而无限重启。请依次执行以下四条命令:
# 1. 创建项目根目录
mkdir -p /root/data/docker_data/2fauth
# 2. 创建核心数据目录
mkdir -p /root/data/docker_data/2fauth/data
# 3. 【核心步骤】修改权限,将 data 目录的所有权赋予容器内的用户(ID 1000)
chown -R 1000:1000 /root/data/docker_data/2fauth/data
# 4. 进入项目目录
cd /root/data/docker_data/2fauth
三、 生成 APP_KEY
Laravel 框架必须有一个 32 位的密钥。执行以下命令,复制输出的字符串(保存到记事本):
openssl rand -base64 32
(输出示例:base64:xgT+... 一长串字符...=)
四、 配置文件编写
1. 创建 .env 文件
执行 vim .env,粘贴以下内容(务必替换 APP_KEY):
# --- 基础配置 ---
APP_NAME=2FAuth
APP_ENV=production
APP_DEBUG=false
APP_URL=http://你的服务器IP:8000
# --- 密钥配置 (必须修改) ---
APP_KEY=base64:你刚刚生成的密钥
# --- 数据库配置 ---
DB_CONNECTION=sqlite
2. 创建 docker-compose.yml
执行 vim docker-compose.yml,粘贴以下内容:
version: "3"
services:
2fauth:
image: 2fauth/2fauth:latest
container_name: 2fauth
restart: unless-stopped
ports:
- 8000:8000/tcp
env_file: .env
volumes:
- ./data:/2fauth
五、 启动服务与验证
确保当前目录下有 .env、docker-compose.yml 和 /data 目录。执行启动命令:
docker compose up -d
查看实时日志验证状态:
docker compose logs -f
部署成功的标志:当看到日志中出现 Running migrations,并包含 create_users_table 等字样,最后停在 Application key set successfully,说明初始化完成。
现在,打开浏览器访问 http://你的服务器IP:8000,即可看到登录界面。点击 Register 注册你的第一个账号(自动成为管理员)。
六、 后续进阶
若需要配置 HTTPS 访问,建议通过 Nginx 进行反向代理。有关如何搭建 Nginx Proxy Manager 并使用反向代理的详细教程,可自行搜索相关技术文档进行配置。
页:
[1]