2017-04-02
ringBlog是一个基于Yii2的博客系统,提供最基础的的分类和博客功能。gitHub:https://github.com/oonne/ringBlog
【适用】
个人博客,初创公司官网,小团队主页
稍微懂一点技术,就可以快速定制自己的网站
【功能】
ringBlog | Typecho | WordPress | |
安装条件 | 很繁琐,见下文 | 简单三步 | 简单 |
分类管理 | 一级分类 | 多级分类 | 多级分类 |
标签管理 | 无 | 有 | 有 |
多作者 | 不支持 | 支持 | 支持 |
页面 | 博客 | 博客、页面 | 博客、页面 |
多媒体 | 图片、附件等 | 支持 | 支持 |
内容编辑 | HTML | 支持原生MarkDown | HTML |
评论 | 不提供,推荐接入第三方评论 | 支持 | 支持 |
管理后台 | 多账户,不分权限 | 多账户、分权限 | 多账户、分权限 |
多语言 | 不支持 | 支持 | 支持 |
自定义外观 | 自己改代码调整样式 | 主题模版 | 主题模版 |
额外的功能 | 自己开发 | 插件 | 丰富的插件 |
【特点】
快速二次开发,可高度定制化,不重复学习新的规范。
安装和使用ringBlog不需要太多编程基础,但是二次开发需要一些PHP和前端经验,不推荐小白用户使用。
如果您是初学者,只需要按照下文的步骤安装,可以快速学习到git、composer、migration等先进的技术知识,有助于装逼。
如果您了解最基础的前端技术,可以轻易修改博客的样式,不需要重复学习如何开发主题模版。
如果您了解最基础的PHP,可以轻易地修改功能,不需要重复学习如何开发插件。
ringBlog使用大名鼎鼎的Yii2框架搭建,进行二次开发可以接触到最先进的PHP开发思想。
【准备工作】
确保你的服务器安装了PHP 5.4以上版本,推荐使用MySql数据库;
将域名解析到您的服务器,您需要准备两个二级域名:一个用于博客,一个用于后台管理。这能使博客更加安全;
确保服务器已经安装了composer(可以在Composer中文官网找到下载地址和安装方式);
运行 composer global require "fxp/composer-asset-plugin:*" 来安装Composer Asset插件,Yii2 通过这个插件来安前端开发所用到依赖包;
确保服务器安装了git。
【安装流程】
在您服务器的 Web 访问目录下运行 "git clone https://github.com/oonne/ringBlog.git"。git会把ringBlog的源码自动下载到您的目录下;
打开 project目录下运行"composer install"。composer将帮您安装所需的插件和依赖;
运行 init 对系统进行初始化,在这一步您可以选择作为开发模式还是生产模式;
打开project/common/config目录,编辑main-local.php文件,填入您的数据库信息。您还可以通过修改params.php和params-local.php进一步修改您博客的设置;
在project目录下运行"php yii migrate/up",这个命令将帮您初始化数据库;
project/frontend/web下有一个"uploads"的文件夹,已经有写入的权限了(777),这个是上传图片和附件的文件夹。如果想修改这个路径,可以编辑project/backend/config/UEditor.json的配置,但是要确保文件夹有写入的权限;
访问您的博客后台,初始的帐号和密码是"admin"。
【设计初衷】
最开始学习web开发,是高中的时候给社团做网站。后来大学勤工助学给学校做网站,组建团队需要建立主页,创业的时候给公司做官网等等,常常需要用到最简单CMS系统。这些网站都大致相同:需要一个最简单的内容发布功能,前端部分需要高度定制化,不需要多作者,不需要二级分类和标签,不需要多国语言支持等等。
用过wordpress,功能确实很多,但除了博客发布,其余的功能都用不到,为了改样式还得花很长时间学习写主题模版。用过typecho,也写过好几个typecho的主题,简洁的设计非常喜欢。也尝试过许多以“少即是多”为理念的博客系统,但它们一旦定位是“小白也能用的系统”,就会使用主题和插件来实现额外的外观和功能,而牺牲了二次开发的便捷性。这恰恰是最让我不舒服的地方:花时间去学wordpress的主题和插件的规范,并不能用到typecho上,更不能用到其他的开发领域。
所以一个适合初学者进行二次开发的系统,不要试图建立自己的规范。会写代码就能二次开发,直接改源码就行了,也不需要什么主题和插件。需要评论,有大量第三方的评论可以接入;需要灯箱Banner,加一个Swiper进来;甚至可以快速开发出投票、报名、支付等功能。基础功能很少,源代码也很精简,甚至不需要文档。前端内嵌了非常流行的BootSrarp和jQuery,已经能够满足大部分的装逼需求。
ringBlog基于Yii2,是更加泛用的PHP框架,不仅能做CMS,也能做ERP、CRM等其他系统,可以做商城,做博客,做App后台,无所不能,是最流行的PHP框架之一。您在二次开发的过程中使用的许多规范,可以在其他地方大显身手。
最后特别鸣谢Cosmo,在我学习Yii2的过程中,给了许多技术指导。