在OpenShift安装Tiny Tiny RSS的注意事项

上个月心血来潮在OpenShift上重新搭建了一个Tiny Tiny RSS,原来的用的是OpenShift提供的快速安装,数据库也是PostgreSQL,程序也比较旧了,干脆删掉重来。

先挂上一个运行了一个月的截图:

简单叙述一下安装过程,此过程需要一定的git以及OpenShift使用经验。

首先是下载源代码,由于官网无法访问,可以从github上下载,或者直接

git clone https://github.com/gothfox/Tiny-Tiny-RSS.git

接下来修改配置文件,下面列出部分的配置文件,这样写可以不用费力的填写用户名密码等等:

define('DB_TYPE', "mysql");
define('DB_HOST', getenv('OPENSHIFT_MYSQL_DB_HOST'));
define('DB_USER', getenv('OPENSHIFT_MYSQL_DB_USERNAME'));
define('DB_NAME', getenv('OPENSHIFT_APP_NAME'));
define('DB_PASS', getenv('OPENSHIFT_MYSQL_DB_PASSWORD'));
define('DB_PORT', getenv('OPENSHIFT_MYSQL_DB_PORT'));
define('MYSQL_CHARSET', 'UTF8');
define('SELF_URL_PATH', 'http://'.getenv('OPENSHIFT_APP_DNS'));

接下来是feed的自动更新问题了,先说几句题外话,在带有cpanel的主机空间里可以通过创建cronjob来完成,可以参考官方的安装说明

在OpenShift中,首先需要在项目中添加Cron 1.4,点下面的see the list of cartridges you can add,找到Cron 1.4,然后添加到项目中。

然后编辑定时执行的脚本(比如名称为fetch-feeds),放到本地项目/.openshift/cron/hourly,可以达到每小时更新(minutely对应每分钟fetch feed)

#!/bin/sh

$OPENSHIFT_REPO_DIR/update.php --feeds --quiet &> $OPENSHIFT_LOG_DIR/rss_update.log
exit 0

将要安装到的OpenShift项目clone到本地,然后添加tt-rss的代码,再通过Git将项目提交到OpenShift。

然后修改下列项目的权限:

目录权限
/cache及其包含目录777
/feed-icons777
/lock777
config.php777
/.openshift/cron/hourly/fetch-feeds755
/update.php755

最后运行https://xxx-xxx.rhcloud.com/install完成安装。