突然想要有一个自己的阅读器,其中肯定有受到 Google Reader 关闭的影响;次要的原因则是尝试了一些手机阅读器觉得没有一个合适自己的,而且我手机经常处于离线状态,阅读很不方便。经过一番考察,觉得 selfoss 不论从 UI 还是速度、管理的便利性来说,都是非常不错的;而像 Tiny-RSS 的 UI 就过分老旧了。

虽然这个开源项目很优秀,但我不得不吐槽的就是它的配置文件使用 ini 文本格式,稍不留意就会被搜索引擎抓到配置文件(想想里面可是有数据库的用户名和密码啊啊啊啊啊!!),不过这个通过 Nginx 的配置可以严格控制,拒绝一切访问。

通常的配置请参考这里。我主要记录下遇到的问题。

首先貌似提供的 Nginx 配置文件中的监听端口是 IPv6 端口 ,我的 VPS 没有去折腾这个,所以要把配置里的端口改为 80[::]:80 改为 80 );然后记得依次更改服务器名、文档根文件夹路径等改成自己的;随后关掉 access_log (文件会很大而且一般没什么用);把 upstream 块去掉,修改 location ~ \.php$ 块中的 fastcgi_pass 为 LNMP 默认的 unix:/tmp/php-cgi.sock 。(或者可以直接在 upstream 块中修改 fastcgi_pass )到这里就可以使用 selfoss 了。生成新的密码,使用 /password 提供的密码 Hash 生成器,输入要你想设置的密码明文,复制生成后的 Hash 字符串,登录你的 VPS ,把 Hash 字符串粘贴到 config.ini 里相关位置就修改好了密码。

还有一点就是,貌似 selfoss 默认使用的是 HTTPS 连接,我的 VPS 不支持,所以要将 config.inibaseurl 项使用 HTTP 的完整地址覆盖掉。

安装后会发现无法添加 RSS 源,总是弹窗提示列表加载错误。这是因为默认禁用了 PHP 的 scandir() 函数。修改 /usr/local/php/etc/php.ini 配置文件,搜索 scandir ,将其从 disable_functions 中删除, reload 一下 配置即可。

本来是很简单的一个安装配置过程,却花费了我几乎一天的业余时间。主要是因为不熟悉 Nginx 配置文件的格式,总是忘记语句后加分号(写多了 Python 的缘故?)。收获有:

  • 又一次地认识到了标点符号的重要性;
  • 知道了一个简单的终端文本编辑器 nano ,满足所有编辑配置文件的需求,又不像 Vim 和 vi 一样过于复杂以至于不会用。