用途
宝塔面板 PHP 网站管理技能,用于通过命令行脚本对服务器上的 PHP 网站进行全生命周期管理。它复用 btpanel 技能的服务器配置系统,可远程操作宝塔面板中的站点、PHP 版本、域名、SSL 证书、伪静态规则和数据库。
主要能力
- 站点管理:查看列表、创建、停用、启用、删除、查看详情。
- PHP 版本管理:查看已安装版本、查看站点版本、切换版本或设为纯静态。
- 域名管理:查看、添加、删除绑定域名,支持多个域名逗号分隔。
- SSL 证书管理:查看信息、上传证书、申请免费证书、开启/关闭强制 HTTPS、关闭 SSL。
- 伪静态管理:查看模板列表、查看当前规则、应用模板或自定义规则。
- 数据库管理:查看列表与详情、创建、修改密码、设置访问权限、查看表信息、优化、修复、删除。
使用方式
需先配置服务器信息,使用 bt-config.py 添加服务器(面板地址与 API Token)。获取 Token 的方法:登录宝塔面板,进入「面板设置」->「API 接口」,点击「获取 API Token」。添加服务器时需确认面板是否使用受信任 SSL 证书,自签名证书需加 --verify-ssl false 参数。
运行脚本前需设置 PYTHONPATH,例如: export PYTHONPATH=/path/to/btpanel-skills/src:$PYTHONPATH
常用命令示例:
- 创建站点:python3 {baseDir}/scripts/site.py add -n example.com -p /www/wwwroot/example.com -v 82
- 查看站点列表:python3 {baseDir}/scripts/site.py list
- 切换 PHP 版本:python3 {baseDir}/scripts/php.py set -n example.com -v 82
- 添加域名:python3 {baseDir}/scripts/domain.py add -n example.com -d www.example.com
- 申请免费证书:python3 {baseDir}/scripts/ssl_cert.py apply -n example.com -d example.com,www.example.com
- 应用伪静态:python3 {baseDir}/scripts/rewrite.py set -n example.com -t wordpress
- 创建数据库:python3 {baseDir}/scripts/database.py add -n example_db -u example_user -P "SecurePass123"
适用场景
适用于在宝塔面板环境中远程或批量管理 PHP 网站,包括新建站点、调整 PHP 版本、绑定域名、配置 SSL、设置伪静态以及管理数据库。资料中提供了完整的 WordPress 部署实战示例,涵盖环境检查、创建站点与数据库、下载源码、解压、复制文件、配置 wp-config.php、应用伪静态规则和验证访问等步骤。
限制与注意事项
- 版本要求:宝塔面板 >= 9.0.0,Python >= 3.10。
- 删除操作不可逆,操作前必须向用户确认并提醒备份数据和数据库。
- 修改 PHP 版本、SSL 证书等操作前应告知用户可能的影响。
- 申请免费 SSL 证书需使用域名(不支持 IP 或内网 IP),域名需解析到服务器,HTTP 验证需开放 80 端口;DNS 验证需配置域名服务商 API 凭证。Let's Encrypt 证书有效期 90 天,有申请频率限制。
- 数据库访问权限中 % 表示允许远程连接,127.0.0.1 表示仅本地访问。
- 应用伪静态规则前建议先查看当前规则并备份。
- 常见问题:配置文件不存在需运行 python3 bt-config.py add 添加服务器配置;WordPress 部署失败需确保 btpanel-files 技能已安装;PYTHONPATH 未设置需按上述方式设置。
- 支持的 PHP 版本包括 52 至 84 以及纯静态(00),其中 5.2-5.5 已淘汰。
- 支持的伪静态模板包括 wordpress、thinkphp、laravel5、dedecms、discuz、ecshop、typecho、zblog、drupal、phpcms、maccms、crmeb、ShopWind、EmpireCMS、EduSoho 等。
- 技能包提供 icon/bt-logo.svg 图标文件,可在生成报告时引用。
- 宝塔面板相关技能矩阵包含 btpanel(运维监控)、btpanel-files(文件管理)、btpanel-phpsite(PHP 网站管理)三个相互关联的技能。