Tiny Tiny RSS のアップデート
以前、Google Reader がサービス終了になった際、私は乗り換え先として Tiny Tiny RSS (以下、TTRSS) を選択しました。サーバー設置型なので、同じような憂き目に合うことは無いですし、公式のAndroid アプリもあるので、自分の用途にはこれで十分です。
私がインストールした当初は、TTRSSは適当なタイミングで新しいバージョン番号が振られてリリースされ、告知のRSSなんかも飛んでいたのですが、最近は、ローリングリリース形式になったので、気をつけていないと置いていかれがちです。頻繁なアップデートに合わせて、できるだけ作業は定式化しておくのが良いでしょう。
というわけで、TTRSSのアップデートについて、自分の事情込みの手順をメモしておきます。
アップデート手順
git から最新を取得
公式リポジトリから clone する
$ git clone https://github.com/gothfox/Tiny-Tiny-RSS.git
もしくは、前回 clone したディレクトリで git pull (fetch & merge) します。
その際、 git show なり git describe なりで commit 番号を確認して、メモしておくと、次回 update 時に更新内容を確認でき、config の修正も(若干)容易になります。
サーバーの crontab による自動更新を止める
私の場合、RSS のフィード収集は crontab でトリガーをかけて行うように設定しているので、アップデート中は動かないように設定を変更します。
新版のアップロード
最初に取ってきたソース一式を、リネームしたものの代わりに、まるごとアップロードします。その際、 ”.git/” ディレクトリは upload 不要です。
config.php を更新
旧版のディレクトリにある config.php をダウンロードし、新版の config.php-dist と見比べて、設定項目が変わっているようなら、それを config.php に取り込みます。 vimdiff を使うと良いでしょう。
旧版のバージョンがわかっているなら、そのバージョン以降の config.php-dist の更新内容は
$ git diff (旧版のcommit 番頭).. config.php-dist
で確認できますし、わかっていなくても、サーバーの旧版ディレクトリの config.php-dist と 3-way merge すれば良いので、なんとでもなります。
旧版ディレクトリからアイコンディレクトリをコピー (optional)
旧版ディレクトリに生成されている feed-icons/ を新版ディレクトリにコピーしておくと、アップデート直後でも feed のアイコンが適切に表示されます。ただし、これは公式手順では推奨されていません。
ここでコピーしなくても、feed の更新時にアイコンが再ダウンロードされるので、特に支障はありませんし、feed 更新がきちんと働いていることの確認にもなるので、コピーしないほうが良いでしょう。
なお、キャッシュディレクトリ(cache/ 等)はコピーするべきではありません。
テストログインする
ここまで準備ができたら、HTTPでアクセスして「管理者権限アカウント」(admin)でログインします。config.php のチェックが行われ、足りない設定がみつかったりすると、ページにエラーメッセージが表示されるので、そのとおりに修正します。
なお、普段はパワーユーザーな別アカウントを作ってログインしている場合でも、このタイミングでアクセスするのは admin アカウントであることに注意です。adminアカウントで無い場合は、変なエラーメッセージが表示されるだけで、先に進めません。