TypeRenew 是基于开源博客系统 Typecho 所开发的现代化 CMS 程序,完整继承了 Typecho 轻量、简洁、高效的内核基因,同时针对现代运行环境进行全面适配,修复遗留的兼容性问题,并原生集成了缓存、邮件等实用功能,适合搭建个人博客或轻量内容站点,项目 QQ 交流群:1073739854
Typecho 作为知名的轻量级博客程序,以代码简洁、运行高效著称,但原版项目维护节奏较慢,存在以下问题:
- 对 PHP 8.0+ 环境的兼容性不足
- 缺少现代化的界面设计,操作体验相对陈旧
- 未内置缓存机制,高并发场景下性能受限
- 相较于其他 CMS,较多 “基础功能” 需要额外依赖第三方插件实现
- 历经多年,三方插件开发、适配混乱,难以 “开箱即用”
因此,TypeRenew 的开发初衷是解决上述问题,并在继承 Typecho 开发精神的前提下,提供开箱即用的现代化体验。
同时,项目的实现基于对 Typecho 原有代码的渐进式改造,这让原 Typecho 用户可以平滑迁移至 TypeRenew,开发者也能快速上手进行二次开发。
- 最低要求 PHP 8.0,充分利用现代 PHP 特性
- 支持 MySQL 8.0+、PostgreSQL 12+、SQLite 3.x 三种数据库
- 内置缓存层,原生集成 Redis 或 APCu 缓存,显著降低数据库查询压力
截止 2026/3/15,项目自带三个 TypeRenew 专用拓展,安装后即可启用:
| 插件 | 功能 |
|---|---|
| RenewAvatar | 头像源替换,支持多种 Gravatar 镜像源,可全局生效或仅限评论区域 |
| RenewGo | 外链安全拓展,支持安全提示页跳转或 302 跳转,可配置白名单和日志记录 |
| VditorRenew | 引入 Vditor 编辑器,支持所见即所得、即时渲染、分屏预览三种模式,兼容旧文章 |
| 敬请期待...... | 持续更新中...... |
| 项目 | 最低要求 | 推荐配置 |
|---|---|---|
| PHP | 8.0 | 8.2+ |
| MySQL | 5.7 | 8.0+ |
| PostgreSQL | 10 | 12+ |
| SQLite | 3.x | 3.x |
| Redis(可选) | 5.0 | 6.0+ |
必需扩展:
- mbstring
- json
- Reflection
数据库扩展(至少安装一个):
- mysqli 或 pdo_mysql(MySQL)
- pgsql 或 pdo_pgsql(PostgreSQL)
- sqlite3 或 pdo_sqlite(SQLite)
可选扩展:
- redis(缓存加速)
- apcu(缓存加速)
安装前请确保以下目录具有写入权限:
/usr/uploads/- 上传文件存储目录/- 根目录(安装时需要写入 config.inc.php)
从 Release 中下载压缩包,解压到 Web 服务器根目录。
- 在浏览器中访问
http://your-domain.com/ - 第一步:系统自动检测环境,确认 PHP 版本和扩展满足要求,阅读并同意许可协议
- 第二步:填写数据库连接信息,选择数据库类型(MySQL/PostgreSQL/SQLite),设置表前缀
- 第三步:创建管理员账号,设置用户名、邮箱和密码
- 安装完成后自动跳转到后台登录页面
安装程序会在根目录生成 config.inc.php 配置文件,包含数据库连接信息和系统初始化代码。
- 通过 Typecho 后台 “备份” 页,对原站点数据进行备份,系统会自动下载 .dat 格式备份文件
- 手动备份原站点的
usr/目录 - 从 Release 中下载压缩包,解压到 Web 服务器根目录
- 将备份的原站点
usr/目录复制到新站 - 执行 TypeRenew 全新安装程序
- 登录管理后台,在 “备份” 页上传 .dat 格式备份文件,并按页面指引完成恢复流程
- 重新启用插件和主题
- 后台「设置」-「缓存」
- 开启缓存状态
- 选择驱动类型(Redis 或 APCu)
- 设置缓存前缀和默认过期时间
- 保存配置
启用后,系统会自动缓存数据库查询结果和页面片段,并在数据变更时自动更新缓存。
- 后台「设置」-「邮件」
- 选择发送方式(SMTP 或 PHP mail)
- 填写 SMTP 服务器地址、端口、账号密码
- 设置发件人名称和地址
- 点击「发送测试邮件」验证配置
配置完成后,评论通知、密码重置等邮件将自动发送。
确保 /usr/uploads/ 目录存在且具有写入权限:
mkdir -p usr/uploads
chmod 755 usr/uploads- 检查
config.inc.php是否正确生成 - 检查数据库连接信息是否正确
- 查看 PHP 错误日志定位具体原因
缓存会在数据变更时自动失效,如果手动修改了数据库,可通过后台「设置」-「缓存」点击「清空缓存」强制刷新。
- 检查 SMTP 服务器地址和端口是否正确
- 确认 SMTP 服务器支持该端口(部分服务商封锁 25 端口)
- 尝试更换加密方式(SSL/TLS)
- 查看后台「设置」-「邮件」页面的错误日志
- 清除浏览器 Cookie 后重试
- 检查
config.inc.php中的站点 URL 配置 - 确认数据库中
typerenew_users表存在且管理员账号正常
欢迎提交 Issue 和 Pull Request,或通过 Discussions 参与对项目开发的讨论。
- 使用中文或英文描述问题
- 提供复现步骤、期望结果、实际结果
- 附上运行环境信息(PHP 版本、数据库类型和版本)
- 已有 Issue 中检索避免重复提交
- Fork 本仓库
- 创建功能分支:
git checkout -b feature/your-feature - 提交代码:
git commit -m 'Add some feature' - 推送分支:
git push origin feature/your-feature - 提交 Pull Request
- 遵循 PSR-12 编码规范
- 新增代码必须包含类型声明
- 复杂逻辑添加注释说明
- 单个 PR 控制在合理范围,避免大规模重构
本项目基于 GNU General Public License 2.0 协议开源。
核心条款:
- 可以自由使用、修改、分发本软件
- 分发时必须保留原始版权声明和许可证
- 修改后的版本必须以相同协议开源
- 不提供任何担保,作者不承担使用本软件产生的任何责任
完整协议文本见 LICENSE 文件或访问 GNU GPL 2.0。
TypeRenew 的开发建立在以下开源项目的基础上:
感谢 Typecho 开发团队和其他所有贡献者所创造的优秀产品,同时还要感谢开源社区的支持。