Watch 1 Star 3 Fork 0

杨大虾 / yangdx_blogPHPGPL-3.0

Join us
Explore and code with more than 2 million developers,Free private repositories !:)
Sign up
单用户博客系统 Yaf + Layui + CKEditor + CKFinder + Highlight.js spread retract

https://www.yangdx.com/

Clone or download
Cancel
Notice: Creating folder will generate an empty file .keep, because not support in Git
Loading...
README.md

杨大侠的博客

单用户博客系统:Yaf + Layui + CKEditor + CKFinder + Highlight.js

介绍

安装说明

  • PHP 版本 7.0 及以上;
  • MySQL 版本 5.6 及以上;
  • 编译安装 Yaf 框架:http://pecl.php.net/package/yaf
  • 在 php.ini 中配置 Yaf 环境:yaf.environ=devel,默认值为:yaf.environ=product
  • yaf.environ配置不等于product时,程序会开启调试模式,运行错误将直接输出到页面上;
  • 将 conf 目录下的 app.ini.example 重命名为 app.ini,并修改相关配置(后面有说明);
  • 目录 cachepublic/upfiles 必须设置为可写权限;
  • 数据库表结构在 cache/blog.sql 里,请创建数据库后导入此文件。

配置文件 app.ini 说明

# 表示公共配置
[common]
# 应用路径(固定不变)
application.directory = APP_PATH "/app"
# 脚本超时设置
application.timeLimit = 180
# 时区设置
application.timeZone = "Asia/Shanghai"

# 应用密钥,加密登录信息用的,请替换为随机字符串。若修改,默认密码也要重新生成。
application.authKey = "K6sh3$^DYfBksGet5ZY!bc$iZobEP%Ti"

# Geetest 滑动验证码应用ID和密钥,请注册并替换 http://www.geetest.com
geetest.captchaId = "48a6ebac4ebc6642d68c217fca33eb4d"
geetest.captchaKey = "4f1c085290bec5afdc54df73535fc361"

# CKFinder 授权名称、密钥,及上传文件保存目录
ckfinder.licenseName = ""
ckfinder.licenseKey = ""
ckfinder.uploadPath = "/upfiles"

# 百度站长链接推送 token,填写此项后,再设置定时任务去访问 http://yourdomain.com/baiduPush ,可
# 实现将前一日新增或更新的文章链接推送给百度,参考 https://ziyuan.baidu.com/linksubmit/index
baiduzz.token = ""


# 当 yaf.environ=product 时,程序会使用此项配置,继承自 [common]
[product : common]
# 网站首页地址(末尾不带/)
application.homeUrl = "https://www.yangdx.com"
# 数据库地址
database.host = "127.0.0.1"
# 数据库端口
database.port = "3306"
# 数据库名称
database.database = "blog"
# 数据库连接用户名
database.username = "root"
# 数据库连接密码
database.password = "123456"
# 数据库字符编码
database.charset = "utf8mb4"


# 当 yaf.environ=devel 时,程序会使用此项配置,继承自 [common]
[devel : common]
application.homeUrl = "http://yourdomain.com"
database.host = "localhost"
database.port = "3306"
database.database = "blog"
database.username = "root"
database.password = "123456"
database.charset = "utf8mb4"

默认账号密码

后台登录地址是 http://yourdomain.com/admin/login ,默认账号 admin,默认密码 123456。密码的加密算法是 hash_hmac('sha1', $password, AUTH_KEY),如果修改了 application.authKey 配置,请重新生成并填入数据表。 例如:

echo hash_hmac('sha1', '123456', 'K6sh3$^DYfBksGet5ZY!bc$iZobEP%Ti');

然后手动将结果更新到博客系统 user 表的 password 字段。

关于 CKEditor

更改了代码高亮插件 codesnippet,即更新其中的 highlight.js 到最新版,以及加入禁止自动换行的选项。原始文件见 public/res/ckeditor/ckeditor.js.bak 及 public/res/ckeditor/plugins/codesnippet-bak 目录。

关于 CKFinder

把 PHP 代码迁移到了 app/library/ckfinder 目录,并修改了入口配置,见 public/res/ckfinder/config.js:

var config = {
    connectorPath: '/admin/ckfinder'
};
CKFinder.define( config );

CKFinder 是商业软件,如果不填写授权信息,访问时会提示 “This is a demo version of CKFinder 3”,不影响使用。

Nginx 配置示例

server {
    listen 80;
    server_name yangdx.com www.yangdx.com;
    index index.php index.html;
    root /home/www/blog/public;

    # 强制走www域名
    if ($host != 'www.yangdx.com') {
        rewrite ^(.*) http://www.yangdx.com permanent;
    }

    # Yaf框架rewrite配置
    if (!-e $request_filename) {
        rewrite ^/(.*)  /index.php?$1 last;
    }

    location ~ .+\.php$ {
        fastcgi_pass 127.0.0.1:9000;
        fastcgi_index index.php;
        include fastcgi.conf;
    }
    
    # 静态资源文件缓存7天
    location ~ .+\.(gif|jpg|jpeg|png|bmp|swf|ico|svg|js|css|eof|ttf|woff)$ {
        expires 7d;
        access_log off;
    }

    # 禁止访问以“.”开头的文件或目录,以及后缀名是.sql、.bak、.ini的文件
    location ~ (/\.)|(.+\.(sql|bak|ini)$) {
        deny all;
    }
}

整站演示

可以访问本人的博客
前台预览:https://www.yangdx.com/
后台预览:登录页面后台首页发布文章管理文章添加分类管理分类评论列表参数设置

更新日志

  • 2019-12-30 增加 友情链接 模块
    配置方法:请拉取最新代码,并导入 cache/blog_20191230.sql 创建对应数据表

  • 2019-12-28 当文章编辑页的编辑器最大化时,隐藏头部、侧边栏
    配置方法:拉取最新代码并清除浏览器缓存

  • 2019-12-21 前后端 highlight.js 插件统一引用 CKEditor 目录下的文件
    配置方法:拉取最新代码并清除浏览器缓存

Comments ( 0 )

Sign in for post a comment

PHP
1
https://gitee.com/yangrz/yangdx_blog.git
git@gitee.com:yangrz/yangdx_blog.git
yangrz
yangdx_blog
yangdx_blog
master

Help Search