| tags:raspberry pi categories:server
TinyTiny RSSをインストール
ラズベリーパイ・Ubuntu、RaspbianサーバーにTinyTiny RSSをインストールしました。 インストールは少し違いがありますが、ほぼ同じです。現在Raspbianサーバーで運用中。
最初に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/
にアクセスすします。
作っておいたデーターベスの情報を入力し、テストと初期化が行われます。
データーベースの初期化問題
データーベースの初期化中で動きが止まる。(ラズビアンで発生、Ubuntuでは問題なし)そんな時は、ttrssスキームをデーターベースにコピーします。
$ sudo mysql ttrss < /var/www/tt-rss/schema/ttrss_schema_mysql.sql
作業再開、設定ファイルが作られます。
設定ファイルを保存してインストール終了です。 (今度はUbuntuでは書き込みエラーが起こる、ラズビアンではオッケーでした。)
Webブラウザーでhttp://<<IP_ADDRESS>>/tt-rss/install/
にアクセスします。
- username: admin
- password: password
にてログインします。最初にパスワードを変更します。そして、ユーザーの追加も行います。
自分しか使わないのでアカウントを別に作る必要もないかもしれないけれど、 ユーザーを追加します。
そして、他のRSSリーダーより購読しているリストを保存しておきます。だいたい, ***.opmlというファイルの形式がデフォルトではサポートされています。 プラグインを入れると、xmlにも対応します。
利用するユーザーでログインして、購読リストを読み込みます。
、、フィードの更新はまだされません、設定をしなければ、更新は行われません。
フィードの更新
フィードの更新は幾つかの方法があります。
- サーバーのsystmctlを使う:毎分更新
- cronで定期的に走らせる:更新頻度は自分で設定
- プラグインを使って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
にします。
参照:
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を使っていて、好印象だったのですが、しかし選んだのはオープンソースの半公式のアプリ。
スピードは半公式のものとReadableが良く、デザインはFeederに似ているFeedmeが悪くないです。 オープンソースなのでちょっと弄ろうかなと思ってます。 (左へのスワイプでインスタペーパーへ追加とか)
Reeder
マックではReeder v3を使います。TT-RSSはサポートしてはいないのですが、 TT-RSS側でプラグインを使ってアクセスすることができます。
Feverのインストールと設定
Reederからのアクセスを可能にするためのプラグインをインストールします。 プラグインフォルダーにファイルをダウンロードします。
$ cd /var/www/tt-rss/plugins.local
$ git clone https://github.com/DigitalDJ/tinytinyrss-fever-plugin fever
(これは、後述のアプリのアップデート時に問題になるかも。)
ウェブブラウザーでログインします。3つの作業が必要です。
- Feverの有効化
- Feverのパスワード設定
- APIの有効化
Webブラウザーでhttp://<<IP_ADDRESS>>/tt-rss/
にアクセス・ログインして、Pluginよりチェックマークを入れます。そして、一番下にあるFever EmulatioよりFever用のパスワードを設定します。TT-RSSのものと同じでも問題はありません。
そして、Preference/GeneralのところにあるEnable API
APIの有効化も忘れずにチェックします。
マックのアプリ、ReederにTT-RSSを登録します。アカウントの追加の一番下のFeverを選択します。
メールアドレスとありますが、ユーザー名で問題なく、サーバーアドレスは若干違いがあるので要注意、http://10.0.0.10/tt-rss/plugins.local/fever/ パスワードは事前に入力したものを入れます。
さすがにローカル上なので、動作もキビキビしてます。 画像もサーバーにてキャッシングして置いても良いかも。。
おまけ
問題発生時
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