楊磊博客

分享技术与生活,记录点滴思考

博客系统使用说明

一、系统简介

婳阳博客系统是一款基于 PHP + SQLite 的单文件轻量级博客程序,内置功能强大的富文本编辑器(婳阳编辑器),支持文章发布、编辑、删除、标签管理、搜索、RSS 订阅、多套主题切换、单页面管理、友情链接管理、站点地图自动生成、验证码登录等丰富功能。系统无需配置复杂数据库,所有数据存储于一个 SQLite 文件中,便于部署和迁移。

主要特点

  • 单文件架构,上传即用

  • 内置管理员账户,开箱即用

  • 支持文章标签、阅读量统计

  • 强大的富文本编辑器(图文混排、站外引用卡片、代码高亮等)

  • 响应式设计,适配电脑、平板、手机

  • 四套主题(默认、暗夜、海洋、森林)自由切换

  • 前台搜索、RSS 订阅、站点地图自动生成

  • 单页面管理(可自定义“关于我们”“联系方式”等页面)

  • 友情链接管理

  • 验证码登录,增强安全性

  • 完整的 SEO 优化(Meta 标签、Open Graph、JSON-LD 结构化数据)


二、环境要求

  • PHP:版本 7.0 及以上(需启用 pdo_sqlite 扩展和 gd 扩展)

  • Web 服务器:Apache / Nginx / IIS 均可

  • 磁盘空间:至少 10 MB(用于存放程序文件和 SQLite 数据库)

  • 权限:程序所在目录需具有写入权限(用于创建和写入 blog.sqlite 数据库文件以及 sitemap.xml


三、安装步骤

  1. 下载程序
    将提供的 index.php 文件保存到您的网站根目录(或任意子目录)。

  2. 上传文件
    通过 FTP 或文件管理器将 index.php 上传至服务器。

  3. 设置目录权限
    确保 index.php 所在目录对 Web 服务器用户有写入权限(程序会自动创建 blog.sqlite 数据库文件和 sitemap.xml)。

    • Linux 环境下可使用命令:chmod 755 /path/to/your/directory

    • 若无法写入,程序会报错,请根据错误提示调整权限。

  4. 访问网站
    在浏览器中访问您的网站地址(例如 http://yourdomain.com/http://yourdomain.com/index.php),即可看到博客首页。

注意:本系统不使用 URL 重写,所有链接均为 ?action=xxx 形式,无需配置伪静态规则。


四、管理员登录与初始账户

系统默认内置一个管理员账户,用于管理博客:

  • 用户名admin

  • 密码admin123

登录步骤

  1. 在博客侧边栏点击“管理员登录”链接。

  2. 输入用户名、密码以及验证码(图片显示的数字/字母)。

  3. 点击“登录”,成功后侧边栏会显示“管理后台”、“修改密码”、“站点设置”、“单页面管理”、“友情链接”等管理入口。

提示:若验证码图片无法显示,请检查 PHP 的 GD 扩展是否已启用。若未启用,系统会以纯文本形式输出验证码。


五、后台管理功能

登录后,可通过侧边栏或移动端菜单进入各项管理功能。

1. 文章管理

  • 写新文章:点击“写新文章”按钮,填写标题、标签(多个标签用英文逗号分隔),在富文本编辑器中撰写正文。支持插入图片、视频、站外引用卡片等。发布后自动生成站点地图。

  • 编辑文章:在文章列表中找到对应文章,点击“编辑”按钮进行修改。

  • 删除文章:点击“删除”按钮,确认后文章被永久删除,同时站点地图自动更新。

  • 文章列表分页:后台每页显示 20 篇文章(可在站点设置中调整),超过则自动分页。

2. 站点设置

点击“站点设置”可配置以下参数:

  • 站点名称:显示在页面标题和页眉。

  • 站点描述:用于 Meta 描述和 RSS。

  • 站点关键词:多个关键词用英文逗号分隔。

  • 页脚版权信息:自定义页脚内容。

  • ICP 备案号:填写备案号后会在页脚显示链接。

  • 默认主题:选择前台默认主题(用户仍可自行切换,但默认主题会作为初始值)。

  • 前台每页文章数:首页每页显示的文章数量。

  • 后台每页文章数:管理后台文章列表每页显示数量。

  • 时区:选择服务器时区,影响文章发布时间显示。

保存设置后立即生效。

3. 单页面管理

单页面用于创建“关于我们”、“联系方式”等独立页面。

  • 添加新页面:填写标题、页面别名(英文,如 about)、内容,并设置是否显示在导航栏和底部,以及排序顺序。

  • 编辑/删除:可随时修改页面内容或删除。

  • 显示位置:若勾选“显示在导航栏”,页面链接会出现在侧边栏和移动端菜单;若勾选“显示在底部”,链接会出现在页脚。

4. 友情链接管理

用于在页脚显示友情链接。

  • 添加链接:填写名称和 URL,设置排序(数字越小越靠前)。

  • 编辑/删除:可修改链接信息或移除。

5. 修改密码

管理员可随时修改自己的密码。新密码长度至少 6 位,修改成功后需重新登录。

6. 退出登录

点击“退出登录”即可安全退出管理后台。


六、前台功能

1. 浏览文章

  • 首页按发布时间倒序列出所有文章,显示标题、摘要、发布日期、阅读量、标签。

  • 点击“阅读全文”或文章标题进入详情页,可看到完整内容及文章结构数据(JSON-LD)。

2. 标签云

  • 侧边栏“热门标签”区域列出了所有文章中使用的标签及使用次数,点击标签可查看该标签下的所有文章。

3. 搜索

  • 首页顶部或侧边栏提供搜索框,输入关键词可搜索标题和正文中包含该词的文章,搜索结果分页显示。

4. RSS 订阅

  • 侧边栏和页脚提供“RSS订阅”链接,点击可获得博客文章的 RSS 2.0 源,便于在阅读器中订阅。

5. 阅读量统计

  • 每篇文章被访问一次,阅读量自动加 1(同一页面刷新不重复计数)。

6. 单页面访问

  • 通过导航栏或底部链接访问自定义单页面,如“关于我们”。

7. 主题切换

  • 页面右上角有一个调色板图标,点击下拉菜单可切换四套主题(默认、暗夜、海洋、森林),切换后保存到本地存储,下次访问自动应用。

8. 站点地图

  • 站点地图 sitemap.xml 在每次发布、编辑、删除文章或管理单页面时自动更新,包含首页、所有文章页和单页面链接,方便搜索引擎抓取。页脚底部提供“站点地图”链接。


七、SEO 优化说明

本系统内置了多种 SEO 优化手段:

  • Meta 标签:每个页面都有独立的标题、描述、关键词。

  • Open Graph 标签:用于社交媒体分享时显示标题、描述、站点名称等。

  • JSON-LD 结构化数据:首页输出 WebSite 类型,文章页输出 Article 类型,单页面输出 WebPage 类型,帮助搜索引擎和 AI 工具理解网站内容。

  • 站点地图:自动生成并自动更新,确保搜索引擎能发现所有页面。

  • RSS 订阅:提供内容更新源,利于内容聚合和搜索引擎收录。

  • 友好的 URL:虽然未使用伪静态,但链接参数清晰(如 ?action=view&id=1),搜索引擎也能正常索引。


八、常见问题及解决

1. 页面提示“数据库连接失败”或无法创建 blog.sqlite

  • 原因:目录没有写入权限。

  • 解决:将程序所在目录的权限设置为 755 或 777(视服务器安全策略而定),确保 Web 用户可以创建和写入文件。

2. 登录时提示“验证码错误”或验证码不显示

  • 原因:PHP 未启用 GD 扩展,或会话未开启。

  • 解决:检查 php.iniextension=gd 是否启用;若验证码图片不显示但文本验证码可用,说明 GD 扩展未启用,请安装并启用。若会话未开启,确认 session_start() 正常执行。

3. 编辑器无法加载或按钮无反应

  • 原因:编辑器核心库从 http://hy.168hot.cn/fuwenben/HuayangEditor.js 加载,若网络受限或 HTTPS 站点引用 HTTP 资源,浏览器可能阻止。

  • 解决:将编辑器 JS 文件下载到本地,修改 index.php 中的引用路径为本地相对路径;或在服务器上配置 HTTPS 并确保资源使用 HTTPS 加载。

4. 发布文章后内容显示乱码

  • 原因:PHP 文件编码不是 UTF-8(无 BOM),或数据库字符集问题。

  • 解决:确保 index.php 文件保存为 UTF-8 编码(无 BOM);SQLite 默认使用 UTF-8,一般无需额外设置。

5. 如何备份和恢复数据

  • 备份:直接复制 blog.sqlite 文件即可,同时备份 sitemap.xml(可选)。

  • 恢复:将备份文件覆盖原文件,并确保文件权限正确。

6. 忘记管理员密码

  • 可通过删除 blog.sqlite 数据库文件让系统重建默认账户(注意:会丢失所有已有文章!),或使用 SQLite 管理工具(如 SQLite Expert、命令行)手动修改 users 表中的密码,使用 password_hash('新密码', PASSWORD_DEFAULT) 生成密文替换。

7. 如何修改首页每页显示的文章数

  • 登录后台,进入“站点设置”,修改“前台每页文章数”即可。

8. 单页面别名(slug)可以包含中文吗?

  • 建议使用英文或数字组合,避免出现特殊字符。若使用中文,URL 会进行编码,可能影响可读性,但不影响功能。


九、安全建议

  • 修改默认管理员密码,避免使用弱密码。

  • 定期备份 blog.sqlite 文件。

  • 若网站对外开放,建议使用 HTTPS 加密传输,防止登录密码被窃听。

  • 可对 index.php 添加访问限制(如 IP 白名单)来增强后台安全性,但非必须。

  • 保持 PHP 和 Web 服务器软件更新,防范已知漏洞。

返回首页