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

2019-06-05T14:11:00
当前页面是本站的「Baidu MIP」版。发表评论请点击:完整版 »

说明:关于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,介绍和使用查看→传送门