发现自己已然好长时间没事就喜欢刷知乎,或者刷豆瓣,而推荐给我的又都是哪些结婚后是何种体验,离婚后是何种体验,处对象是何种体验。
这些东西,偶尔瞧瞧,能使自己在实际生活中留意,从而防止踩坑,维护家庭和谐其实是有益处的,但是天天看,最重要的作用大约就是杀时间了。
但生命一晃早已快过半,还是得把时间用在更有意义的地方才行。正好近期发觉好些写博客的,觉得看了太有收获,那之后就看博客好了,最好是把所有信息都搜集上去置于一个app上面看。一搜索,才发觉这东西老早就有了,叫RSS,曾经google支持得挺好,结果几年前直接把这个给关闭了。现在要用,最好就是自己搭建RSS服务器,找了半天,发现tt-rss应当普遍反映不错,不过官方文档写得实在儿戏,于是网上有了一堆乱七八糟的博客教如何搭建tt-rss的。不过每位人安装tt-rss的时间不同,遇到的问题不同,总结的推论也不同,所以就有了这篇造轮子的文章。
这个安装大约分为服务器上的安装与安卓端安装,其中服务器端包括安装tt-rss,以及tt-rss的mercury_fulltext插件、fever插件,还有配合mercury_fulltext插件工作的mercury-parser-api,安卓端就比较简略了,只是找了很久也没找到中意的app,最后只好凑合用了。
1.安装tt-rss
由于自己的服务器上搭建有博客系统,域名也只有1个,所以网上留传的docker安装方法不太喜欢,按我的理解,如果用docker在我的服务器上安装,大概得用不同的端口,这个使我太是不喜欢,于是就自己忙活如何在nginx下边加一个location来解决,结果活活忙活了我两晚,要不是在外边出差,估计都不或许有两晚时间给我忙活。
好了,言归正传,还是说如何安装忙活的吧。
1.1 服务器基本状况
ubuntu 18.04
nginx
1.2 在服务器上安装php
此处的php指的是typecho 不需要而ttrss还要的各类模块,不过不管了,照着tt-rss的PhpCompatibilityNotes来安装就好。有一点小改动,我把其中的版本号去除了,不然ubuntu18.04安装不过去。
sudo apt install php-cli php-curl php-mbstring php-json php-intl php-gd php-pgsql php-xml php-opcache
1.3 设置php
安装好以后发觉是php7.2版本,然后需要稍稍设置一下。
sudo vim /etc/php/7.2/fpm/php.ini
然后找到php.ini中的opcache部份,更改为下边那样就行
[opcache]
; Determines if Zend OPCache is enabled
opcache.enable=1
; Determines if Zend OPCache is enabled for the CLI version of PHP
1.4安装postgresql
sudo apt-get install postgresql
然后修改ubuntu系统中postgres用户的密码,更改postgresql数据库中管理员postgres的密码,然后在postgresql数据库中改建一个role,这个role的名子最好跟运行php、nginx的ubuntu系统中的用户名相似(如果不同会有哪些问题不太清楚,会不会有问题也不太清楚),然后把这个role的密码也更改了,然后用这个role争创一个数据库。具体步骤命令如下。
sudo passwd postgres
[sudo] password for ubuntu:
Enter new UNIX password:
Retype new UNIX password:
sudo su postgres -c psql
postgres=# \password postgres
Enter new password:
上面的postgres=#是键入命令的提示符。
postgres=# CREATE ROLE "ttrss" WITH CREATEDB LOGIN;
然后是修改ttrss的密码,与上面一样。
我的弄法是这么的,先在ubuntu系统中争创一个ttrss用户,然后用这个用户登入至ubuntu,然后在命令行键入
createdb ttrss
1.5 配置nginx
我的nginx配置文件为/etc/nginx/sites-available/default,我的default文件如下。
## for ttrss
server {
listen 127.0.0.1:181;
root /var/ttrss;
index index.html index.htm index.php;
location ~ .*\.php(\/.*)*$ {
fastcgi_split_path_info ^(.+?\.php)(/.*)$;
if (!-f $document_root$fastcgi_script_name) {
return 404;
}
fastcgi_pass unix:/run/php/php7.2-fpm.sock;
fastcgi_index index.php;
include fastcgi.conf;
include fastcgi_params;
}
}
# Default server configuration
#
server {
listen 443 ssl default_server;
listen [::]:443 ssl default_server;
root /var/typecho;
index index.html index.htm index.php;
server_name sanzhou.live;
ssl on;
ssl_certificate /etc/private/ttrss.crt;
ssl_certificate_key /etc/private/ttrss.key;
ssl_prefer_server_ciphers on;
ssl_dhparam /etc/certs/dhparam.pem;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers ".........";
keepalive_timeout 70;
ssl_session_cache shared:SSL:10m;
ssl_session_timeout 10m;
location / {
try_files $uri $uri/ =404;
}
#for ttrss
location ^~/ttrss/ {
proxy_pass http://127.0.0.1:181;
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-Ssl on;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Frame-Options SAMEORIGIN;
client_max_body_size 100m;
client_body_buffer_size 128k;
proxy_buffer_size 4k;
proxy_buffers 4 32k;
proxy_busy_buffers_size 64k;
proxy_temp_file_write_size 64k;
}
#for typecho blog php
location ~ .*\.php(\/.*)*$ {
fastcgi_split_path_info ^(.+?\.php)(/.*)$;
if (!-f $document_root$fastcgi_script_name) {
return 404;
}
fastcgi_pass unix:/run/php/php7.2-fpm.sock;
fastcgi_index index.php;
include fastcgi.conf;
include fastcgi_params;
}
要留意3点,一是配置上面这些是我自己服务器对应的东西,需要对应更改,第二是上面的各个location次序不能乱,第三个是"location ^~/ttrss/"中的^~这两个符号不能省略,这个跟nginx中loation的执行次序关系巨大。后面两个留意点就是使我自己煮2个熬夜的成因。
1.6 初始化ttrss
访问sanzhou.live/ttrss,第一次访问会直接至ttrss的安装界面,根据提示键入postgresql的用户名、密码,创建的数据库等,然后点初始化就可以了。
完了就可以登入了,访问sanzhou.live/ttrss,用户名键入admin,密码键入password,进去以后建议先更改密码。
到这一步基本即使完成了ttrss的安装过程,剩下的就是自己遇见有意思的rss往旁边放就行了,也可以直接导出opml文件。
1.7 让ttrss手动隔1小时抓取一次rss内容
sudo crontab -u ttrss -e
#插入以下字符,路径按照你的实际路径修改,作用是每小时刷新一次RSS。
* */1 * * * php /home/wwwroot/ttrss.tstrs.me/update.php --feeds > /dev/null
2.安装ttrss的插件2.1 安装mercury-parser-api
按我的理解,这是一个可以将任何网上文章结构化抓取出来的一个网路服务,本来想直接在ubuntu下安装,发现各类错误,毫无头绪,后来就直接安装了docker,再用docker来安装运行这个网路服务了,整个命令如下:
sudo apt-get install docker docker-compose
安装完成后,通过curl 139.162.77.179:3000命令能返回下边一行,就算成功了,其中ip地址是我杜撰的自己服务器的IP地址。
{"message":"Welcome to mercury-parser-api API! Endpoint: /parser"}
测试了下,这个docker 运行3000端口虽然只有本机能访问,应该还是比较安全的。
2.2 安装mercury_fulltext插件
之所以要装这个插件,是我订阅的rss中,有个高手的rss只有上面一段短文typecho安卓客户端,不给整篇文章,安装这个后来就可以手动把整篇文章给搞至rss上来了。
安装也简略,直接cd踏入ttrss文件夹的pluginstypecho安卓客户端,然后键入这个命令
cd /var/ttrss/ttrss/plugins
完成了后来从浏览器登陆sanzhou.live/ttrss,然后启用mercury_fulltext这个插件,完了在feeds的mercury_fulltext填上139.162.77.179:3000,然后对还要使用该插件的rss源右键步入编辑,然后插件选择使用mercury_fulltext就可以了。
2.2 安装fever插件
这个插件听说是为了在多个rss reader终端上能同步处理rss内容,意思就是在安卓看了某篇rss文章后,我再至windows下看的时侯,这篇文章早已手动标记为已读。
这个也简略,按如下命令设置即可
cd /var/ttrss/ttrss/plugins.local
然后用浏览器登陆sanzhou.live/ttrss,然后启用fever插件,具体启用、配置密码等过程见这儿。
然后从客户端登陆fever的时侯,记得登陆的地址是sanzhou.live/ttrss/plugins.local/fever
3.安装客户端3.1 ubuntu客户端
本来想安装安卓跟ubuntu两种客户端,然后发觉ubuntu下没找到支持fever的客户端,只找到了支持ttrss的客户端,叫liferea,安装也简略。
sudo apt-get install liferea
由于不支持fever,我也就没用。
3.2安卓客户端
安卓支持ttrss的客户端有好几款,试了feedme,还有Readably,最后猕猴桃还是ttrss自家监制的安卓客户端比较管用,直接在apkpure下载的。
但有个告诫说是trial mode,7 days left,估计是试用期仅7天?7天之后呢,不知道了,先用着吧。
不过若果是用这个客户端,其实倒不用安装fever插件了,它自己能和服务器同步。
4.参考网站