| tags:raspberry pi categories:server

TinyTiny RSSをインストール

ラズベリーパイ・Ubuntu、RaspbianサーバーにTinyTiny RSSをインストールしました。 インストールは少し違いがありますが、ほぼ同じです。現在Raspbianサーバーで運用中。

最初にLAMPのインストールが事前に必要ですのでインストールしておきましょう。

LAMPのインストール

MariaDB

MariaDBに接続して,こんな感じでデータベースを作成します。

  • DB: ttrss_db
  • USER/PASS: ttrss_user/tiny-rss-user

作業は、こんな感じです。

$ sudo mysql -u root 
> CREATE DATABASE ttrss_db;
Query OK, 1 row affected (0.02 sec)
> GRANT ALL on ttrss_db.* TO ttrss_user@localhost IDENTIFIED BY 'tiny-rss-user';
Query OK, 0 rows affected (0.06 sec)
> quit
$ 

PHP

PHPはversion 5.6より新しいものが必要になります。Busterのパッケージはphp7.3になります。Ubuntuだと7.0。 他のサービスで7.3が必要だったりするのでphp7.3と必要なパッケージをインストールします。

apt install php7.3 php7.3-fpm php7.3-cli php7.3-curl php7.3-mbstring php7.3-json php7.3-intl php7.3-gd php7.3-mysql php7.3-xml php7.3-opcache

opcodeのキャッシュ設定はデフォルトの状態ではオフになっているので有効化します。 php.iniの変更をします。コメントの;を取り除きます。

$ sudo vi /etc/php/7.3/fpm/php.ini

;opcache.enable=1
;opcache.memory_consumption=128
;opcache.max_accelerated_files=10000

参照:LAMPのインストール


パッケージは提供されていないので、ギットよりダウンロード(クローン)します。

$ cd /var/www/ # web root directory:変更してます
$ git clone https://tt-rss.org/git/tt-rss.git tt-rss
Receiving objects:  55% (37878/67858), 35.00 MiB | 38.00 KiB/s
error: RPC failed; curl 56 GnuTLS recv error (-110): The TLS connection was non-properly terminated.
fatal: The remote end hung up unexpectedly
fatal: early EOF
fatal: index-pack failed
$

しかし、回線が遅いからなのかわからないけれど数回にわたりエラーがでる。 仕方がないので、ダウンロード先をgitlab.com変更して再度チャレンジし、ことなく終了する。

調べてみると(大体うまく行った後に見つけてりするんですよね)、export GIT_CURL_VERBOSE=1の設定を加えることによってもエラーが回避できるらしい。(未確認)

フォルダーの権限をセキュリティーのため変更します。

root:/var/www/tt-rss# chmod -R 777 cache/
root:/var/www/tt-rss# chmod -R 777 feed-icons/
root:/var/www/tt-rss# chmod -R 777 lock/

インストール

そして、ようやく、 Webブラウザーでhttp://<<IP_ADDRESS>>/tt-rss/install/にアクセスすします。 作っておいたデーターベスの情報を入力し、テストと初期化が行われます。

Tiny RSS Install
Tiny RSS Install
Tiny RSS Install

データーベースの初期化問題

データーベースの初期化中で動きが止まる。(ラズビアンで発生、Ubuntuでは問題なし)そんな時は、ttrssスキームをデーターベースにコピーします。

$ sudo mysql ttrss < /var/www/tt-rss/schema/ttrss_schema_mysql.sql

作業再開、設定ファイルが作られます。

Tiny RSS Install Tiny RSS Install

設定ファイルを保存してインストール終了です。 (今度はUbuntuでは書き込みエラーが起こる、ラズビアンではオッケーでした。)


Tiny Rss Settings

Webブラウザーでhttp://<<IP_ADDRESS>>/tt-rss/install/にアクセスします。

  • username: admin
  • password: password

にてログインします。最初にパスワードを変更します。そして、ユーザーの追加も行います。

自分しか使わないのでアカウントを別に作る必要もないかもしれないけれど、 ユーザーを追加します。

Tiny Rss Add User

そして、他のRSSリーダーより購読しているリストを保存しておきます。だいたい, ***.opmlというファイルの形式がデフォルトではサポートされています。 プラグインを入れると、xmlにも対応します。

利用するユーザーでログインして、購読リストを読み込みます。

Tiny Rss Settings Tiny Rss Settings

、、フィードの更新はまだされません、設定をしなければ、更新は行われません。

フィードの更新

フィードの更新は幾つかの方法があります。

  1. サーバーのsystmctlを使う:毎分更新
  2. cronで定期的に走らせる:更新頻度は自分で設定
  3. プラグインを使ってwebクライアントとでTT-RSSを使っている最中にだけアップデートをする。

systmctl

設定ファイルのttrss-update.serviceを作ります。ubuntuではファイルの位置がちょっとちがってます。

root@raspbian:~ # vi /usr/lib/systemd/system/ttrss-update.service
root@ubuntu:~# vi /lib/systemd/system/ttrss-update.service.

[Unit]
Description=ttrss-update
After=network.target mysql.service # postgresql.service

[Service]
User=www-data
ExecStart=/var/www/tt-rss/update_daemon2.php

[Install]
WantedBy=multi-user.target

サービスを起動時に動作するように登録して、起動します。

root@raspbian:~# systemctl enable ttrss-update
Created symlink /etc/systemd/system/multi-user.target.wants/ttrss-update.service → /usr/lib/systemd/system/ttrss-update.service.
root@raspbian:~# systemctl start ttrss-update

cron

cronにて一定期間毎にアップデートすることもできます。 ログイン・ユーザーにて、/usr/bin/php /path/to/tt-rss/update.php –feeds –quietを一回走らせてみます。エラーが出ないようであれば、crontab -e にて作業を追加します。下記例は30分ごと。

*/30 * * * * /usr/bin/php /var/www/tt-rss/update.php --feeds --quiet

バックグラウンド・アップデート

あまり使う人はいないと思いますが、 ウェブブラウザーにてログインし使用している最中にバックグラウンドで更新することもできます。 config.phpの中の、SIMPLE_UPDATE_MODEの値をtrueにします。

参照: + https://git.tt-rss.org/fox/tt-rss/wiki/UpdatingFeeds

TinyTinyRSS本体のアップデード

定期的にアップデートすることを勧めています。 Gitをクローンしてインストールをしたので、gitでプルしアップデート作業を行います。

$ cd /var/www/tt-rss/
$ git pull origin master

config.phpはどこかにバックアップしておいたほうが良いかも。。 更新時にまた追記します。

参照:https://git.tt-rss.org/fox/tt-rss/wiki/InstallationNotes


クライアント

マック、iPhoneとアンドロイドフォンの4台で接続します。

マックとiPhoneでは、Reader.v3を使っていて、TinyTiny RSSのサポートはしていないのですが、feverプライグインを入れることで接続することができます。 アンドロイドでは公式のアプリと幾つかのアプリが公開されています。 今の所、FeedMeがシンプルで良いかなと、スピードはReadableが早い気がしました。 半公式のアプリもF-Droidにあります。

Android

普段はFeederを使っていて、好印象だったのですが、しかし選んだのはオープンソースの半公式のアプリ。

TT RSS Reader

スピードは半公式のものとReadableが良く、デザインはFeederに似ているFeedmeが悪くないです。 オープンソースなのでちょっと弄ろうかなと思ってます。 (左へのスワイプでインスタペーパーへ追加とか)

Reeder

マックではReeder v3を使います。TT-RSSはサポートしてはいないのですが、 TT-RSS側でプラグインを使ってアクセスすることができます。

Tiny Rss Settings

Feverのインストールと設定

Reederからのアクセスを可能にするためのプラグインをインストールします。 プラグインフォルダーにファイルをダウンロードします。

$ cd /var/www/tt-rss/plugins.local
$ git clone https://github.com/DigitalDJ/tinytinyrss-fever-plugin fever

(これは、後述のアプリのアップデート時に問題になるかも。)

ウェブブラウザーでログインします。3つの作業が必要です。

  1. Feverの有効化
  2. Feverのパスワード設定
  3. APIの有効化

Webブラウザーでhttp://<<IP_ADDRESS>>/tt-rss/にアクセス・ログインして、Pluginよりチェックマークを入れます。そして、一番下にあるFever EmulatioよりFever用のパスワードを設定します。TT-RSSのものと同じでも問題はありません。

Tiny Rss Settings Tiny Rss Settings

そして、Preference/GeneralのところにあるEnable APIAPIの有効化も忘れずにチェックします。

Tiny Rss Settings

マックのアプリ、ReederにTT-RSSを登録します。アカウントの追加の一番下のFeverを選択します。

メールアドレスとありますが、ユーザー名で問題なく、サーバーアドレスは若干違いがあるので要注意、http://10.0.0.10/tt-rss/plugins.local/fever/ パスワードは事前に入力したものを入れます。

Tiny Rss Settings Tiny Rss Settings Tiny Rss Settings

さすがにローカル上なので、動作もキビキビしてます。 画像もサーバーにてキャッシングして置いても良いかも。。


おまけ

問題発生時

Install Error

root@tacos:/var/www/tt-rss# chmod -R 777 cache/images
root@tacos:/var/www/tt-rss# chmod -R 777 cache/upload
root@tacos:/var/www/tt-rss# chmod -R 777 cache/export
root@tacos:/var/www/tt-rss# chmod -R 777 feed-icons
root@tacos:/var/www/tt-rss# chmod -R 777 lock

See Also

comments powered by Disqus