Contents
CentOS6上にtiny tiny rssを導入
必要条件
- PHP 5.6以上
- Postgresql9.1以上 or MySQL InnoDB
- SSL証明書(letsencrypt)
- Git
- https環境(Apache,nginx)
- DNS
はじめに
Tiny Tiny RSS のダウンロード
導入するディレクトリ及びオーナー・グループ(nginx)は適宜変更
# cd /var/www/html # git clone https://tt-rss.org/git/tt-rss.git tt-rss # chown -R nginx:nginx tt-rss
DB の作成 (admin/password)
※DB名:tt-rss、DBユーザ名:admin、DBユーザパスワード:password とする場合
# mysql -u root -p mysql> CREATE USER ‘admin'@'localhost' IDENTIFIED BY 'password'; mysql> CREATE DATABASE tt-rss CHARACTER SET utf8; mysql> GRANT ALL ON DB_NAME.* TO ‘admin'@'localhost’;
または、下記
DNS
(自分のサイトURL配下に設置する場合は、DNSの設定は必ずしも必要ではありません。)
私の場合、CloudFlareにてreader.yoursite.comの名前でDNS作成
(サイト名は自分用に設定してください)
letsencryptで証明書作成
$ certbot certonly --standalone -d reader.yoursite.com
nginxのconf作成(SSL対応)
tt-rss/utils/gitlab-ci/nginx-defaultが雛形
https://gist.github.com/bjoerns1983/30dff232c8ccede12f6caec7c609b0b6
server_name reader.yoursite.com; location / { root /var/www/html/tt-rss; charset utf-8; index index.php; try_files $uri $uri/ /index.php?q=$uri&$args; include php_exec; } # すべての不可視ファイルをアクセス不可にします。 location ~ /\. { access_log off; log_not_found off; deny all; } listen 443 ssl https2; # managed by Certbot by Certbot ssl_session_timeout 1440m; # managed by Certbot ssl_protocols TLSv1 TLSv1.1 TLSv1.2; # managed by Certbot ssl_prefer_server_ciphers on; # managed by Certbot 128-SHA ECDHE-RSA-AES128-SHA256 ECDHE-RSA-AES256-SHA384 DHE-RSA-AES128-GCM-SHA25 6 DHE-RSA-AES256-GCM-SHA384 DHE-RSA-AES128-SHA DHE-RSA-AES256-SHA DHE-RSA-AES128 -SHA256 DHE-RSA-AES256-SHA256 EDH-RSA-DES-CBC3-SHA"; # managed by Certbot if ($scheme != "https") { }
tt-rss設定
https://reader.yoursite.com/install/ へアクセスし、各項目を設定
- MySQLの設定など
- DBホスト名やPortも記述したほうが良い
- 確認のため、config.phpを見ておく
- 初期化
パスワード変更
admin/passwordでログインし、パスワードを変更しておく
ユーザー作成
- 言語を日本語
- タイムゾーンをAsia/Tokyo
- APIにチェックマーク
外部サービスからインポート
inoreaderの場合
inoreaderからエクスポートし、subscription.xmlをインポートする。
この辺は、GoogleやFeedlyでも同様
ちょっとしたエラー
- インポートで500 Internal Sever Errorが出る場合
(config.php内にホスト名・ポート番号が未記入もしくはmysqlでflush privilegesが必要だった?) - 記事の更新が出来ていない・出来ない
下記のディレクトリーを書き込み可にする必要があるようだ。
# chmod -R 777 lock feed-icons cache/export cache/images cache/upload
定期的に更新
rootだと動作しないのでnginxで動作させる
# sudo -u nginx crontab -e */15 * * * * /usr/bin/php /var/www/html/tt-rss/update.php --feeds --quiet
Tiny RSSの更新(アップデート)
# cd /var/www/html/tt-rss && git pull