快速开始
本教程将引导你 10 分钟内完成授权系统的部署,包括:环境准备、数据库初始化、后台配置、API 测试。
1. 环境要求
- PHP ≥ 7.2(推荐 8.0+)
- MySQL ≥ 5.7(或 MariaDB ≥ 10.2)
- PHP 扩展:pdo_mysql、openssl、mbstring、curl、json
- Web 服务器:Nginx / Apache,宝塔 / 1Panel 等面板可直接创建站点
2. 上传文件
把 license-server/ 目录上传到你的 Web 根目录。例如:
# 假设你的站点根目录是 /www/wwwroot/license.example.com
cd /www/wwwroot/license.example.com
# 上传 license-server/ 里的所有文件到此处
ls
# 应该看到:index.php login.php buy.php docs.php inc/ pages/ user/ ...
3. 配置数据库连接
编辑 inc/db.php 文件:
<?php
// 数据库配置
define('DB_HOST', '127.0.0.1'); // 数据库地址
define('DB_NAME', 'license_server'); // 数据库名
define('DB_USER', 'license_user'); // 用户名
define('DB_PASS', 'your_secure_password'); // 密码
define('DB_CHARSET', 'utf8mb4'); // 字符集
// HMAC 签名密钥(所有 API 签名都用它,务必修改)
define('HMAC_SALT', 'your-unique-random-string-32chars-min');
// API 密钥(可选,外部 API 调用时使用)
define('API_SECRET', 'your-api-secret-32chars-min');
安全提醒:
HMAC_SALT 和 API_SECRET 必须修改为随机字符串,长度建议 ≥ 32 字符。生产环境不要使用默认值!
4. 创建数据库
登录 MySQL,创建数据库(字符集必须是 utf8mb4):
CREATE DATABASE license_server
DEFAULT CHARACTER SET utf8mb4
DEFAULT COLLATE utf8mb4_unicode_ci;
CREATE USER 'license_user'@'localhost' IDENTIFIED BY 'your_secure_password';
GRANT ALL PRIVILEGES ON license_server.* TO 'license_user'@'localhost';
FLUSH PRIVILEGES;
5. 访问安装页面
打开浏览器访问:
https://license.example.com/install.php
系统会自动创建所有表结构。完成后页面会提示:
数据库表结构初始化成功!
请删除 install.php 文件以确保安全。
6. 创建管理员账号
访问:
https://license.example.com/admin_register.php
填写管理员信息(用户名、邮箱、密码)。第一个注册的账号自动成为超级管理员。
7. 登录后台
访问:
https://license.example.com/admin/
使用刚注册的账号登录。
8. 添加第一个产品
进入「产品管理」→「添加产品」,填写:
- 产品名称:例如 "夸克网盘二维码插件"
- 产品 Slug:英文唯一标识,例如
shiguang-quark-qrcode(插件代码里要用) - 产品简介:用户购买页显示
- 详细介绍(Markdown):支持 Markdown 语法
- 价格:¥0 表示免费,¥39 表示收费
- 有效期:0 表示永久,N 表示 N 天
保存后会看到 Product Secret(32 字符的密钥),这是插件 API 签名用的,请妥善保管。
9. 配置支付(可选)
如果是付费产品,需要配置易支付:
进入「系统设置」→「支付设置」:
- 勾选「启用支付宝」或「启用微信支付」
- 填写易支付网关地址、商户 ID、商户密钥
- 保存
详细配置请参考 配置说明。
10. 测试授权验证
在产品列表中点击「测试 API」按钮(或访问 test_api.php),输入授权码和域名测试验证接口:
curl -X POST https://license.example.com/api/verify.php \
-d "license_key=LIC-XXXXX-XXXXX-XXXXX-XXXXX" \
-d "domain=www.example.com" \
-d "product=shiguang-quark-qrcode" \
-d "version=1.0.0" \
-d "serial=1" \
-d "signature=$(echo -n 'www.example.com|LIC-XXXXX-XXXXX-XXXXX-XXXXX|shiguang-quark-qrcode|1' | openssl dgst -sha256 -hmac 'your-api-secret' | awk '{print $2}')"
返回 JSON 表示授权验证成功:
{
"status": "success",
"message": "授权有效",
"data": {
"serial": 1,
"license": {
"key": "LIC-XXXXX-XXXXX-XXXXX-XXXXX",
"domain": "www.example.com",
"type": "standard",
"status": "active",
"max_sites": 1,
"expires_at": null
}
}
}