更新 README 文档,替换为 GeneAgro CMS 使用说明
This commit is contained in:
170
README.md
170
README.md
@@ -1,103 +1,93 @@
|
||||
# PbootCMS
|
||||
# GeneAgro CMS 使用说明(基于 PbootCMS 3.2.5)
|
||||
|
||||
### PbootCMS是全新内核且永久开源免费的PHP企业网站开发建设管理系统,是一套高效、简洁、 强悍的可免费商用的PHP CMS源码,能够满足各类企业网站开发建设的需要。系统采用简单到想哭的模板标签,只要懂HTML就可快速开发企业网站。官方提供了大量网站模板免费下载和使用,将致力于为广大开发者和企业提供最佳的网站开发建设解决方案。
|
||||
* 系统采用高效、简洁、强悍的模板标签,只要懂HTML就可快速开发企业网站;
|
||||
* 系统采用PHP语言开发,使用自主研发的高速多层开发框架及缓存技术;
|
||||
* 系统默认采用sqlite轻型数据库,放入PHP空间即可直接使用,可选mysql等数据库,满足各类存储需求;
|
||||
* 系统采用响应式管理后台,满足各类设备随时管理的需要;
|
||||
* 系统支持后台在线升级,满足系统及时升级更新的需要;
|
||||
* 系统支持内容模型、多语言、自定义表单、筛选、多条件搜索、小程序、APP等功能;
|
||||
* 系统支持多种URL模式及模型、栏目、内容自定义地址名称,满足各类网站推广优化的需要。
|
||||
项目简介
|
||||
- 本项目为 GeneAgro CMS,基于 PbootCMS(核心版本 3.2.5,release 20230421,revise 4)。
|
||||
- 适用于企业官网、资讯展示与接口输出,包含前台、后台与 API 三部分。
|
||||
|
||||
## 简单到想哭的模板标签:
|
||||
```
|
||||
1、全局标签示意:
|
||||
{pboot:sitetitle} 站点标题
|
||||
{pboot:sitelogo} 站点logo
|
||||
技术栈与主要组件
|
||||
- 后端:PHP 7.x(建议 7.1–7.4),MySQL(mysqli 驱动)。
|
||||
- 前端:Bootstrap、jQuery(见 template/default 目录)。
|
||||
- 其它:可选 Memcache(缓存与会话),日志支持数据库与文本两种。
|
||||
|
||||
2、列表页标签示意:
|
||||
{pboot:list num=10 order=date}
|
||||
<p><a href="[list:link]">[list:title]</a></p>
|
||||
{/pboot:list}
|
||||
环境要求与依赖
|
||||
- PHP 版本:代码中强制校验 7.0+(Check::checkPHP)。不建议在 PHP 8.0 上运行。
|
||||
- 必需扩展:gd、mbstring、curl;数据库驱动:mysqli;可选扩展:memcache(用于缓存/会话)。
|
||||
- Web 服务器:需开启伪静态/URL 重写(rewrite 目录提供 Nginx/Apache/IIS 参考)。
|
||||
- 时区与编码:默认设置为 Asia/Shanghai,输出 UTF-8。
|
||||
- Composer:仓库已包含 vendor。若 vendor 缺失,可执行 composer install 以补齐依赖。
|
||||
|
||||
3、内容页标签示意:
|
||||
{content:title} 标题
|
||||
{content:subtitle}副标题
|
||||
{content:author} 作者
|
||||
{content:source} 来源
|
||||
入口与模块职责
|
||||
- 前台入口:index.php(网站首页与内容展示)。
|
||||
- 后台入口:iotadmin.php(系统管理后台)。
|
||||
- API 入口:api.php(接口输出,含认证校验)。
|
||||
- 路由配置:
|
||||
- apps/common/route.php:定义系统内置的路由分发(admin 系统/内容/会员,前台 sitemap,API list/content/about/search 等)。
|
||||
- config/route.php:可进行项目级路由扩展或覆盖。
|
||||
|
||||
更多简单到想哭的标签请参考开发手册...
|
||||
快速开始
|
||||
1) 部署代码到 Web 根目录(确保 PHP 与扩展满足要求)。
|
||||
2) 配置数据库连接:编辑 config/database.php(type=\"mysqli\",host/user/passwd/port/dbname)。
|
||||
3) 配置站点与系统参数:编辑 config/config.php(或通过后台配置页)。
|
||||
4) 配置伪静态/重写:参考 rewrite/.htaccess、nginx.txt、web.config。
|
||||
5) 访问后台:浏览器打开 http(s)://<域名或IP>/iotadmin.php,首次登录后完善站点信息。
|
||||
6) 前台访问:浏览器打开 http(s)://<域名或IP>/。
|
||||
7) API 配置与使用:在后台“系统配置”页开启 WebAPI 并设置认证参数(详见下文“API 认证与示例”)。
|
||||
|
||||
```
|
||||
常用配置说明(核心项)
|
||||
- WebAPI(后台系统配置页)
|
||||
- api_open:开启/关闭接口能力。
|
||||
- api_auth:开启/关闭接口签名认证(建议开启)。
|
||||
- api_appid:接口用户名(调用方标识)。
|
||||
- api_secret:接口密钥(调用方密钥)。
|
||||
- 日志
|
||||
- 记录方式:core/convention.php 中 log_record_type,可配置为 \"db\" 或 \"text\"。
|
||||
- 数据库日志:写入 ay_syslog 表(字段含 level、event、ip、os、bs、user、time)。
|
||||
- 文本日志:写至 log/ 目录按日归档(YYYYMMDD.log)。
|
||||
- 会话与缓存
|
||||
- 会话存储:默认文件;如需 Memcache,请在 core/convention.php 配置 session.handler=\"memcache\" 并正确设置地址。
|
||||
- 缓存:cache.handler 可选 \"memcache\",需安装 PHP memcache 扩展。
|
||||
- 上传与水印
|
||||
- 上传格式与尺寸:在 core/convention.php 中 upload.* 与 ico.* 配置。
|
||||
- 水印:可在后台配置中开启/设置水印参数。
|
||||
- 模板与主题
|
||||
- 模板目录:template/default;可通过 setTheme/assign 方法进行变量注入与主题切换。
|
||||
|
||||
## 主要功能:
|
||||
* 支持自定义模板
|
||||
* 支持站点信息后台配置
|
||||
* 支持无限极栏目
|
||||
* 支持自定义内容模型
|
||||
* 支持自定义内容字段
|
||||
* 支持专题单页内容
|
||||
* 支持列表内容管理
|
||||
* 支持内容复制移动
|
||||
* 支持自定义栏目地址
|
||||
* 支持自定义内容地址
|
||||
* 支持多语言区域建站
|
||||
* 支持手机独立模板
|
||||
* 支持手机版域名绑定
|
||||
* 支持首页分页
|
||||
* 支持页面SEO优化
|
||||
* 支持在线留言
|
||||
* 支持幻N组灯片轮播
|
||||
* 支持友情链接
|
||||
* 支持自定义表单
|
||||
* 支持多条件筛选
|
||||
* 支持多条件搜索
|
||||
* 支持验证码开关
|
||||
* 支持留言发送到多邮箱
|
||||
* 支持API对接
|
||||
* 支持小程序/APP开发
|
||||
* 支持Ajax远程获取数据
|
||||
* 支持自定义标签
|
||||
* 支持全站伪静态
|
||||
* 支持前端动态缓存
|
||||
* 支持系统角色管理
|
||||
* 支持完整角色权限管理
|
||||
* 支持多用户在线管理
|
||||
* 支持系统日志功能
|
||||
* 支持数据库在线管理
|
||||
* 支持后台在线升级
|
||||
* 支持自定义URL模式
|
||||
API 认证与示例
|
||||
- 开启 api_open 后,若 api_auth=1,则每次请求必须带上时间戳与签名。
|
||||
- 签名生成:sign = md5( md5( api_appid + api_secret + timestamp ) )。
|
||||
- 时间戳有效期:15 秒内有效,过期拒绝。
|
||||
- 示例(GET):/api/list?appid=YOUR_APPID×tamp=UNIX_TS&sign=YOUR_SIGN
|
||||
- 主要接口(apps/common/route.php):list、content、about、search 等。
|
||||
|
||||
## 系统安装:
|
||||
目录结构速览
|
||||
- apps/admin:后台控制器、模型与视图。
|
||||
- apps/home:前台控制器与模型。
|
||||
- apps/api:接口层(可扩展)。
|
||||
- apps/common:公共控制器与路由、版本信息。
|
||||
- core/basic:核心基础类(Controller/Model/Db/Cache/Log 等)。
|
||||
- core/function:常用函数库(helper/handle/file)。
|
||||
- core/log:日志实现(数据库与文本)。
|
||||
- config:项目配置(config.php、database.php、route.php)。
|
||||
- rewrite:不同服务器的伪静态规则示例。
|
||||
- template/default:前端模板与静态资源。
|
||||
|
||||
发布的源码默认采用sqlite数据库,放入PHP(7.0+)空间即可直接使用(不支持php8.0)。
|
||||
部署与运维建议
|
||||
- 开启伪静态:根据服务器类型使用 rewrite 目录对应示例。
|
||||
- 生产模式关闭调试:在 core/convention.php 中设置 debug=false。
|
||||
- 数据库备份:static/backup/sql 目录可用于备份脚本/数据。
|
||||
- 日志与监控:建议使用数据库日志并对 ay_syslog 做索引与归档。
|
||||
|
||||
如果需要启用Mysql版本,请导入目录下数据库文件/static/backup/sql/xxx.sql,同时请注意使用最新日期名字的脚本文件,并修改config/database数据库连接文件信息。
|
||||
常见问题
|
||||
- 访问出现 404:检查伪静态是否生效,确认入口文件路径正确。
|
||||
- API 调用失败(签名错误或超时):核对 appid/secret 与签名算法,确保服务器与调用方时间同步。
|
||||
- 图片上传失败:检查 upload.format 与尺寸限制,确认 GD 扩展已启用。
|
||||
- 登录或会话异常:若使用 Memcache,确认扩展与地址配置正确;否则使用默认文件存储。
|
||||
|
||||
系统后台默认访问路径:http://ip/admin.php 账号:admin 密码:123456,
|
||||
许可协议
|
||||
- 本项目采用 Apache License 2.0。详见仓库 LICENSE 文件。
|
||||
|
||||
版本信息
|
||||
- Core/App 版本:apps/common/version.php 中 app_version=3.2.5,release_time=20230421,revise_version=4。
|
||||
|
||||
## 升级说明:
|
||||
|
||||
* 使用后台在线升级(推荐):
|
||||
|
||||
支持跨版本升级,会自动升级数据库及代码文件。
|
||||
|
||||
* 使用全包升级:
|
||||
|
||||
支持跨版本升级,保留config、data、static、template目录,其余全部用新版替换, 同时如果涉及到的中间版本有升级数据库,需要使用群文件数据库脚本升级数据库。
|
||||
|
||||
|
||||
## 授权声明:
|
||||
1、PbootCMS是免费可商用的建站系统,用户通过官网获取免费域名授权码即算授权成功,并且永久有效。对于已经授权的域名也不存在未来收费的说法,大家可以放心使用。
|
||||
|
||||
2、PbootCMS系统允许个人或公司进行任意二开及商用,但是不允许任何形式的破解或绕过系统授权的行为,包括但不限于通过PbootCMS系统建设网站、二次开发、发布衍生版本等情况,对于任何破解或绕过PbootCMS官网授权的行为,我们将保留依法追究法律责任的权力。
|
||||
|
||||
3、PbootCMS除了一个授权文件代码外,其它代码全部开源,并使用Apache2开源协议。对于任何基于PbootCMS进行二开的系统,应该遵守Apache2开源协议的有关要求。
|
||||
|
||||
4、PbootCMS官方不对使用本软件所构建网站中的文章、商品和其它任何信息承担责任,不管您通过任何渠道下载本软件,您一旦开始安装PbootCMS,即被视为完全理解并接受PbootCMS授权声明的各项条款。
|
||||
|
||||
## 联系我们:
|
||||
官方网站:https://www.pbootcms.com/
|
||||
|
||||
Gitee:https://gitee.com/hnaoyun/PbootCMS
|
||||
致谢
|
||||
- 基于 PbootCMS 的二次开发与定制改造,感谢原项目与社区贡献。
|
||||
|
||||
93
README_CN.md
Normal file
93
README_CN.md
Normal file
@@ -0,0 +1,93 @@
|
||||
# GeneAgro CMS 使用说明(基于 PbootCMS 3.2.5)
|
||||
|
||||
项目简介
|
||||
- 本项目为 GeneAgro CMS,基于 PbootCMS(核心版本 3.2.5,release 20230421,revise 4)。
|
||||
- 适用于企业官网、资讯展示与接口输出,包含前台、后台与 API 三部分。
|
||||
|
||||
技术栈与主要组件
|
||||
- 后端:PHP 7.x(建议 7.1–7.4),MySQL(mysqli 驱动)。
|
||||
- 前端:Bootstrap、jQuery(见 template/default 目录)。
|
||||
- 其它:可选 Memcache(缓存与会话),日志支持数据库与文本两种。
|
||||
|
||||
环境要求与依赖
|
||||
- PHP 版本:代码中强制校验 7.0+(Check::checkPHP)。不建议在 PHP 8.0 上运行。
|
||||
- 必需扩展:gd、mbstring、curl;数据库驱动:mysqli;可选扩展:memcache(用于缓存/会话)。
|
||||
- Web 服务器:需开启伪静态/URL 重写(rewrite 目录提供 Nginx/Apache/IIS 参考)。
|
||||
- 时区与编码:默认设置为 Asia/Shanghai,输出 UTF-8。
|
||||
- Composer:仓库已包含 vendor。若 vendor 缺失,可执行 composer install 以补齐依赖。
|
||||
|
||||
入口与模块职责
|
||||
- 前台入口:index.php(网站首页与内容展示)。
|
||||
- 后台入口:iotadmin.php(系统管理后台)。
|
||||
- API 入口:api.php(接口输出,含认证校验)。
|
||||
- 路由配置:
|
||||
- apps/common/route.php:定义系统内置的路由分发(admin 系统/内容/会员,前台 sitemap,API list/content/about/search 等)。
|
||||
- config/route.php:可进行项目级路由扩展或覆盖。
|
||||
|
||||
快速开始
|
||||
1) 部署代码到 Web 根目录(确保 PHP 与扩展满足要求)。
|
||||
2) 配置数据库连接:编辑 config/database.php(type=\"mysqli\",host/user/passwd/port/dbname)。
|
||||
3) 配置站点与系统参数:编辑 config/config.php(或通过后台配置页)。
|
||||
4) 配置伪静态/重写:参考 rewrite/.htaccess、nginx.txt、web.config。
|
||||
5) 访问后台:浏览器打开 http(s)://<域名或IP>/iotadmin.php,首次登录后完善站点信息。
|
||||
6) 前台访问:浏览器打开 http(s)://<域名或IP>/。
|
||||
7) API 配置与使用:在后台“系统配置”页开启 WebAPI 并设置认证参数(详见下文“API 认证与示例”)。
|
||||
|
||||
常用配置说明(核心项)
|
||||
- WebAPI(后台系统配置页)
|
||||
- api_open:开启/关闭接口能力。
|
||||
- api_auth:开启/关闭接口签名认证(建议开启)。
|
||||
- api_appid:接口用户名(调用方标识)。
|
||||
- api_secret:接口密钥(调用方密钥)。
|
||||
- 日志
|
||||
- 记录方式:core/convention.php 中 log_record_type,可配置为 \"db\" 或 \"text\"。
|
||||
- 数据库日志:写入 ay_syslog 表(字段含 level、event、ip、os、bs、user、time)。
|
||||
- 文本日志:写至 log/ 目录按日归档(YYYYMMDD.log)。
|
||||
- 会话与缓存
|
||||
- 会话存储:默认文件;如需 Memcache,请在 core/convention.php 配置 session.handler=\"memcache\" 并正确设置地址。
|
||||
- 缓存:cache.handler 可选 \"memcache\",需安装 PHP memcache 扩展。
|
||||
- 上传与水印
|
||||
- 上传格式与尺寸:在 core/convention.php 中 upload.* 与 ico.* 配置。
|
||||
- 水印:可在后台配置中开启/设置水印参数。
|
||||
- 模板与主题
|
||||
- 模板目录:template/default;可通过 setTheme/assign 方法进行变量注入与主题切换。
|
||||
|
||||
API 认证与示例
|
||||
- 开启 api_open 后,若 api_auth=1,则每次请求必须带上时间戳与签名。
|
||||
- 签名生成:sign = md5( md5( api_appid + api_secret + timestamp ) )。
|
||||
- 时间戳有效期:15 秒内有效,过期拒绝。
|
||||
- 示例(GET):/api/list?appid=YOUR_APPID×tamp=UNIX_TS&sign=YOUR_SIGN
|
||||
- 主要接口(apps/common/route.php):list、content、about、search 等。
|
||||
|
||||
目录结构速览
|
||||
- apps/admin:后台控制器、模型与视图。
|
||||
- apps/home:前台控制器与模型。
|
||||
- apps/api:接口层(可扩展)。
|
||||
- apps/common:公共控制器与路由、版本信息。
|
||||
- core/basic:核心基础类(Controller/Model/Db/Cache/Log 等)。
|
||||
- core/function:常用函数库(helper/handle/file)。
|
||||
- core/log:日志实现(数据库与文本)。
|
||||
- config:项目配置(config.php、database.php、route.php)。
|
||||
- rewrite:不同服务器的伪静态规则示例。
|
||||
- template/default:前端模板与静态资源。
|
||||
|
||||
部署与运维建议
|
||||
- 开启伪静态:根据服务器类型使用 rewrite 目录对应示例。
|
||||
- 生产模式关闭调试:在 core/convention.php 中设置 debug=false。
|
||||
- 数据库备份:static/backup/sql 目录可用于备份脚本/数据。
|
||||
- 日志与监控:建议使用数据库日志并对 ay_syslog 做索引与归档。
|
||||
|
||||
常见问题
|
||||
- 访问出现 404:检查伪静态是否生效,确认入口文件路径正确。
|
||||
- API 调用失败(签名错误或超时):核对 appid/secret 与签名算法,确保服务器与调用方时间同步。
|
||||
- 图片上传失败:检查 upload.format 与尺寸限制,确认 GD 扩展已启用。
|
||||
- 登录或会话异常:若使用 Memcache,确认扩展与地址配置正确;否则使用默认文件存储。
|
||||
|
||||
许可协议
|
||||
- 本项目采用 Apache License 2.0。详见仓库 LICENSE 文件。
|
||||
|
||||
版本信息
|
||||
- Core/App 版本:apps/common/version.php 中 app_version=3.2.5,release_time=20230421,revise_version=4。
|
||||
|
||||
致谢
|
||||
- 基于 PbootCMS 的二次开发与定制改造,感谢原项目与社区贡献。
|
||||
40
doc/API.md
Normal file
40
doc/API.md
Normal file
@@ -0,0 +1,40 @@
|
||||
# GeneAgro CMS API 使用与认证说明
|
||||
|
||||
开启与配置
|
||||
- 后台系统配置页提供 WebAPI 设置:
|
||||
- api_open:是否开启接口能力;
|
||||
- api_auth:是否开启签名认证(建议开启);
|
||||
- api_appid:接口用户名;
|
||||
- api_secret:接口密钥。
|
||||
|
||||
认证机制
|
||||
- 时间戳与签名:
|
||||
- 传参:appid、timestamp、sign;
|
||||
- 有效期:timestamp 在 15 秒内有效;
|
||||
- 生成:sign = md5( md5( appid + secret + timestamp ) );
|
||||
- 当 api_auth=1 且校验失败时,接口拒绝访问。
|
||||
- 示例(PHP 生成签名):
|
||||
```php
|
||||
$appid = 'YOUR_APPID';
|
||||
$secret = 'YOUR_SECRET';
|
||||
$ts = time();
|
||||
$sign = md5(md5($appid . $secret . $ts));
|
||||
$url = "https://your-domain/api/list?appid={$appid}×tamp={$ts}&sign={$sign}";
|
||||
```
|
||||
|
||||
内置接口(apps/common/route.php)
|
||||
- list:内容列表;
|
||||
- content:单条内容;
|
||||
- about:关于信息;
|
||||
- search:内容搜索;
|
||||
- 具体字段取决于模型层实现,实际项目可扩展 apps/api 以提供自定义数据结构。
|
||||
|
||||
调用建议
|
||||
- 使用 HTTPS;
|
||||
- 发起端与服务端时间同步;
|
||||
- 控制速率与并发,对搜索与列表类接口做分页与缓存(如 Memcache)。
|
||||
|
||||
错误与排查
|
||||
- 403/认证失败:检查 appid/secret 与签名算法,确认时间戳是否过期;
|
||||
- 404/路由不存在:检查 apps/common/route.php 与 config/route.php 是否定义;
|
||||
- 500/内部错误:查看 log/ 文本日志或 ay_syslog 数据库日志,定位模型/控制器异常。
|
||||
61
doc/Architecture.md
Normal file
61
doc/Architecture.md
Normal file
@@ -0,0 +1,61 @@
|
||||
# GeneAgro CMS 架构与目录说明
|
||||
|
||||
总体概览
|
||||
- 项目基于 PbootCMS 内核,按“前台(Home)/后台(Admin)/接口(API)/公共(Common)/核心(Core)”五层组织。
|
||||
- 入口文件:
|
||||
- index.php:前台入口。
|
||||
- iotadmin.php:后台入口。
|
||||
- api.php:接口入口。
|
||||
- 初始化:入口文件加载 core/init.php,完成常量定义、错误处理、自动加载、环境校验与会话初始化。
|
||||
|
||||
核心目录与职责
|
||||
- apps/home:前台控制器与模型,负责页面展示与内容读取。
|
||||
- apps/admin:后台控制器、模型与视图,用于系统配置、内容管理、会员管理等。
|
||||
- apps/api:接口层(如需扩展或新增接口,建议在此目录组织)。
|
||||
- apps/common:公共控制器(AdminController、HomeController、ApiController)、公共路由(route.php)与版本信息。
|
||||
- core/basic:框架基础能力(Controller/Model/Db/Cache/Log/Config/Kernel/Response 等)。
|
||||
- core/function:通用函数库(helper/handle/file)。
|
||||
- core/log:日志实现(数据库与文本)。
|
||||
- core/view:模板视图与解析器。
|
||||
- config:项目级配置(config.php、database.php、route.php)。
|
||||
- template/default:默认主题与静态资源(Bootstrap/JS/CSS)。
|
||||
- rewrite:伪静态规则示例(Apache/Nginx/IIS)。
|
||||
|
||||
加载与路由
|
||||
- 自动加载:core/basic/Basic.php::autoLoad。
|
||||
- 支持框架类、应用类与命名空间类加载。
|
||||
- 路由:apps/common/route.php 定义系统主路由,包括:
|
||||
- 后台:admin/system、admin/content、admin/member。
|
||||
- 前台:sitemap。
|
||||
- 接口:api/list、api/content、api/about、api/search。
|
||||
- 可在 config/route.php 中做项目级路由扩展或覆盖。
|
||||
|
||||
控制器与视图
|
||||
- 基类:core/basic/Controller.php。
|
||||
- display/parser:模板解析与输出,支持 gzip 压缩与运行时统计。
|
||||
- assign/getVar:模板变量注入与获取。
|
||||
- cache:页面缓存(可选)。
|
||||
- log:统一日志写入(支持 db/text)。
|
||||
- 视图引擎:core/view/*(Parser/View),支持主题与变量替换。
|
||||
|
||||
会话与缓存
|
||||
- 会话:Basic::setSessionHandler,默认文件存储;支持 Memcache(需安装扩展并配置)。
|
||||
- 缓存:core/cache/*,Memcache 驱动可选(需启用扩展与配置)。
|
||||
|
||||
日志
|
||||
- 文本日志:core/log/LogText.php,日志文件位于 log/ 下,按日归档。
|
||||
- 数据库日志:core/log/LogDb.php,写入 ay_syslog 表(字段:level、event、ip、os、bs、user、time)。
|
||||
- 控制器内通过 $this->log(...) 或 Controller::log(...) 写入。
|
||||
|
||||
文件与上传
|
||||
- 文件/目录:core/function/file.php 提供创建、检测、复制、列表、删除等工具函数。
|
||||
- 上传:upload() 支持格式校验、尺寸限制与水印(配合配置项使用)。
|
||||
|
||||
版本与配置覆盖
|
||||
- 默认配置:core/convention.php。
|
||||
- 应用配置覆盖:config/config.php 与 config/route.php。
|
||||
- 版本:apps/common/version.php(app_version=3.2.5)。
|
||||
|
||||
扩展与集成
|
||||
- core/extend:二维码、Excel、腾讯云 COS、Ueditor 等扩展。
|
||||
- core/weixin:微信相关 SDK(网页授权、模板消息、JS-SDK 等)。
|
||||
27
doc/CHANGELOG_template.md
Normal file
27
doc/CHANGELOG_template.md
Normal file
@@ -0,0 +1,27 @@
|
||||
# 变更日志模板(示例)
|
||||
|
||||
说明
|
||||
- 建议采用语义化、分门别类记录每次发布的变化,便于回溯与审核。
|
||||
- 分类:Added(新增)、Changed(变更)、Fixed(修复)、Removed(移除)、Security(安全)。
|
||||
|
||||
Unreleased
|
||||
- Added:
|
||||
- Changed:
|
||||
- Fixed:
|
||||
- Security:
|
||||
|
||||
3.2.5 - 2023-04-21
|
||||
- Added:升级核心至 3.2.5;新增/调整部分系统配置项。
|
||||
- Changed:优化接口签名与时效校验(ApiController)。
|
||||
- Fixed:兼容性与稳定性修复若干。
|
||||
|
||||
3.2.x - 2023-XX-XX
|
||||
- Added:
|
||||
- Changed:
|
||||
- Fixed:
|
||||
|
||||
记录规范
|
||||
- 每次发布必须记录版本号、日期与核心变化;
|
||||
- 所有文件/接口/配置的破坏性变更需在 \"Changed\" 或 \"Removed\" 中明确标注;
|
||||
- 安全相关修复应在 \"Security\" 分类中突出说明与影响范围;
|
||||
- 建议附上迁移指南(如有数据库结构或配置项变化)。
|
||||
49
doc/Deployment.md
Normal file
49
doc/Deployment.md
Normal file
@@ -0,0 +1,49 @@
|
||||
# GeneAgro CMS 部署与重写规则指南
|
||||
|
||||
环境准备
|
||||
- PHP:7.0 及以上(建议 7.1–7.4),启用 gd、mbstring、curl、mysqli 扩展。
|
||||
- Web 服务器:Nginx/Apache/IIS 均可,需开启伪静态/URL 重写。
|
||||
- 时区与编码:建议在 php.ini 中设置 date.timezone=Asia/Shanghai;确保输出编码为 UTF-8。
|
||||
|
||||
目录权限
|
||||
- 需写入权限:runtime、log、static/upload、data 等目录。
|
||||
- 生产环境最小化权限:仅赋予必要写入目录权限,其他目录只读。
|
||||
|
||||
重写规则示例
|
||||
- Nginx(参考 rewrite/nginx.txt)
|
||||
- 典型配置:
|
||||
- location / { try_files $uri $uri/ /index.php?$args; }
|
||||
- 后台入口保持直达:/iotadmin.php。
|
||||
- Apache(参考 rewrite/.htaccess)
|
||||
- 典型配置:
|
||||
- RewriteEngine On
|
||||
- RewriteCond %{REQUEST_FILENAME} !-f
|
||||
- RewriteCond %{REQUEST_FILENAME} !-d
|
||||
- RewriteRule . index.php [L]
|
||||
- IIS(参考 rewrite/web.config)
|
||||
- 使用 URL Rewrite 组件导入 web.config 配置。
|
||||
|
||||
应用入口与路由
|
||||
- 前台入口:index.php。
|
||||
- 后台入口:iotadmin.php。
|
||||
- API 入口:api.php。
|
||||
- 路由:apps/common/route.php(系统内置),config/route.php(项目覆盖与扩展)。
|
||||
|
||||
部署流程建议
|
||||
1) 上传代码至站点目录,确认 PHP 版本与扩展;
|
||||
2) 配置数据库(config/database.php)与站点参数(config/config.php);
|
||||
3) 设置伪静态规则(参考 rewrite 目录);
|
||||
4) 访问后台 iotadmin.php 完成站点与 API 配置;
|
||||
5) 验证前台与 API 可用性;
|
||||
6) 关闭调试模式(core/convention.php 中 debug=false),开启必要的日志与监控。
|
||||
|
||||
安全加固
|
||||
- HTTPS:建议强制 HTTPS(尤其是后台与 API 访问)。
|
||||
- 会话安全:启用仅站点路径会话(session_in_sitepath=true),合理设置 Cookie 参数(HttpOnly、Secure)。
|
||||
- 访问控制:按需配置 access_rule.*(限制特定浏览器/操作系统)。
|
||||
- 文件上传:限制格式与尺寸,开启水印(如有需求),对上传目录做执行权限隔离(不允许脚本执行)。
|
||||
|
||||
性能与运维
|
||||
- 缓存:根据业务开启 Memcache(cache.handler=memcache)。
|
||||
- 日志:生产环境建议使用数据库日志,并按周期归档;或文本日志按日切割并外采。
|
||||
- 备份:数据库定时备份,日志与上传文件定期打包与远端归档。
|
||||
48
doc/Infrastructure.md
Normal file
48
doc/Infrastructure.md
Normal file
@@ -0,0 +1,48 @@
|
||||
# GeneAgro CMS 基础设施使用说明(数据库/缓存/日志/上传)
|
||||
|
||||
数据库
|
||||
- 配置文件:config/database.php。
|
||||
- 主要参数:type=\"mysqli\",host、user、passwd、port、dbname、prefix(默认 ay_)、charset(utf8)。
|
||||
- 事务:可在 core/convention.php 中配置 database.transaction。
|
||||
- 使用建议:
|
||||
- 为 ay_syslog(系统日志表)创建必要索引(如 time、level)。
|
||||
- 生产环境开启最小化权限账号(仅当前库权限)。
|
||||
|
||||
缓存与会话
|
||||
- 会话存储:默认文件。
|
||||
- 切换为 Memcache:在 core/convention.php 设置 session.handler=\"memcache\",并配置 session.path 与 cache.server(host:port)。
|
||||
- 注意事项:
|
||||
- 需要安装 PHP memcache 扩展;确保 Memcache 服务可用。
|
||||
- Basic::setSessionHandler 中会话路径键名为 \"seesion.path\"(存在拼写问题)。若启用 Memcache 会话,请在 config/config.php 中使用 \"seesion.path\" 键进行覆盖,或修复 Basic.php 将其改为 \"session.path\"。
|
||||
- 缓存:core/cache/*。
|
||||
- Memcache 驱动:通过 cache.handler=\"memcache\" 启用。
|
||||
- 适用场景:热点数据、配置缓存、列表页缓存等。
|
||||
|
||||
日志
|
||||
- 配置:core/convention.php 中 log_record_type(\"db\" 或 \"text\")。
|
||||
- 文本日志:
|
||||
- 位置:log/ 目录,按日期分文件(YYYYMMDD.log)。
|
||||
- 字段:level、content、ip、os、bs、user、time。
|
||||
- 数据库日志:
|
||||
- 表:ay_syslog(通过 core/log/LogDb.php 写入)。
|
||||
- 字段:level、event、ip、os、bs、user、time。
|
||||
- 写入方式:控制器中使用 $this->log($level, $content) 或 Controller::log(...)。
|
||||
|
||||
上传与水印
|
||||
- 入口函数:core/function/file.php::upload。
|
||||
- 配置项:
|
||||
- upload.format:允许上传的扩展名列表(如 jpg|png|gif|bmp|jpeg)。
|
||||
- upload.max_width / upload.max_height:最大尺寸限制。
|
||||
- ico.max_width / ico.max_height:缩略图尺寸限制。
|
||||
- 水印:在后台系统配置开启后,上传函数执行水印处理(需 GD 扩展)。
|
||||
- 存储路径:默认 static/upload/image/ 下(可按业务自定义与扩展)。
|
||||
|
||||
安全与合规
|
||||
- 访问控制:core/convention.php 的 access_rule.* 可限制特定浏览器或操作系统访问。
|
||||
- 会话安全:建议开启仅站点路径会话(session_in_sitepath=true),并启用 HttpOnly 与 Secure(按站点 HTTPS 情况设置)。
|
||||
- 文件权限:确保 runtime、log、static/upload、data 等目录具备写入权限;生产环境最小化权限策略。
|
||||
|
||||
运维建议
|
||||
- 定期归档日志:按日/周归档 text 日志或对 ay_syslog 做清理策略。
|
||||
- 数据库备份:static/backup/sql 可存放备份脚本,建议配合定时任务与远程备份。
|
||||
- 性能优化:合理使用 Memcache;长列表页可结合分页与缓存降低数据库压力。
|
||||
Reference in New Issue
Block a user