【備忘録】Tiny Tiny RSS初期設定(&フィード更新)の詰まった所

TT-RSS

PHPなんてちっとも扱えない人がTT-RSSを運用するまでの備忘録。
Gitも使いません。

猿でもわかる…とは言えないので、テキストエディタで言われた通りに情報書き換えるのさえ無理な方はお帰りくだせぇ。
「PCはある程度思うように扱えるけどソフトウェア・プログラミング用語はちょっと…」ってレベルの方には丁度いいかも。
とはいえ、そのくらいの方でないとTT-RSSに辿り着かないですよね。

Synology NASの話です。
ラズパイ用途やレンタルサーバー、他社NASなどで辿り着いた子はごめんね。
分かる人はディレクトリ置き換えてくれればざっくりとした参考になるかも。
今更RSSリーダー使うもの同士、仲良くしようぜ。

外国のフォーラムは
「ドッカー使え」「いいからドッカー使え」「ドッカー使えないの?だっさ」公式「直接インストールするな。ドッカー使え」
こんな雰囲気。
ドッカー使わねぇよ!!

…いや、正直これからやるなら使った方が良いよ。
日本語リファレンス少ないから諦めただけです。

TT-RSS公式で直接インストールは推奨されていません。
 Dockerでの導入を強く強く推奨されています。

 こんなphpのピもgitのギも知らない情弱ネット海の沖の沖のブログより、
 英語が読めるなら公式のインストレーションに従った方が得策です。

  【TT-RSS公式】Tiny Tiny RSS (tt-rss.org)
 それでも!どうしても!直接インストールしたい方は以下へどうぞ。

使用パッケージやソフト

DSM6.2.3-25426 Update 2 (2020.12.24時点)
クリスマスに何やってんだって話

・WebStation
・Apache2.4
・PHP7.4
・MariaDB10
・phpMyAdmin
・PuTTY(外部ソフト)

使わなかったもの
・Git
 全部githubからブラウザでダウンロードしてエクスプローラでフォルダ移動した。

出典

Synology DS218 Tiny Tiny RSSを導入 | なにがしのホニャララ (hircos.work)
マヂ感謝😂

Step by step guide to installing Tiny Tiny RSS (tt-rss) : synology (reddit.com)
マヂ感謝😂

[SOLVED] Startup failed: set SELF_URL_PATH to the correct value detected for your server – Tiny Tiny RSS – Tiny Tiny RSS: Community (tt-rss.org)
マヂ感謝😂

【高機能】 Synology 総合 part8 [無断転載禁止]©2ch.net (5ch.net)
技術者集団5ch

サーバー環境を整える・下ごしらえ

DSMで必要パッケージをインストールしておく
・WebStation
・Apache2.4
・PHP7.4
・MariaDB10
・phpMyAdmin
ApacheとPHPのバージョンは諸説あるので、環境に合ったものをお使いください。

SSHで接続するためにPuTTYをインストール(もちろん別のソフトでも良いですよ)

1.mySQLの設定

管理者権限で立ち上げたPuTTY等でSSH接続します。

下準備として
DSM>コンパネ>端末とSNMP>SSHサービスを有効化する にチェック
ポート番号は変えた方が安全です。

SSHのログインはDSMの管理者権限を持つユーザーで行います。
パスワードを打ってもCUI上で打位置が動かないのは仕様です。桁がわからないようにとのこと。

# mkdir /usr/syno/mysql
# mkdir /usr/syno/mysql/bin
# ln -s /usr/local/mariadb10/etc/mysql /usr/syno/mysql/bin/mysql
     ※ちなみにディレクトリ検索は find / -name (探したいディレクトリ名) -type d

出典:Synology DS218 Tiny Tiny RSSを導入 | なにがしのホニャララ (hircos.work)

上記を叩いてディレクトリを作成します。
三行目はシンボリックリンクの作成。
なぜそんな事をするのかはわかりません

2.TTRSS本体の設置

 2回目
※冒頭でも書きましたがまず前提として、
 TTRSS公式で直接インストールは推奨されていません。
 Dockerでの導入を強く強く推奨されています。

 こんなphpのピもgitのギも知らない情弱ネット海の沖の沖のブログより、
 英語が読めるなら公式のインストレーションに従った方が得策です。

  【TT-RSS公式】Tiny Tiny RSS (tt-rss.org)
 それでも!どうしても!直接インストールしたい方は以下へどうぞ。

【公式】fox/tt-rss: Tiny Tiny RSS – Tiny Tiny RSS (tt-rss.org)

上記リンク右上からzipをダウンロードします。
 〇tt-rss-master.zip

解凍後、tt-rssフォルダをNASのWebStationインストールによってできた(はずの?)
¥¥NAS/web/
あるいは
/volume1/web/
など、WebStationで公開しているディレクトリに配置します。
/volume1/web/tt-rss/
お好きな箇所に置いていただいて構いませんが、以下これを前提といたします。
構成が違う方は都度脳内変換してください。

3.権限変更

こちらも教えていただいたお作法です。
出典:Synology DS218 Tiny Tiny RSSを導入 | なにがしのホニャララ (hircos.work)

項目1と同様にPuTTY等でSSH接続をして、
cd /volume1/web/tt-rss/
あたりでTTRSSルートにディレクトリ移動をします。
ディレクトリ構成違う方は適宜書き換えてください。

chmod -R 777 cache/images
chmod -R 777 cache/upload
chmod -R 777 cache/export
chmod -R 777 feed-icons
chmod -R 777 lock
chmod 766 /volume1/web/tt-rss (ここはそれぞれ違いますが、きっとここでしょ?)

こんな感じで権限設定をしておきます。
成功しても特に「Success!!イヤッフーゥ!」とか表示はされません。
エラーの時だけ怒られます。

4.Maria DBの設定

どの時点だったか忘れたけど、確かMariaDBの初回起動時かなぁ?
面倒な英字+数字+記号のパスワードを求められます。
ちゃんとメモっておいて、ユーザー名:root と共にパス入力してログイン。
ポート番号をメモるなりセキュリティのため変更するなりお好みに応じて。

5.phpMyAdminの設定

データベースの設定をします。
phpMyAdminを立ち上げて──
データベース>データベースの作成>ttrss → 作成

6.PHPの設定

WebStationを立ち上げて──

全般設定>バックエンドサーバ>Apache2.4
全般設定>PHP>php7.4

PHP設定>PHP7.4を編集>デフォルトのサーバー設定>拡張 を全チェック

7.TT-RSS本体設定

https://NAS/tt-rss/install/

NASの部分はお使いのDDNSやIPアドレス等で。

インストーラーが開きます。
開かなければWebStationの設定とか色々見直してみたり。
いじりすぎると泥沼にはまるので、変更箇所はテキストでまとめておきましょう。

で初期設定をするのですが、
記述を間違えたり変な所で保存してしまいここに引き返してきた場合

とか言ってくるので、
/web/tt-rss/config.php
をゴミ箱に投げ捨てましょう。

・Database type: MySQL
・Username: なんでもいいけど、たぶんMariaDBのユーザ。rootでよい?
・Password: ユーザのパスワード
・Database name: phpMyAdminで作成したデータベースの名前
・Host name: 127.0.0.1
・Port: MariaDBで設定したポート番号
・Tiny Tiny RSS URL: NASのアドレス + Tiny Tiny RSSのディレクトリ名
問題なければ、Checking configuration, Checking databaseが通り、初期化するかどうか聞いてきます。

初期化すれば、無事にインストール完了!

Synology DS218 Tiny Tiny RSSを導入 | なにがしのホニャララ (hircos.work)

Tiny Tiny RSS URLはIPではなくDDNSの方が良いです。
だってスマホとか外部からアクセスするでしょ?
QuickConnectでもいけるかな?いけるよね多分。

以上全て滞りなければ初期設定の完了です。
この時点ではフィード登録しても記事更新できないと思いますので次項へ。

この次は自動更新の設定なんだけど、
順々に試す前に一度記事最後の
デーモンについて追記
を確認しておいてね。

変にタスクスケジューラで設定しなくても良いです。
記事書き直すのが面倒なのでそのままにしてるだけです。

自動更新の設定

DSMのコンパネ>タスクスケジューラで設定するんだけど、
色々試しても上手く行かなくて1日かかった。

とにかく最初に試すのが、SSH接続してユーザーログインした後
php74(PHPのバージョンに応じて) /var/services/web/tt-rss/update.php –feeds
を試す事
これで記事の更新に成功したなら必ず解決できる。

1.PHP_EXECUTABLEの設定

/volume1/web/tt-rss/ディレクトリ内
・upload.php
・config.php
各々テキストエディタでPHP_EXECUTABLEの列を探して、
/usr/bin/php →
/usr/local/bin/php74(バージョンに応じて)
と書き換える。

2.権限設定

SSH接続して──

sudo chmod -R 777 /var/services/web/tt-rss/cache/images/
sudo chmod -R 777 /var/services/web/tt-rss/cache/upload/
sudo chmod -R 777 /var/services/web/tt-rss/cache/export/
sudo chmod -R 777 /var/services/web/tt-rss/cache/js
sudo chmod -R 777 /var/services/web/tt-rss/feed-icons/
sudo chmod -R 777 /var/services/web/tt-rss/lock

【高機能】 Synology 総合 part8 [無断転載禁止]©2ch.net (5ch.net)

必須なのか判断しかねますがやっておきましょう。

3.タスクスケジューラの設定

全般タブ
まず実行ユーザーをrootにしてたのがダメっぽい。
admin権限持つユーザーに設定。

スケジュールタブ
まぁ15分とか

タスク設定タブ
ここがかなめ
スクリプトに以下追記
php74(バージョンに応じて) /volume1/web/tt-rss/update.php --feeds --quiet

まぁこの実行スクリプトはリファレンス探せばいくらでも出てくる。

4.SELF_URL_PATHのチェックが妙な動作するので

config.phpに以下1行追記

define('_SKIP_SELF_URL_PATH_CHECKS', true);

この1行の為に半日詰まった!!
どのリファレンスやフォーラムにも書いてなくてしんどかった
マジでPHPの知識無しによくこれに辿り着いたもんだ。
自分を褒めてやりたい。いや褒める。

スケジューラのエラーログを吐き出させたら、
「SELF_URL_PATHのhttps:// ip :5001/webapi/entry.cgiを確認せぇや」
と言い出したTTR先生。
何のことやらさっぱりわからなくて右往左往してしまったが、
[SOLVED] Startup failed: set SELF_URL_PATH to the correct value detected for your server – Tiny Tiny RSS – Tiny Tiny RSS: Community (tt-rss.org)
を発見して解決。

参考


434不明なデバイスさん (ワッチョイ dfcd-qMsK)2017/07/25(火) 21:09:09.47ID:Qq8pOPKG03Live Dwango Readerのサービス終了って言うからSynoCommunityのTiny Tiny Reader入れた
Apache 2.2 +PHP7.0 +MariaDB5で無事動いた
Apache2.4やnginxだとトップページが正常に表示されなかった


435不明なデバイスさん (ワッチョイ dfcd-qMsK)2017/07/25(火) 21:22:05.11ID:Qq8pOPKG03×Tiny Tiny Reader ○Tiny Tiny RSS
パッケージの入れ方などはPart6スレのVirtualBoxと一緒
パッケージソースは http://packages.synocommunity.com/

気をつける点
Tiny Tinyインストール時に必要なMariaDBのrootパスワードは最初空白に設定されている
Incorrent passwordというエラーでどうしても進めなかったら下記サイトを参考にこうやる
https://github.com/SynoCommunity/spksrc/issues/2217

SSHからsudo -iしてrootになって
sudo mkdir /usr/syno/mysql
sudo mkdir /usr/syno/mysql/bin
sudo ln -s /usr/bin/mysql /usr/syno/mysql/bin/mysql

PHPでcurlとか色々必要なのでWeb stationのPHP設定の拡張はとりあえず全チェック


451不明なデバイスさん (ワッチョイ eacd-NA+7)2017/07/30(日) 13:46:54.24ID:crDtFLGW01>>434-435に追加で
使用するPHPを7.0ではなく5.6に変更
Apache2.2 +PHP5.6 +MariaDB5

パッケージのフル版PHP5.6を使うようにファイル修正 PHP_EXECUTABLEのところを/usr/local/bin/php56へ
sudo vi /var/services/web/tt-rss/config.php
sudo vi /var/services/web/tt-rss/update.php

パーミッションの修正
sudo chmod -R 777 /var/services/web/tt-rss/cache/images/
sudo chmod -R 777 /var/services/web/tt-rss/cache/upload/
sudo chmod -R 777 /var/services/web/tt-rss/cache/export/
sudo chmod -R 777 /var/services/web/tt-rss/cache/js
sudo chmod -R 777 /var/services/web/tt-rss/feed-icons/
sudo chmod -R 777 /var/services/web/tt-rss/lock

SSHから php56 /var/services/web/tt-rss/update.php –feeds と打ってエラーが出なければok

おそらく不要だが → PHPのopen_base_dir 末尾に追加 :/var/services/web/tt-rss/

デーモンについて追記

update_daemon2.php
タスクスケジューラ使わなくても、デーモン使えば常駐して勝手に更新してくれると知った…。
前途したタスクスケジューラでupdate.phpを起動させる代わりに、
ブート時にdaemonが起動するようにタスクスケジューリングすればおk。

具体的には↓

3.タスクスケジューラの設定(追記版)

作成>トリガーされたタスク>ユーザー指定のスクリプト

全般タブ
実行ユーザーをrootではなく、admin権限持つユーザーに設定。

イベント>ブートアップ

スケジュールタブ
ありません。

タスク設定タブ
スクリプトに以下追記
php74(バージョンに応じて) /volume1/web/tt-rss/update.php --feeds --quiet

php74(バージョンに応じて) /volume1/web/tt-rss/update_daemon2.php

これでDSM起動時にupdateデーモンが起動して常駐してくれるはずです。


コメント