BandwagonHost 发表于 2026-7-9 15:12

搬瓦工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]
查看完整版本: 搬瓦工Bandwagong服务器部署2FAuth教程