自建RSS服务——Tiny Tiny RSS

这篇文章使用的是TTRSS老版本安装方式,新版的Docker安装请参考最新的文章Tiny Tiny RSS再次搭建

很早之前就有了自建RSS服务的想法,但是Feedly和Inoreader的基(mian)础(fei)套餐真的太香了,懒人表示无法拒绝。结果,不出所料,Feedly和Inoreader在4月初的时候陆续被墙,当时还以为Reeder 3停更了。
为了解决日常的RSS阅读,自建RSS服务就提上了日程从冒出想法到搞定实际只花了半天时间

本文我就来详细介绍一下搭建多平台RSS服务——Tiny Tiny RSS(TTRSS)。

最新版的TTRSS更新了安装方式,目前官方推荐使用docker方式安装,具体的安装和迁移请等待相关文章的更新。

1 TTRSS

冒出自建RSS服务之前,我其实已经删掉Reeder准备放弃移动端了。网上推荐的Win平台RSS阅读器,发现大多都是Outlook、ThunderMail之类的邮件客户端;虽然我也用"宇宙最强的邮件客户端"——Outlook,但我并不想把娱乐消遣和工作搅和在一起。
在小众软件的一篇文章的评论里面,我发现了Tiny Tiny RSS(TTRSS),一下子就发现它非常符合我的情况: 1. 国内有闲置的服务器可用; 2. 订阅源偏重国内(国外源较多建议使用国外的服务器); 3. 时间较多的白嫖党。

说干就干。花了一下午把TTRSS给搞定了,并已经成功在Reeder上登录、阅读、标记。

2 服务器配置

闲置的服务器是在两年前买的腾讯云"1C+2G+1Mbps",无域名,一直没有利用起来。

首先,在腾讯云控制台重装系统,这是清空系统防止出现程序冲突。如果服务器已经运行其它任务,可以无视,但出现问题需要考虑会不会是已运行任务的冲突。因为比较偏爱CentOS,所以操作系统选择了CentOS。

服务器系统重装

重装完服务器的系统先不要关掉控制台,在左侧找到"安全组",新建一个安全组规则。
我开通了3个端口: 1. 8888 --> 宝塔面板默认端口; 2. 2333 --> 预留给宝塔面板的端口; 3. 9999 --> 预留给TTRSS的端口。
注:宝塔面板和TTRSS的端口可以选自己喜欢的,只要不和现有的冲突就行。

新建安全组规则后,将这个规则绑定到服务器。

配置安全组

3 服务器环境安装

3.1 宝塔面板安装

云服务器的配置结束后,就可以使用SSH工具登录服务器了(别告诉我你把密码给忘记了)。
SSH工具(如XShell)使用教程自行百度(喜欢谷歌的可以选择番羽土啬)。

使用SSH登录服务器后,根据系统使用下面的命令安装宝塔面板,其它操作系统的安装命令请到宝塔面板官网查看。
使用宝塔面板的目的是为了安装LNMP并为TTRSS建立站点,已经安装过或者对此精通的大佬请自觉跳至TTRSS站点建立

1
2
3
4
# CentOS 安装命令
yum install -y wget && wget -O install.sh http://download.bt.cn/install/install_6.0.sh && sh install.sh
# Ubuntu/Deepin 安装命令
wget -O install.sh http://download.bt.cn/install/install-ubuntu_6.0.sh && sudo bash install.sh

安装过程不是特别慢,大概几分钟就搞定了。宝塔面板安装成功后会在最后有"Completed"字样,并在字样上方有访问宝塔面板的默认URL及账号密码,请务必将这几行字符复制出来并暂时保存起来。这里的图片没有截,请仔细阅读这段文字。

3.2 LNMP安装

使用宝塔面板安装后输出的URL和账号密码登录宝塔面板,然后在弹出的框内选择LNMP进行安装。
如果你看到这篇文章的时候PHP没有更新8.0的话,PHP版本选择最新的;服务器配置如果是1核1G,MySQL版本请自觉选用5.6及以下;phpMyAdmin可以不选。我安装时没有截图,这张图是官方论坛里截取的,使用图里的版本也可以。

安装LNMP

安装过程看具体服务器配置,我的2G内存的跑了十分钟左右。等任务队列全部跑完就说明环境安装好了。

接下来需要安装PHP的扩展fileinfo,否则TTRSS的初始化会出错。几年前我搭建我的WordPress的时候就因为没安装fileinfo,一直初始化失败。
在左侧边栏中选择"软件商店",选择分类"已安装",点击PHP的"设置"。

安装fileinfo插件-1

在弹出的界面中选择左侧的"安装扩展",找到fileinfo并点击安装,安装需要等待几秒钟。

安装fileinfo插件-2

到这里,LNMP的环境就搭建好了,但我还是要多说一句,请务必在左侧边栏的"面板设置"中修改面板登录端口、账号密码以及安全入口,端口使用安全组预留给宝塔面板的端口。

3.3 TTRSS站点建立

在左侧边栏中选择"网站",点击"添加站点"。

建立站点

在弹出的界面中填写站点的信息。

填写要求:
域名 - 使用"http://服务器外网ip:端口号"的格式,端口号使用安全组预留给TTRSS使用的端口;可以使用域名代替外网ip,甚至使用https
根目录 - 为了方便,我使用了"/www/wwwroot/ttrss"
数据库 - 选择"MySQL",编码为"utf-8",用户名与密码自己输入并记住

4 TTRSS安装及配置

此时服务器上的站点还是空的网站,需要从TTRSS官网下载TTRSS并进行配置。

4.1 TTRSS下载

虽然使用服务器也可以获取TTRSS,但下载速度太感人,还是在PC上下好了传上去吧。不信邪的可以使用下面的命令。

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

建议大家使用浏览器访问TTRSS的仓库,下载zip包。如果这个仓库失效可以访问TTRSS官网,再进入仓库下载。

成功下载TTRSS后,使用宝塔面板将zip包上传到服务器的/www/wwwroot/目录下;
解压这个zip包,将tt-rss文件夹内的所有文件剪切到/www/wwwroot/ttrss/目录下。
小文件上传速度堪忧,请务必在服务器解压zip包。

上传TTRSS

4.2 TTRSS初始化

打开浏览器,访问"http://服务器外网ip:端口号/install",进入TTRSS的初始化。
数据库选择MySQL,端口选择3306,用户名密码是建立站点时设置的,希望没有忘记。然后点击"Test configuration"。

TTRSS初始化-1

网页下方出现下图的内容,点击"Initialize database"。

TTRSS初始化-2

接着,在出现的内容中点击"Save configuration",让系统自己保存配置。

TTRSS初始化-3

到此,TTRSS就配置结束了,访问"http://服务器外网ip:端口号"即可登录TTRSS了。
使用默认用户名及密码(admin,password)即可登录TTRSS,第一次登录时系统会提示重设密码。

4.3 TTRSS配置——自动更新

可能是因为bug的原因,目前的TTRSS通过"偏好设置"无法自动更新,需要使用服务器的非root用户的crontab进行自动更新。配置过程如下。

使用SSH登录服务器,输入下面这个命令。

1
crontab -u www -e

然后,点击"i"进入编辑模式,插入以下命令实现1小时更新一下信息源。请注意php后的路径和命令中的空格。

1
* */1 * * * php /www/wwwroot/ttrss/update.php  --feeds  > /dev/null

最后,使用"Esc"和":wq"退出vim编辑,TTRSS就可以自动更新了。

至于订阅源的配置步骤就不赘述了。

4.4 TTRSS配置——多平台支持/fever

目前大部分RSS的客户端可以使用fever和GoogleAPI登录,但遗憾的是TTRSS不原生支持fever API。因此,需要配置fever插件。

  1. 下载fever插件并解压,使用宝塔面板将整个fever文件夹上传到/www/wwwroot/ttrss/plugins/目录下。注意:整个fever文件夹
  2. 在TTRSS的偏好设置中,勾选"允许外部客户端通过API来访问该账户"。
  3. 在TTRSS的偏好设置中,选择"插件"页面,勾选fever,点击"启用选择的插件"。
  4. 刷新页面,在TTRSS的偏好设置中,选择"Fever Emulation"页面,设置密码。密码可与TTRSS账户密码相同,用于客户端访问TTRSS。

下面就可以在客户端使用Fever访问TTRSS了。下面是Reeder 3的配置页面。 服务器填写"http://服务器外网ip:端口号/plugins/fever";邮箱填写TTRSS账号用户名,不一定要邮箱;密码是在"Fever Emulation"页面设置的密码。

Reeder 3配置界面

总结

整篇文章写下来花了两天时间,有几张图片因为搭建时遗忘而没有截图,但整个搭建描述还是挺清晰的(自我评价的)。

如果参考了这篇TTRSS搭建教程,请别忘了一键三连收藏分享哦。