Tiny Tiny RSS–Google Reader的替代
Google Reader是一款无可替代的伟大产品,但实实在在地跟我们告别了。一直以来习惯于通过订阅RSS来浏览文章,说实在话并不喜欢通过微博或者微信来浏览,信息量太大,而真正有用的东西又不多,极容易被淹没,不容易沉淀。 Google Reader关闭后,一直用着the O
Google Reader是一款无可替代的伟大产品,但实实在在地跟我们告别了。一直以来习惯于通过订阅RSS来浏览文章,说实在话并不喜欢通过微博或者微信来浏览,信息量太大,而真正有用的东西又不多,极容易被淹没,不容易沉淀。
Google Reader关闭后,一直用着the Old Reader,其使用习惯和界面均比较接近于Google Reader。但比较痛苦的地方在于速度和稳定性均不是很好,经常长时间不能访问,难以忍受。于是便想自己搭建一个平台,先尝试了NewsBlur,基于Django的,步骤相当繁琐。刚好碰到小众软件介绍了Tiny Tiny RSS,基于PHP+MySQL/PostgreSQL,安装起来也很方便。于是便安装了一个试试,发现挺不错的。
Tiny Tiny RSS 是使用 SimplePie 作为 RSS 抓取引擎的,抓取回来的文章数据需要保存在 MySQL/PostgreSQL 数据库里,抓取数据的时候,需要消耗一定的流量,所以,如果你的订阅源多的话,搭建类似的站点的确是一个消耗存储空间、带宽的活。
一、优点
项目主页: http://tt-rss.org/,其优点如下:
- feed状况检查:可以检查订阅的feeds是否失效
- 支持各种主题,包括模仿Google Reeder、feedly界面的主题
- 有适合移动设备的皮肤/插件
- 支持插件,其中精品插件包括ff_feedcleaner(feed内容过滤)、af_feedmod(制作全文阅读feed)、oneclickpocket(一键发送到pocket)、fever(模拟fever api,支持更多客户端)等
- 支持多种平台的客户端,包括Andriod、WP、iOS等
- 可以灵活地设置更新频率,第一时间获得订阅更新
- 支持导入OPML
- 可以收藏
- 有中文版本,但不完全
- filter功能:类似gmail的filter。从标题,内容,时间等等中匹配关键词,然后可以选择是打分还是加tag,加label,加星,标记已读,删除条目等,filter可以是作用于所有feed或者指定feed。可以是匹配关键词,或者是剔除关键词。
- 条目中的图片可以选择是显示还是隐藏。
- 邮件digest。把每天的未读条目作为digest发送到指定邮箱。而且可以选择发送了的条目自动标记为已读。发送时间也可以指定。
- 基于sphinx的全文搜索
- ...
二、安装要求
要求其实挺简单的,见官方wiki。
1. PHP版本必须高于5.3; 2. 可选PostgreSQL 或 MySQL数据库,其中MySQL数据库必须支持InnoDB.
三、安装步骤
具体安装步骤可参考Installation Notes
-
在按照要求配置好服务器环境后,下载安装包 (目前最新版本为1.9,Jul 21, 2013)并解压。
# tar zxfv Tiny-Tiny-RSS-1.x.x.tar.gz # mv Tiny-Tiny-RSS-1.x.x tt-rss
输入http://your.site.com/tt-rss/install/,并执行安装步骤,填写相应的数据库等信息。
-
安装完成后,输入网址 http://your.site.com/tt-rss/ 访问系统,系统后台已经部分汉化。默认管理员用户为:
username: admin, password: password
登陆后即可手动添加RSS地址或者直接导入OPML文件了。
四、优化配置
1. 配置订阅条目自动更新
详细操作说明见官方wiki,可以采用三种方式,本站使用的是第二种,即通过crontab来定时更新feeds。
这里需要注意的是更新脚本文件update.php
或update_daemon2.php
不能由root用户来执行,可以通过apache或者Nginx的运行用户来执行,如apache或者www等。
当我们以root
用户直接执行命令时,会出现如下错误:
[root@localhost ~]# php /home/wwwroot/具体路径/update.php Tiny Tiny RSS was unable to start properly. This usually means a misconfiguration or an incomplete upgrade. Please fix errors indicated by the following messages: * Please don't run this script as root. You might want to check tt-rss wiki or the forums for more information. Please search the forums before creating new topic for your question.
即提示不能以root用户运行脚本,否则订阅条目不能自动更新。因此,可以通过给普通用户如www
添加crontab运行脚本:
#crontab -u www -e
添加如下内容:
*/30 * * * * /usr/bin/php /home/wwwroot/具体路径/update.php --feeds --quiet
同时在后台可以设置feeds的更新时间。
说明:
- 必须用普通用户来运行更新脚本;
- 更新时间这里设置为每30分钟更新一次,具体可调;
- 若你的系统中php的路径不是
/usr/bin/php
,需要修改之,同时也注意修改config.php
中的内容; - 修改
/home/wwwroot/具体路径/update.php
为你的具体路径。
2. 安装皮肤
Tiny Tiny RSS安装皮肤挺简单的,将CSS文件放入themes目录下,并在管理员后台进行选择就可以了,当然也可以通过自定义CSS的方式。
推荐一款仿Google Reader的皮肤: clean-greader,更多的可在官方论坛中寻找。
3. 安装插件
系统后台自带了很多系统插件以及第三方插件,我们只需要启用就好,当然也可以去论坛寻找插件。
付上大多数插件的说明,所有插件一般有三种,在文章右下角生成响应图标的、在设置标签生成设置页面的、其他无图标无设置的插件[参考]
- af_unburn:解决feedburner等rss链接跳转。
- bookmarklets:在设置-信息源生成bookmarklets标签。
- embed_original:图标插件,点击图标会显示文章原始内容,而不是rss。
- fever:模拟fever api,在设置-Fver Emulation,设置好密码,可以和tt-rss的登录密码不同,然后就能支持fever的客户端比如reeder、Mr. Reader。
- ff_feedcleaner:feed广告过滤,在设置标签生成FeecCleaner标签,过滤规则要用正则表达式,比较复杂。
- googlereaderkeys:模拟google reader快捷键,如J、K等。
- import_export:在设置-信息源,导入导出配置。
- mail:图标插件,点击通过邮件分享。
- mark_button:文章右下角能够快速将文章标记为已读未读。
- mobilize:图标插件,点击显示readability简化的页面。
- note:图标插件。
- nsfw:根据标签隐藏文章内容。
- share:图标插件,点击生成唯一的url方便分享。
- swap_jk:添加j、k快捷键,类似vim。
4. 移动端支持
要支持移动端,既可以通过手机、平板电脑等设备进行访问,必须先开启系统支持,即在管理后台偏好设置里面勾选“Enable API”。
官方开发的Andriod客户端:Tiny Tiny RSS
同时也推荐一下Nils Braden 开发的 TTRSS-Reader 这个 Android 手机客户端,这个客户端提供针对Tiny Tiny RSS的手机离线阅读功能,还可以离线缓存图片。
原文地址:Tiny Tiny RSS–Google Reader的替代, 感谢原作者分享。
上一篇: ThinkPHP自动填充实现无限级分类的方法_php实例
下一篇: ORA-07445错误解决一例