XBoard & NPM 从零到一:轻松搭建你的专属面板 (新手友好版)

### **XBoard & NPM 从零到一:轻松搭建你的专属面板 (新手友好版)** 欢迎来到这篇保姆级教程!我们将一起使用 Docker 快速部署功能强大的 XBoard 面板,并通过图形化的 Nginx Proxy Manager (NPM) 为其配置一个漂亮的域名和 HTTPS 加密访问。即使你是第一次接触服务器和 Docker,也能轻松跟上。 #### **第一步:基础准备 (Prerequisites)** 在开始之前,请确保你已经准备好以下三样东西: 1. **一台云服务器 (VPS)**:推荐使用 Ubuntu 22.04 或 Debian 11/12 操作系统。这台服务器需要有一个独立的公网 IP 地址。 2. **一个域名**:任何域名注册商处购买的都可以。你需要将这个域名(或一个子域名,例如 `panel.yourdomain.com`)通过 **A 记录** 解析到你服务器的公网 IP 地址。请在 Cloudflare 或你的域名提供商处完成此操作。 3. **SSH 连接工具**:你需要一个工具来连接到你的服务器执行命令。Windows 用户推荐使用 FinalShell、MobaXterm 或 Windows Terminal;macOS 用户可以直接使用系统自带的“终端 (Terminal)”。 #### **第二步:初始化服务器环境** 连接上你的服务器后,我们来为后续的安装做一些基础准备工作。 **1. 更新系统软件包** 首先,运行以下命令更新你服务器的软件包列表和已安装的软件。这是一个好习惯,可以确保系统处于最新状态。 ```bash sudo apt update && sudo apt upgrade -y ``` **2. 安装 Docker 和 Git** XBoard 和 NPM 都将通过 Docker 来运行。Docker 就像一个神奇的集装箱,可以把应用程序和它的所有依赖都打包在一起,让部署变得极其简单。Git 则用于从代码仓库下载安装文件。 ```bash # 安装 Git sudo apt install git -y # 安装 Docker (官方推荐脚本) curl -fsSL https://get.docker.com -o get-docker.sh sudo sh get-docker.sh ``` **3. 关闭防火墙(可选但建议新手操作)** 为了避免在安装过程中出现复杂的网络问题,我们先将系统防火墙关闭。 ```bash sudo ufw disable ``` > **提示**:关闭防火墙会降低服务器的安全性。在面板完全正常运行后,建议有经验的用户根据应用所需端口(如 80, 443)来配置防火墙规则,而不是完全禁用它。 #### **第三步:一键安装 Nginx Proxy Manager (NPM)** NPM 是一个带 Web 界面的反向代理管理工具,它可以帮你轻松地将域名指向服务器上运行的各种服务(比如我们即将安装的 XBoard),并自动申请和续签免费的 SSL 证书。 **1. 下载并运行安装脚本** 我们将使用一个广受好评的一键安装脚本来部署 NPM。 ```bash git clone https://github.com/slobys/npm.git cd npm chmod +x npm.sh ./npm.sh ``` 脚本会自动安装 NPM。安装完成后,请稍等一两分钟,让 NPM 服务完全启动。 **2. 访问并初始化 NPM** 现在,在你的浏览器中访问 `http://你的服务器IP:81`。 * **默认管理员邮箱**: `admin@example.com` * **默认密码**: `changeme` 首次登录后,系统会强制要求你修改管理员邮箱和密码。请务必修改为一个安全的组合。 #### **第四步:安装 XBoard 面板** 现在,万事俱备,我们来安装主角——XBoard 面板。 **1. 下载 XBoard 程序文件** 回到你的 SSH 终端,确保你现在位于主目录 (`~`) 下。如果不确定,可以运行 `cd ~` 命令。 ```bash git clone -b compose --depth 1 https://github.com/cedar2025/Xboard ``` **2. 运行安装命令** 进入刚刚下载的 XBoard 目录,并执行安装命令。此命令会利用 Docker 创建并初始化 XBoard 所需的数据库和配置文件。 ```bash cd Xboard docker compose run -it --rm \ -e ENABLE_SQLITE=true \ -e ENABLE_REDIS=true \ -e ADMIN_ACCOUNT=admin@demo.com \ web php artisan xboard:install ``` > **参数解释**: > * `ENABLE_SQLITE=true`: 使用轻量级的 SQLite 数据库,适合中小型应用,无需额外配置。 > * `ENABLE_REDIS=true`: 启用 Redis 缓存,可以提升面板性能。 > * `ADMIN_ACCOUNT=admin@demo.com`: **请务必将此处的邮箱替换为你自己的管理员邮箱!** 这将是你的初始登录账号。初始密码默认为 `123456`。 安装过程会输出一些日志,当看到 "Xboard 安装成功" 或类似的提示时,就表示初始化完成了。 **3. 启动 XBoard 服务** 使用以下命令在后台启动 XBoard 和所有相关服务。 ```bash docker compose up -d ``` 至此,XBoard 已经在你的服务器上成功运行了!但我们还差最后一步,就是给它配置一个域名。 #### **第五步:配置域名访问 (NPM 反向代理)** 现在我们回到 NPM 的 Web 界面 (`http://你的服务器IP:81`),为 XBoard 设置域名访问。 1. **登录 NPM**,点击 `Hosts` -> `Proxy Hosts`。 2. 点击右上角的 `Add Proxy Host` 按钮。 3. **在 `Details` 标签页中填写:** * **Domain Names**: 输入你准备好的域名,例如 `panel.yourdomain.com`。 * **Scheme**: 保持 `http` 不变。 * **Forward Hostname / IP**: 填写 `xboard-web-1`。这是 Docker Compose 为 XBoard Web 服务创建的内部容器名。 * **Forward Port**: 填写 `80`。 * **勾选 `Block Common Exploits`** 和 **`Websockets Support`**。 4. **切换到 `SSL` 标签页:** * 在 **SSL Certificate** 下拉菜单中,选择 `Request a new SSL Certificate`。 * 勾选 `Force SSL` 和 `HTTP/2 Support`。 * 输入一个用于接收 SSL 证书提醒的邮箱,并勾选同意 Let's Encrypt 的服务条款。 5. 点击 `Save` 按钮。 NPM 会自动为你的域名申请 SSL 证书并配置反向代理。几秒钟后,你就可以通过 `https://你的域名` 来访问 XBoard 面板的登录页面了!使用你在第四步设置的管理员邮箱和默认密码 `123456` 登录,并尽快修改密码。 #### **第六步:日常管理与进阶玩法** **1. 更新 XBoard 版本** 如果 XBoard 发布了新版本,你可以通过以下命令来更新: ```bash # 进入 XBoard 目录 cd ~/Xboard # 拉取最新的代码和镜像配置 git pull # 重新构建 Docker 镜像 docker compose build # 以新镜像启动服务 docker compose up -d ``` **2. 进阶:修改默认用户的 UUID** 在某些场景下,你可能需要自定义用户的 UUID。下面是两种方法: **方法一:手动进入容器修改(推荐,更直观)** 1. **查找容器名字**: ```bash docker ps ``` 在列表中找到 `IMAGE` 为 `.../xboard-web` 的那一行,记下它的 `NAMES`,通常是 `xboard-web-1`。 2. **进入容器**: ```bash docker exec -it xboard-web-1 sh ``` *注意:请将 `xboard-web-1` 替换为你上一步找到的实际容器名。* 3. **操作数据库**: ```bash # 进入项目目录 cd /www # 连接 SQLite 数据库 sqlite3 .docker/.data/database.sqlite ``` 4. **执行 SQL 命令**: ```sql -- 查看当前用户信息,确认要修改的用户的 id (管理员通常是 1) SELECT id, email, uuid FROM v2_user; -- 将 id 为 1 的用户的 uuid 修改为你想要的值 UPDATE v2_user SET uuid = '你的新UUID-例如-1a2b3c4d-5e6f-7a8b-9c0d-1e2f3a4b5c6d' WHERE id = 1; -- 退出数据库 .quit ``` 5. **退出容器并重启 XBoard**: ```bash # 退出容器 exit # 回到宿主机后,在 XBoard 目录下执行重启 cd ~/Xboard && docker compose restart ``` **方法二:一键脚本(简洁高效)** 如果你熟悉命令行,可以使用这条命令直接修改。它将上面手动操作的步骤合并成了一行。 ```bash # 将 '你的新UUID' 替换成你想要的 UUID NEW_UUID='你的新UUID' && docker exec -i xboard-web-1 sh -c "cd /www && sqlite3 .docker/.data/database.sqlite \"UPDATE v2_user SET uuid = '$NEW_UUID' WHERE id = 1;\"" # 重启 XBoard 使配置生效 cd ~/Xboard && docker compose restart ``` --- 恭喜你!你已经成功搭建了属于自己的 XBoard 面板,并学会了如何管理和维护它。现在可以开始探索 XBoard 的强大功能了!

发表评论

0 评论