自建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阅读器Tiny Tiny RSS安装和配置自动更新,全文RSS,更换主题,手机RSS登录

更多的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安装界面,这里你就可以填写数据库账号、密码等信息了。

Tiny Tiny RSS手动安装

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

Tiny Tiny RSS开始初始化

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

Tiny Tiny RSS生成配置文件

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

Tiny Tiny RSS安装PHP组件

1.3 TT-RSS使用

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

Tiny Tiny RSS阅读界面

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

Tiny Tiny 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,方便我们迁移。

Tiny Tiny RSS批量导入导出

2.2 删除无效Feed

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

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切换主题

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

Tiny Tiny RSS新主题效果

三、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

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

Tiny Tiny RSS启用新的插件

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

Tiny Tiny RSS填写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」保存退出即可。

Tiny Tiny RSS启用全文

四、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启用API登录

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

Tiny Tiny RSS设置连接网址

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

Tiny Tiny RSS手机APP界面

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

Tiny Tiny RSS文章阅读

五、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/,版权所有。本站文章除注明出处外,皆为作者原创文章,可自由引用,但请注明来源。


分享到:
Avatar for Qi
关于站长(Qi),2008年开始混迹于免费资源圈中,有幸结识了不少的草根站长。之后自己摸爬滚打潜心学习Web服务器、VPS、域名等,兴趣广泛,杂而不精,但愿将自己经验与心得分享出来与大家共勉。
已有 20 条评论
  1. 挖站否PHP空间如何启用PHP扩展?少了PDO扩展安装不了…

    2021年7月23日 17:34 回复
    • Avatar for Qi Qi

      默认的是有的,换一个PHP版本看看。

      2021年7月23日 18:19 回复
      • 换了PHP版本还是会提示Exception while creating PDO object:could not find driver

        2021年7月23日 21:13 回复
        • Avatar for Qi Qi

          什么程序?有没有官网说明要哪些PHP组件?

          2021年7月23日 21:30 回复
  2. 我终于还是没忍住,自己在本地部署了一个FreshRSS,[嘻嘻][嘻嘻][嘻嘻]

    2021年3月5日 22:40 回复
  3. Avatar for xushbo xushbo

    你好 全文输入的插件的Mercury Parser API在哪获取?

    2019年11月2日 16:50 回复
    • Avatar for Qi Qi

      你好,这个需要自建,暂时还没有发现有免费提供的。

      2019年11月3日 11:25 回复
  4. 我用niniflux1.x版本的,用https://wzfou.com/feed/订阅你的站,提示订阅源不存在,何解?

    2019年10月24日 07:58 回复
    • Avatar for Qi Qi

      可能我这边RSS的问题,之前也有一些RSs阅读器无法正常识别。

      2019年10月24日 17:58 1 回复
  5. Avatar for 65 65

    网页不支持手机界面吗?有没有好的主题可以支持,默认主题手机看起来很别扭

    2019年10月22日 11:36 回复
    • Avatar for Qi Qi

      默认的主题貌似是没有手机主题的,有点难看。手机上用feedly这个主题。

      2019年10月22日 12:52 回复
  6. Avatar for 100KG 100KG

    github有feedly主题 一直在用
    安卓端推荐 feedme

    2019年10月20日 15:43来自移动端 回复
    • Avatar for Qi Qi

      我是用自带的主题。

      2019年10月21日 10:36 回复
  7. Avatar for Rsn Rsn

    一直都是自建RSS,不过现在手机阅读得多了。[挤眼]

    2019年10月19日 16:04 回复
  8. Avatar for 屠格涅夫 屠格涅夫

    好久没有用阅读器了。

    2019年10月19日 15:48 回复
  9. Avatar for zhiiker zhiiker

    就是太丑了,还是feedly舒服

    2019年10月19日 12:16 回复
  10. Avatar for Nbb Nbb

    之前一直试的定时任务有问题。

    2019年10月18日 19:17 回复
  11. 目前还在用 Inoreader,免费的只有 150 个订阅源,不过对于我来说,目前也够用了,超出数量就强迫自己去清理一些不是那么好的资源

    2019年10月18日 13:19 回复
    • Avatar for Qi Qi

      我导入了一千个好像也可以正常用。

      2019年10月18日 16:27 回复
  12. Avatar for Nte Nte

    RSS阅读器现在自建确实是大趋势了,刚刚看了一下QQ邮箱的阅读空间,发现多少年没有变过了。

    2019年10月18日 13:11 回复

Login

Welcome! Login in to your account

Remember me Lost your password?

Don't have account. Register

Lost Password

Register