Rat's

一款开源,简单的轻量级RSS阅读器:selfoss安装教程
说明:关于RSS订阅器,之前发过不少了,比如Feedbin、FreshRSS等,功能都挺强大的,这里就再介绍个轻量...
扫描右侧二维码阅读全文
05
2019/06

一款开源,简单的轻量级RSS阅读器:selfoss安装教程

说明:关于RSS订阅器,之前发过不少了,比如FeedbinFreshRSS等,功能都挺强大的,这里就再介绍个轻量级的RSS订阅器selfoss,使用起来是非常简单的,界面颜值也还不错,支持很多种订阅和网站,比如TwitterGithubTumblr等。

截图

请输入图片描述
请输入图片描述
请输入图片描述

安装

Github地址:https://github.com/SSilence/selfoss

环境要求:PHP 5.4+MySQL 5.5+PostgreSQLSqliteApacheNginxLighttpd

这里就大概说3种安装方法,宝塔安装、手动安装和Docker安装,数据库均使用Sqlite,建议直接使用Docker安装。

1、安装宝塔

#CentOS系统
wget -O install.sh http://download.bt.cn/install/install_6.0.sh && sh install.sh
#Ubuntu系统
wget -O install.sh http://download.bt.cn/install/install-ubuntu_6.0.sh && sudo bash install.sh
#Debian系统
wget -O install.sh http://download.bt.cn/install/install-ubuntu_6.0.sh && bash install.sh

安装完成后,进入面板,点击左侧软件管理,然后安装PHP 5.6+NginxApache

2、安装程序
再点击左侧网站,添加域名,然后在SSH客户端运行命令:

#进入网站根目录,将路径修改成自己的再运行
cd /www/wwwroot/www.moerats.com
#下载selfoss
wget https://github.com/SSilence/selfoss/releases/download/2.18/selfoss-2.18.zip
#解压并重命名配置文件
unzip selfoss-2.18.zip && rm -rf selfoss-2.18.zip
cp defaults.ini config.ini
#给予文件夹权限
chown -R www:www ./
chmod 775 data/cache data/favicons data/logs data/thumbnails data/sqlite public/

Nginx还需要点击站点设置,设置伪静态,代码如下:

location ~ ^/favicons/.*$ {
    try_files $uri /data/$uri;
}    
location ~ ^/thumbnails/.*$ {
    try_files $uri /data/$uri;
}    
location ~* ^/(data\/logs|data\/sqlite|config\.ini|\.ht) {
    deny all;
}    
location / {
    index index.php index.html index.htm;
    try_files $uri /public/$uri /index.php$is_args$args;
}

然后点击配置文件,删除以下几行,代码为:

location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
{
    expires      30d;
    error_log off;
    access_log off;
}

location ~ .*\.(js|css)?$
{
    expires      12h;
    error_log off;
    access_log off; 
}

然后就可以打开站点了,最开始是没登录界面的,也就是每个人都可以直接使用,然后我们可以编辑config.ini配置文件来添加登录界面,修改以下参数:

#分别为站点地址,登录用户名和哈希密码
base_url=https://www.moerats.com
username=moerats
password=kjl1289$swpaf4JPllpKJQp94h/LF1

密码可以访问http://www.moerats.com/password生成,将域名修改成自己的selfoss站点域名,更多的配置文件设置可以查看官方说明→传送门

3、设置RSS刷新
点击宝塔左侧-计划任务,类型访问URL,地址填上http://www.moerats.com/update,将域名修改成自己的,时间的话,建议每30分钟。

手动安装

这里只适用于Debian89系统,建议直接Debian 9

1、安装环境

#Debian 8系统
echo "deb http://packages.dotdeb.org jessie all" | tee --append /etc/apt/sources.list
echo "deb-src http://packages.dotdeb.org jessie all" | tee --append /etc/apt/sources.list
wget --no-check-certificate https://www.dotdeb.org/dotdeb.gpg
apt-key add dotdeb.gpg
apt update
apt install nginx cron unzip php7.0-cgi php7.0-fpm php7.0-curl php7.0-gd php7.0-mbstring php7.0-xml php7.0-sqlite sqlite -y

#Debian 9系统
apt update
apt install nginx unzip cron php7.0-pdo php7.0-fpm php7.0-tidy php7.0-gd php7.0-mbstring php7.0-xml php7.0-sqlite sqlite -y

2、安装程序

#新建网站根目录
mkdir -p /www/wwwroot/selfoss
#进入网站根目录
cd /www/wwwroot/selfoss
#下载selfoss
wget https://github.com/SSilence/selfoss/releases/download/2.18/selfoss-2.18.zip
#解压并重命名配置文件
unzip selfoss-2.18.zip && rm -rf selfoss-2.18.zip
cp defaults.ini config.ini
#给予文件夹权限
chown -R www-data:www-data ./
chmod 775 data/cache data/favicons data/logs data/thumbnails data/sqlite public/

3、新建站点配置文件

#将域名修改为自己的,然后一起复制进SSH运行即可
cat > /etc/nginx/conf.d/selfoss.conf << "EOF"
server {
    listen 80;
    server_name www.moerats.com;
    root /www/wwwroot/selfoss;
    index index.html index.php;
    location ~* \ (gif|jpg|png) {
        expires 30d;
    }
    location ~ ^/favicons/.*$ {
        try_files $uri /data/$uri;
    }
    location ~ ^/thumbnails/.*$ {
        try_files $uri /data/$uri;
    }
    location ~* ^/(data\/logs|data\/sqlite|config\.ini|\.ht) {
        deny all;
    }
    location / {
        index index.php index.html index.htm;
        try_files $uri /public/$uri /index.php$is_args$args;
    }        
    location ~ \.php$ {
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/run/php/php7.0-fpm.sock;
    }
}
EOF

再使用systemctl restart nginx命令重启Nginx生效。如果想给RSS站点加用户名密码登录的可参考上面的宝塔安装方法。

4、设置RSS刷新

#设置为每30分钟执行一次,将域名修改为自己的
echo "*/30 * * * * /usr/bin/curl -Ls 'http://www.moerats.com/update' >/dev/null" > bt.cron
crontab bt.cron
rm -rf bt.cron

使用求最后crontab -l命令查看添加成功没。

Docker安装

1、安装Docker

#CentOS 6
rpm -iUvh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
yum update -y
yum -y install docker-io
service docker start
chkconfig docker on

#CentOS 7、Debian、Ubuntu
curl -sSL https://get.docker.com/ | sh
systemctl start docker
systemctl enable docker

2、拉取镜像

docker run --name selfoss -d -p 8000:8888 -e CRON_PERIOD=30m -v /root/selfoss:/selfoss/data hardware/selfoss

配置文件和数据都存放在/root/selfoss目录,rss刷新间隔为30分钟,都可自行修改。

此时站点访问地址为ip:8000,如果想加登录用户和密码的,访问ip:8000/password生成hash密码,再编辑/root/selfoss/config.ini文件,修改如下:

#分别为登录用户名和哈希密码
username=moerats
password=kjl1289$swpaf4JPllpKJQp94h/LF1

然后使用docker restart selfoss命令重启生效。

最后如果你要是想看到订阅文章里的全部内容的话,那就需要其它站点支持全文RSS,而不是摘要,对于摘要RSS的,可以通过工具转换成全文RSS,这里提供2个转换的站点。

https://feedex.net/
https://fivefilters.org/content-only/

最后对于其它新闻网站,B站什么的,可以借用万能的RSS生成工具RSSHUB,介绍和使用查看→传送门

Vultr注册就送$50,可开日本/新加坡等机房,【点击注册】。
最后修改:2019 年 06 月 05 日 10 : 55 PM

发表评论

18 条评论

  1. 东方

    是不是他支持的网站, 不需要源网站支持atom/rss 他都可以订阅? 有这种把主流网站订阅并转为atom/rss外链的工具吗?

    1. Rat's
      @东方

      工具好像有,不过我忘了,挺多的

  2. craig

    博主,可以详细说一下 config.ini 密码怎么设置吗?我在 config 设置了用户名密码,却无法用设置好的用户名和密码登录,提示 "invalid username/password".

    1. Rat's
      @craig

      配置文件的密码需要hash,访问路径为/password的页面,可以直接生成,然后填进去即可

  3. ald

    好像没办法自动更新

    1. Rat's
      @ald

      定时任务设置了没

  4. K

    怠惰啊 催更

    1. ald
      @K

      谢谢!刚刚安装了,阅读挺舒服的啊!
      不过就没有分类只有Tag。阅读方式好像也只有一种。

      1. SphaelaClare
        @ald

        借鉴成分过于明显的文章:https://www.moewah.com/archives/1897.html

      2. Rat's
        @ald

        是的,主要就是精简、轻量为主。

    2. Rat's
      @K

      好的好的,今天就水一篇。

  5. dd

    请问有什么chrome插件可以配合selfoss实现实时推送吗

  6. 奶爸de笔记

    感谢分享,以前Google的还能用的时候还用阅读器,现在就直接用feeder.co,打开浏览器提示有更新,就点过去阅读+评论。比阅读器还方便点。

    1. xiaoz
      @奶爸de笔记

      feeder.co你用的免费还是收费版呢?我目前用的Inoreader

    2. Rat's
      @奶爸de笔记

      feeder.co挺不错,之前用过一段时间

      1. 塞法
        @Rat's

        厉害, 主题不错哦, 回复的动画也十分厉害。

        1. Rat's
          @塞法

          只是小特效而已

  7. dz

    感谢楼主分享。