前言
上班摸鱼,偷偷摸摸顶着后方左右两边的摄像头的风险,打开了Steam看看有什么游戏信息和Steam OS 3.0的信息,然后偶然发现了Steam有提供RSS的信息发布服务,突然想了一下,不如搞个RSS信息站,这样Steam的一些折扣信息公告不就能够第一时间收到了吗?于是我就开始百度找,并在我的阿里云服务器搭建了起来,于是有了这篇文章。
个人主要使用FreshRSS来搭建服务,其实还有一个Tiny Tiny RSS(TTR)的,但是安装TTR的时候,遇到一些问题:
- TTR(普通用户)只支持Docker安装,开发者方式貌似也需要用Docker,这个对我来说有一点局限了,因为我阿里云没有docker,由于有些资讯需要科学上网才能获取,挂本地的话还需要代理,配置比较麻烦,也不知道TTR支不支持代理,而且因为某些原因我不想在阿里云上面部署docker,虽然我可以改用本地的服务器使用TTR(我本地有Docker),但是就有了下面的2号问题。
- Docker的安全方法对我来说过于复杂,而且文档内容太乱,查看Docker hub和Docker脚本,无法进行自定义选择。文档也没详细说明有哪些Docker镜像是必要的,哪些是可选的。导致无法手动安装,如果自动安装的话就会安装到一些和我目前在用的其他软件的附加镜像重复的东西,加大我服务器的无谓占用。网上的方法都是老方法,全改用Docker是2021年开始的,所以没办法手动自己安装。
结合上面两个问题,我想了一下,放弃了TTR,继续找替代品,直到我找到了Fresh RSS(FR)。
我之所以最后会选择它,有以下三点:
- FR界面是真的够简洁,操作也简单,该有的功能都有了。而且是免费工具。
- FR在github上开源,安装方法非常简单,没必要强制要求Docker,安装方法也完全写明在了github上。
- FR能够直接当成web页面部署,对于我在阿里云已经拥有的LCMP环境来说,就满足了需求。
于是乎,我就直接选择了FR,并且搭建了起来。所以本文就来讲讲怎么搭建。
搭建过程
前期准备
- FreshRSS的站点源码->点击此处下载(如果有git也可以用git从github拉取)
- LAMP/LNMP/LCMP环境(winserver也可)。什么是LAMP和LNMP这里不多解释,LCMP是只把webserver改成Caddy。
- 一个可以盛放站点的服务器。(建议使用海外服务器)
PS:本文主要使用LCMP环境进行搭建,如果使用LAMP或者LNMP,请根据实际调整Apache和Nginx环境,本文只对Caddy做解释。同时使用的是Caddy 2。
搭建教程
安装准备
根据个人需求安装好整个环境,然后把源码下载到个人喜爱的位置上,并配置好PHP和Webserver的服务器,
如果有使用域名的话,请先在域名供应商的控制台对域名进行解析,这里贴一下Caddy2的配置:
domain {
encode gzip
file_server
root * /path/to/freshrss/p
php_fastcgi 127.0.0.1:9000
}
使用Caddy 2的请根据需要修改root和domain(域名)。
但是这里有一个点需要注意(Nginx和Apache也同样要注意),就是站点的根目录,要把目录定位到./p,这是官方的建议:
For better security, expose only the ./p/ folder to the Web.
为了更加安全,建议只把./p/文件夹公开在Web上。
如果不设置这里的话,站点就会无限重定向(至少我遇到了这个问题)。导致无法正常进入安装页面。
接着给站点目录的./data文件夹配置读写权限。
chmod 755 /path/to/freshrss/data
其实上面把./p/作为站点根目录,和./data也是有关系的,因为设置了755权限之后,data文件夹的读写权限就很高,如果使用整个源码作为站点根目录,那么很有可能./data里面的数据就会被访问到。官方对于这个是这么解释的:
Be aware that the ./data/ folder contains all personal data, so it is a bad idea to expose it.
注意./data/ 文件夹包含所有的个人数据,所以公开这个文件夹并不是那么好
那么整个前期准备流程就到这里结束了,剩下的webserver该启动启动,php该启动启动,数据库该启动启动就完事了,后面就是安装的流程。
正式安装
首先按照正常流程,直接输入域名或者IP进入访问站点,然后就会自动弹出安装界面。一共四步向导:
第一步:Language(选择语言)
这个没什么好说的了吧,选择好语言按Submit就可以了。
第二步:Check(检查环境)
这一部分主要是检查当前服务器的php环境和软件文件夹下的文件夹访问权限等,如果出现某些php扩展没有通过的话,需要自行安装,这里不展开说了,如果扩展太多,建议直接重新安装整个PHP,然后连着扩展一起安装,这里推荐使用remi仓库进行安装。
第三步:Database configuration(数据库配置)
这里可以选着两种,SQLite和MySQL(Mariadb)
SQLite就不用多少了吧,自动生成数据库文件,而如果选择MySQL的方式的话,就要根据实际输入你的MySQL连接信息:
Host:主机,数据库的IP,如果是本地数据库直接用127.0.0.1即可,如果是其他数据库,请根据实际输入
Database username:数据库用户名,默认是root,可以根据实际使用其他
Database password:数据库密码,根据MySQL的设定输入
Database:数据库名字,这里需要先在Mysql下建立数据库,然后把建立的数据库名称填写在此处
Table prefix:表前缀,表会按照自定义的前缀命名
第四步:常规设置
这里就是建立一个用户而已,按照喜好设置用户名密码即可,默认使用网页表单,提交之后就完成安装和注册了。
简单使用
本部分只针对如何添加RSS订阅源做说法,其他功能需要自己去发现和使用。
进入主页面,左边有个订阅管理,然后进入订阅管理页面
首先按照个人需求先新建好分类:例如新闻分类、动漫游戏资讯分类、科技信息等等,新建好之后,回到添加订阅源和分类的页面,添加订阅源。
订阅源需要用户自己去发掘,国内很多网站都不用RSS信息聚合的,一般来说海外比较多用RSS聚合,国内外差异,懂得都懂吧。
例如我个人用Steam的RSS订阅服务,那么就先从Steam中复制RSS订阅的连接,然后回到添加订阅源处,把RSS订阅连接输入到订阅源里面,然后分类选择自己自定义的分类,这时候点击添加,就已经添加成功了。
这时候它会弹出一个详细设置,可以自定义该订阅源的源信息、显示效果、订阅认证、订阅代理等等,这里就不展开说了。同时还能清理该订阅源的缓存等,节约数据库的空间占用(对于外部数据库特别有用)。
这里提一点关于订阅代理,上面也说过,海外用RSS聚合比较多,如果你外语不错,又想看海外的一些资讯(例如IT快讯、动漫游戏信息等),而服务器因为部署在了本地,所以拉取资讯慢甚至拉不到的话,可以选择在本地配置科学上网,然后在订阅源设置里面配置好代理即可,支持http和sokcs5等,所以这里本人推荐使用海外服务器就是这个原因。
添加好源之后基本就能正常使用了。
总结
其实这个东西简单的不能再简单了,以前使用博客的时候就有听到和接触RSS,不过因为用不到的原因就没弄,那天看到Steam的资讯的时候,想到还不如找个RSS工具,这样读消息也容易。
总之教程大概到这里了,就说到这里吧。




学废了学废了ヾ(≧∇≦*)ゝ
By Dingaling at August 3rd, 2021 at 02:11 pm.