说明:前几天应几位童鞋的要求,研究了下Feedbin
,一个简单,快速,漂亮的RSS
阅读器,功能挺强的,具体介绍可以看官网→传送门,由于网上几乎看不到这个的安装教程,官方安装文档也少,导致中间踩得坑也挺多的,所以这里就大概发个安装教程,有兴趣的可以试试。
截图
安装
Github地址:https://github.com/feedbin/feedbin
环境要求:Ruby 2.6.1
、Postgres 10
、Redis > 2.8
、Memcached
、Elasticsearch 2.4.X
教程只适用于CentOS 7
系统,内存建议1G
;如果你是KVM
,且内存不够的话,建议加点Swap
,Swap
添加脚本→传送门。
1、安装依赖
#更新系统
yum update -y
#安装EPEL
rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
#安装开发工具组包
yum -y groupinstall "Development Tools"
#安装依赖
yum install libcurl-devel libxml2-devel libxslt-devel rubygems ruby-devel rubygem-bundler ImageMagick-devel patch libidn-devel libidn2-devel libidn2 tmux postgresql-devel java-1.8.0-openjdk.x86_64 -y
2、安装ElasticSearch
rpm -Uvh https://www.moerats.com/usr/down/elasticsearch-2.4.4.rpm
3、安装Memcached
yum install memcached -y
4、安装Redis
yum install redis -y
5、安装PostgreSQL 10
#安装存储库RPM
yum install https://download.postgresql.org/pub/repos/yum/10/redhat/rhel-7-x86_64/pgdg-centos10-10-2.noarch.rpm -y
#安装数据库和一些服务包
yum install postgresql10 postgresql10-server postgresql10-contrib -y
#初始化数据库
/usr/pgsql-10/bin/postgresql-10-setup initdb
6、开始运行
#运行命令
systemctl start memcached redis elasticsearch postgresql-10
#查看状态,如果都显示active(running)即为运行成功
systemctl status memcached redis elasticsearch postgresql-10
#设置开机自启
systemctl enable memcached redis elasticsearch postgresql-10
7、安装Ruby
#安装RVM
curl -sSL https://get.rvm.io | bash -s stable
#如果安装RVM失败,运行以下一行命令后再重新安装
gpg2 --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3
#使其生效
source /etc/profile.d/rvm.sh
#安装ruby 2.6.1
rvm install ruby 2.6.1
#设为默认值
rvm use 2.6.1 --default
8、配置数据库
编辑文件:
nano /var/lib/pgsql/10/data/pg_hba.conf
将以下2
行后面的peer
改成trust
,再使用Ctrl+x
、y
保存退出。
再重启数据库:
systemctl restart postgresql-10
9、打包程序
#拉取源码
git clone https://github.com/feedbin/feedbin.git
cd feedbin
mv .env.example .env
#安装依赖
gem install bundle curb nokogiri nio4r bcrypt ffi http_parser.rb idn-ruby unf_ext kgio sassc websocket-driver msgpack mini_racer puma raindrops rmagick
#运行命令
bundle
如果过程中出现错误,根据提示安装所需依赖就行了,比如gem install sassc
。安装好了后再执行bundle
命令。直到安装完成。
10、相关配置
编辑feedbin
目录里的.env
文件,进行以下修改:
#你也可以根据要求开启其它功能
export DATABASE_URL=postgres://postgres:password@127.0.0.1/database
export REDIS_URL=redis://127.0.0.1:6379
export ELASTICSEARCH_URL=http://127.0.0.1:9200
export SECRET_KEY_BASE=<%= ENV["SECRET_KEY_BASE"] %>
再去申请一个Stripe.api_key
,申请地址→传送门,建立一个名为trial
的测试密匙,再到.env
文件里设置STRIPE_API_KEY
和STRIPE_PUBLIC_KEY
。
如果不申请和设置Stripe.api_key
的话,注册账号时会验证失败,不过这里博主想到了一个不用注册就可以使用的方法。就是编辑app/models/user.rb
文件,进行如下编辑:
#注销掉下面一行代码,大概位置70行左右
#before_create { create_customer }
再编辑config/database.yml
文件。
#修改数据库用户名,不然会默认root
username: postgres
11、运行程序
以下命令均在feedbin
文件夹运行。
设置数据库:
rake db:setup
启动流程:
#后台运行
screen -S start
bundle exec foreman start
接下来按Ctrl+A
,再按D
键保存退出。
继续后台运行命令:
screen -S rackup
rackup
同样的安装上面方法保存退出。
最后可以关下防火墙,运行命令:
systemctl stop firewalld.service #停止firewall
systemctl disable firewalld.service #禁止firewall开机启动
12、域名反代
这里请提前解析好域名,默认开启SSL
。
安装Caddy
wget -N --no-check-certificate https://raw.githubusercontent.com/iiiiiii1/doubi/master/caddy_install.sh && chmod +x caddy_install.sh && bash caddy_install.sh
#备用地址
wget -N --no-check-certificate https://www.moerats.com/usr/shell/Caddy/caddy_install.sh && chmod +x caddy_install.sh && bash caddy_install.sh
编辑配置文件
#以下全部内容是一个整体,修改域名后一起复制到SSH运行!
echo "https://xx.com {
tls admin@moerats.com
proxy / localhost:9292 {
header_upstream Host {host}
header_upstream X-Real-IP {remote}
header_upstream X-Forwarded-For {remote}
header_upstream X-Forwarded-Port {server_port}
header_upstream X-Forwarded-Proto {scheme}
}
log /var/log/caddy.log
gzip
}" > /usr/local/caddy/Caddyfile
tls
参数会自动帮你签发ssl
证书,如果你要使用自己的ssl
,改为tls /root/xx.crt /root/xx.key
即可。后面为ssl
证书路径。
启动Caddy
/etc/init.d/caddy start
最后就可以通过域名https
访问了。
13、插件设置
插件也不是必须安装的,不过这里就列举几个插件,照着Github
安装后,在.env
文件里进行配置后,再重新启动即可。
刷新插件:https://github.com/feedbin/refresher
图像查找:https://github.com/feedbin/image
图像代理:https://github.com/atmos/camo
最后有兴趣的可以自己慢慢研究,至于有人要Docker
教程,由于网上制作镜像的人很少,而且版本都很老了,就不发了,如果需求的人多,博主就抽空做个,不然就算了。
新弄了个centos ,一路跟下来,不是很顺利,去到第10点的时候就卡住了,不知道怎么设数据库的用户密码
第12点之后的不弄行不
直接ip地址访问得了吗?
不需要设置数据库密码,初始状态是没密码的,不过也可以设置,但感觉没必要,ip访问好像不行,内网进不去,只能反代下。
我放弃了,我慢慢学一下那些数据库的设置
可能docker是我的最终归宿
哪里有问题不会解决?顺便给个能用的docker镜像你,https://github.com/scavone/feedbin-docker。
哇想给博煮生猴子
但是这配置要求1g,树莓派根本跑不了啊
运行的时候不需要这么多内存,占用很小,就是打包的时候内存太低进程会被杀死,加点虚拟内存就可以解决。
不能直接在php环境下运行吗?
不能。