
### **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 评论