前言
受极简主义思想的影响,最近想极简下信息获取方式,于是想到了RSS的方式,初步定下的目标是:
- 搭建一个rss服务器,支持pc端和手机端的访问
- 搭建一个rss生成服务器,把不支持rss的网站变为rss输出
定下了目标后,就开展当前可行方案的调研,下面是具体的过程。
Rss服务器搭建
到底哪些方案可供选择?其实可以寻找主流的rss客户端,看支持哪些rss服务器就可以了,以Feedreader为例,官网上支持
其中Feedbin、feedly、InoReader、The Old Reader是服务商提供的rss服务,Local RSS不知道是什么东西,可供选择的方案也就FreshRSS,Nextcloud,Tiny Tiny RSS。然后逐一展开研究,首先Tiny Tiny RSS,首先搭建过程比较复杂,另外数据库始终配置不好,放弃;然后是FreshRSS的方案,结果很快就搭建好了,下面记录下过程。
基本过程可见 https://github.com/FreshRSS/FreshRSS
概括起来就是以下步骤:
安装服务器
sudo apt-get install apache2
sudo a2enmod headers expires rewrite ssl #Apache modules
安装PHP
sudo apt install php php-curl php-gmp php-intl php-mbstring php-sqlite3 php-xml php-zip
sudo apt install libapache2-mod-php #For Apache
安装数据库(可选)
sudo apt install mysql-server mysql-client php-mysql #Optional MySQL database
sudo apt install postgresql php-pgsql #Optional PostgreSQL database
说可选是因为FreshRSS支持 mysql postgresql 以及sqlite,以上安装php-sqlits3包自带sqlite,因此mysql postgresql并非必要
启动Apache
sudo service apache2 restart
下载FreshRSS
cd /usr/share/
sudo git clone https://github.com/FreshRSS/FreshRSS.git
cd FreshRSS
添加权限
sudo chown -R :www-data . && sudo chmod -R g+r . && sudo chmod -R g+w ./data/
sudo chmod -R g+w
链接源文件到html文件
sudo ln -s /usr/share/FreshRSS/p /var/www/html/FreshRSS
这样就安装好了,下面是简单配置
访问 http://IP/FreshRSS,其中IP表示服务器的IP地址,本地电脑可以是127.0.0.1,外界电脑输入IP地址,按照向导逐一配置就好了。下面说的是三点。
取消滚动浏览自动设置已读
依次点击配置,阅读,滑动到下面,在将文章设为已读,取消勾选在滚动浏览后
开启手机访问支持
在管理,认证 中勾选 允许API访问,提交就可以了,还可以设置api访问密码,在配置, 用户账户,中设置 API密码,然后提交就可以了。
自动更新RSS
创建Cron job,假设每小时定期运行
sudo vim /etc/cron.d/FreshRSS
然后,输入以下内容
6,36 * * * * www-data php -f /usr/share/FreshRSS/app/actualize_script.php > /tmp/FreshRSS.log 2>&1
按Esc退出,输入:wq保存退出。
开启cron定时任务
sudo /etc/init.d/cron start
另外,为了支持开源项目的发展,不说捐赠了,至少在github上star支持一下,特别对于这种优质开源并且star数刚过1000的小众项目。