实用工具

自建RSS阅读器Tiny Tiny RSS安装和配置自动更新,全文RSS,更换主题,手机RSS登录

关于放弃商业的和免费的在线RSS阅读器,转用自己自建个人RSS阅读器,wzfou.com在放弃免费Inoreader 自建RSS阅读器一文中就建议使用Tiny Tiny RSS和FreshRSS这两个开源免费的RSS在线阅读器,只需要一个虚拟主机就可以运行自己的RSS在线阅读器。

当然,更为高级一点的玩法就是利用Huginn抓取任意网站RSS和微信公众号更新,Huginn直白一点说就像是一个爬虫,你可以放出“Huginn”去抓取任意网页内容更新,同时配合APP、RSS等工具将信息聚焦汇总,以达到个人高效获取有用信息的目的。

本篇是分享Tiny Tiny RSS在安装与配置中遇到的相关的问题,例如配置自动更新Feed、安装和配置Tiny Tiny RSS全文RSS插件、切换和修改Tiny Tiny RSS主题和Tiny Tiny RSS手机APP的使用。

更多的RSS阅读器自建和使用方法有:

  1. 生成和订阅任意网站RSS工具-实现RSS全文,邮箱和手机APP提醒
  2. 使用MailPoet Newsletters插件为WordPress搭建RSS邮件订阅支持SMTP
  3. 两款优秀的开源RSS阅读器工具:Miniflux和Tiny Tiny RSS-自建在线RSS阅读器

PS:更新记录

1、不想自己架构RSS阅读器的,可以选择在线免费的RSS阅读器:在线RSS阅读器收集整理汇总-在线RSS阅读服务榜单。2022.5.14

2、有些网站并不提供RSS源,此时我们可以自己搭建应用强制这些网站的内容更新输出RSS源,以此达到RSS订阅的目的:RSSHub给不支持RSS网站制作RSS订阅源-支持B站,知乎,微博,豆瓣,今日头条。2021.3.8

3、对于1Password这类的密码管理软件重度依赖,但是苦于囊中羞涩的话,不防自建密码管理平台:Bitwarden自建密码存储系统图文教程-开源免费的bitwarden_rs安装与使用。2020.10.10

一、Tiny Tiny RSS安装

PS:2022年5月14日更新,最新教程请查看:Tiny Tiny RSS最新安装与使用教程-Awesome TTRSS Docker安装配置方法。网站:

  1. 官网:https://tt-rss.org/
  2. 项目:https://git.tt-rss.org/git/tt-rss/src/master

1.1 安装前准备

PHP必备组件(最低为PHP 5.6,建议使用PHP 7以上):

PDO with support for PostgreSQL or MySQL depending on the database server used – some distributions need both PDO and database-specific packages, i.e. php-pdo and php-pgsql

JSON

XML (DOMDocument, DOMXpath)

Internationalization (intl)

mbstring

fileinfo

PHP建议安装的有:

CURL (highly recommended, just install it) OR support for remote fopen()

POSIX functions (for the multiprocess update daemon, otherwise not needed)

GD (needed for OTP and some plugins)

Some kind of opcode cache/accelerator (depends on PHP version: php5-apc, php7-opcache, etc)

特别需要提醒:Tiny Tiny RSS对PHP组件要求严格,缺少任意一个都无法成功启用。

1.2 TT-RSS安装

找一台已经配置好了LNMP或者LAMP环境的VPS主机,挖站否用的是Oneinstack,VPS主机的话可以从这里选择:VPS主机排行榜单。执行命令:

git clone https://git.tt-rss.org/fox/tt-rss.git tt-rss

如果不想使用Git命令的话,你也可以自己手动下载安装包然后上传,只不过比Git要麻烦一些。下载下来的文件在tt-rss文件夹中,我们可以将文件移到根目录下,Linux批量移动文件方法:Linux移动和复制文件夹所有文件(包含隐藏的文件)

现在打开浏览器访问:https://wzfou.com/install/,你会看到TT-RSS安装界面,这里你就可以填写数据库账号、密码等信息了。

确定数据库连接成功后,就可以点击初始化TT-RSS了。

初始化成功后,TT-RSS会生成config.php文件,点击保存会自动在你的服务器根目录下生成,否则你也可以手动复制创建在根目录下。

完成后,你就可以登录到TT-RSS了,初始账号是:admin,密码是:password。在打开TT-RSS提示错误,一般来说都是组件没有安装好,如果你用的是Oneinstack,可以直接安装PHP组件,例如php fileinfo

1.3 TT-RSS使用

TT-RSS界面如下(点击放大):

Tiny Tiny RSS阅读RSS界面如下,如果订阅的是视频还可以直接打开观看:

Tiny Tiny RSS官方自带了非常多的主题,你可以直接在插件管理选项中启用,部分说明如下:

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。

1.4 TT-RSS升级

执行以下命令可以更新TT-RSS版本文件:

#进入tt-rss 目录

git pull origin master

然后打开你的TT-RSS,如果提示说config.php有错误,你需要将config.php-dist 中的内容合并到 config.php 或者直接删除 config.php 然后重装安装。特别注意:重装安装这一步不要点击INITIALIZE DATABASE,否则你的数据都会被覆盖。

二、Tiny Tiny RSS技巧

2.1 批量导入导出

Tiny Tiny RSS的信息源管理中,可以批量导入和导出Feed,方便我们迁移。

2.2 删除无效Feed

如果订阅源有无效的Feed,Tiny Tiny RSS会有提示,你可以批量删除它们。

2.3 切换修改主题

主题:

  1. https://github.com/levito/tt-rss-feedly-theme

市面上有不少的Tiny Tiny RSS免费主题,如果你不喜欢默认的主题 ,你可以将它们下载下来放在themes.local文件夹即可,命令演示:

wget wget https://github.com/levito/tt-rss-feedly-theme/archive/master.zip
unzip master.zip
cd tt-rss-feedly-theme-master
cp -r feedly* /data/wwwroot/rss.ucblog.net/themes.local

然后在Tiny Tiny RSS的设置中切换主题。

Tiny Tiny RSS新的Feedly主题效果如下:

三、TT-RSS全文插件

网站:

  1. https://github.com/HenryQW/mercury_fulltext
  2. https://github.com/HenryQW/mercury-parser-api

3.1 mercury_fulltext

mercury_fulltext是Tiny Tiny RSS上一个用于获取RSS全文的插件,安装命令如下:

#安装 mercury_fulltext 插件
#进入到插件目录
cd /data/wwwroot/rss.ucblog.net/plugins
#下载
git clone https://github.com/HenryQW/mercury_fulltext.git mercury_fulltext

然后在“偏好设置”中启用该插件。

现在回到“信息源”,这里需要填写Mercury Parser API。

3.2 Parser API

Mercury Parser API需要使用Docker安装。你先在VPS上安装好Docker-CE环境,建议参考官方的安装方法,比较简单。

  1. https://docs.docker.com/install/linux/docker-ce/centos/
  2. https://docs.docker.com/install/linux/docker-ce/debian/

然后执行命令安装和运行Mercury Parser API:

docker run -p 3000:3000 --restart=always -d wangqiru/mercury-parser-api

3.3 RSS全文设置

「偏好设置」-「信息源」-「Mercury Fulltext settings (mercury_fulltext)」,填入自建 Mercury Parser API 地址:localhost:3000,保存。编辑需要获取全文的 Feed(信息源),插件 – 启用「Get fulltext via Mercury Parser」保存退出即可。

四、TT-RSS手机APP

APP:

  1. https://play.google.com/store/apps/details?id=org.ttrssreader

Tiny Tiny RSS安卓应用可以直接在Google Play应用市场下载,要想让Tiny Tiny RSS在手机APP上登录使用,你需要先在Tiny Tiny RSS上开启API登录。

首次打开Tiny Tiny RSS APP后,需要你设置一下连接,主要填写你的Tiny Tiny RSS网址、账号和密码等。

这个就是Tiny Tiny RSS的手机APP界面。

Tiny Tiny RSS手机APP的文章阅读界面如下:

五、TT-RSS自动更新

5.1 简单更新模式

打开config.php 配置文件,将 SIMPLE_UPDATE_MODE 设置为 true,这样每次打开 Tiny Tiny RSS 就会更新 RSS 订阅数据。特别要注意:你需要在config.php中PHP_EXECUTABLE设置好PHP的路径,例如:/usr/local/php/bin/php

 define('PHP_EXECUTABLE', '/usr/local/php/bin/php');
 // Path to PHP *COMMAND LINE* executable, used for various command-line tt-rss
 // programs and update daemon. Do not try to use CGI binary here, it won't work.
 // If you see HTTP headers being displayed while running tt-rss scripts,
 // then most probably you are using the CGI binary. If you are unsure what to
 // put in here, ask your hosting provider.

5.2 VPS定时任务

如果你用的是VPS主机,可以使用Linux的定时任务。TT-RSS不能使用Root运行定时任务,你需要使用www用户运行(一般来说LNMP环境和BT宝塔面板都用www来运行):

crontab -u www -e
#每5分钟运行一次,/usr/local/php/bin/php为php命令的绝对路径,根据需要来修改
*/5 * * * * /usr/local/php/bin/php /data/wwwroot/rss.ucblog.net/update.php --feeds --quiet

当然,还有一种方法是使用root登录,然后执行:contab -e编辑定时任务,加入以下代码:

#指定使用www用户执行定时任务
*/5 * * * * su -m www -c "/usr/local/php/bin/php /data/wwwroot/rss.ucblog.net/update.php --feeds --quiet"

#另
php ./update.php是执行单进程,多进程是 php ./update_daemon2.php。

5.3 任务运行情况

修改和编辑Linux定时任务后,记得重启一下定时任务才能生效,命令如下:

#ubuntu下定时执行工具cron开启关闭重启
#配置文件一般为/etc/init.d/cron

启动:sudo /etc/init.d/cron start

关闭:sudo /etc/init.d/cron stop

重启:sudo /etc/init.d/cron restart

重新载入配置:sudo /etc/init.d/cron reload

#可以用ps aux | grep cron命令查看cron是否已启动

#CentOS重启crontab服务

service crond reload

对于Linux定时任务是否正常运行,我们可以手动查看日志。

#查看定时任务日志
#Ubuntn
tail -f /var/log/syslog
#CentOS
tail -f /var/log/cron

会有如下记录:

Sep 28 22:20:01 localhost CRON[15714]: (www) CMD (/usr/local/php/bin/php /data/wwwroot/rss.ucblog.net/update.php --feeds --quiet)
Sep 28 22:25:01 localhost CRON[15985]: (www) CMD (/usr/local/php/bin/php /data/wwwroot/rss.ucblog.net/update.php --feeds --quiet)
Sep 28 22:30:01 localhost CRON[16177]: (www) CMD (/usr/local/php/bin/php /data/wwwroot/rss.ucblog.net/update.php --feeds --quiet)

六、总结

Tiny Tiny RSS在批量导入Feed订阅源和设置定时任务时总会遇到一些莫名其妙的错误,例如数据库会报错:Uncaught PDOException: SQLSTATE[HY000] [1045] Access denied for user或者是MySQL connection not working: 2002 No such file or directory

另外,在手动检测运行Tiny Tiny RSS定时任务时,也出现了如下错误:

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.
 * PHP UConverter class is missing, it's provided by the Internationalization (intl) module.
 * PHP support for mbstring functions is required but was not found.

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.

错误:Please don't run this script as root 这个很好解决,用本文的su www这样的指定用户运行定时任务即可,其它的如PHP错误、数据库等错误,经过实践摸索在config.php中指定数据库的连接地址和端口即可,如下:

 define('DB_TYPE', 'mysql');
 define('DB_HOST', '127.0.0.1');
 define('DB_USER', 'wzfou');
 define('DB_NAME', 'wzfou.com');
 define('DB_PASS', 'qimm');
 define('DB_PORT', '3306');

文章出自:挖站否 https://wzfou.com/tt-rss/,版权所有。本站文章除注明出处外,皆为作者原创文章,可自由引用,但请注明来源。

文章更新于: 2022年5月14日 下午8:43

Qi

关于站长(Qi),2008年开始混迹于免费资源圈中,有幸结识了不少的草根站长。之后自己摸爬滚打潜心学习Web服务器、VPS、域名等,兴趣广泛,杂而不精,但愿将自己经验与心得分享出来与大家共勉。

查看评论