さくらのレンタルサーバーにFreshRSS (PHP 8.3/SQLite) をインストールしてみた
10年以上使ってきたTT-RSSがMySQL非対応になり、PHPバージョンも古くなってきたので入れ替えを検討。PHPで動作する定番のセルフホスト型RSSリーダー「FreshRSS」を、さくらのレンタルサーバーにインストールした手順をまとめました。
今回は、最も手軽に導入できるPHP 8.3とSQLiteの組み合わせを選びました。
🚀 動作環境
- レンタルサーバー: さくらのレンタルサーバー
- PHPバージョン: 8.3
- データベース: SQLite
-
インストール方法: SSH接続と
unzipコマンド
1. SSHでサーバーにログインし、PHPバージョンを設定
さくらのレンタルサーバーのコントロールパネルからSSHアクセスを有効にし、サーバーにログインします。
1-1. 作業ディレクトリの作成と移動
FreshRSSをインストールするためのディレクトリを作成し、移動します。
# ドメイン直下にインストールする場合
cd /home/ユーザー名/www/
# freshrssというフォルダに入れる場合
mkdir freshrss
cd freshrss
1-2. PHP 8.3の設定
コントロールパネルにログインし、「PHPのバージョン設定」画面で、先ほど作成したFreshRSSのディレクトリ(例:/www/freshrss/)のPHPバージョンをPHP 8.3に設定します。
2. FreshRSSのダウンロードと展開
今回はwgetで最新版を直接ダウンロードし、unzipで展開します。
2-1. ファイルのダウンロード
FreshRSSの最新版ZIPファイルをダウンロードします。
wget https://github.com/FreshRSS/FreshRSS/archive/latest.zip
2-2. ファイルの展開と整理
unzipでファイルを解凍し、中身を現在のディレクトリに移動させます。
# zipファイルを解凍する
unzip latest.zip
展開されたフォルダの中身を、現在のディレクトリに移動する
mv FreshRSS-latest/* .
mv FreshRSS-latest/.htaccess . # .htaccessも忘れずに
rm -r FreshRSS-latest
rm latest.zip
2-3. 書き込み権限の付与
SQLiteデータベースや設定ファイルが保存されるdataフォルダに、Webサーバーから書き込みができるようパーミッションを設定します。
chmod 705 data
3. Webブラウザでインストールウィザードを実行
ここからはブラウザでの作業です。FreshRSSを設置したURLにアクセスします。(例:https://あなたのドメイン名/freshrss/)
- 言語選択: 「日本語」を選択します。
- チェック: 必要なPHP拡張機能のチェックを確認し、「次のステップへ」進みます。(PHP 8.3ならほぼ問題なし)
- データベース設定:
- 種類で「SQLite」を選択します。
- パスは既定値のままでOKです。
- 管理者アカウントの作成:
- 管理者用のユーザー名とパスワードを設定し、「Submit」でインストール完了です!
4. Cronジョブの設定(20分ごとの自動更新)
FreshRSSが自動的にフィードを読み込みに行くよう、さくらのレンタルサーバーのコントロールパネルでCronを設定します。
- コントロールパネルの「CRON設定」へ移動します。
- 設定内容:
- 設定時刻: 20/* * * * (20分ごと、つまり毎時0分と20分と40分に実行)
- 設定コマンド:
/usr/bin/php8.3 /home/ユーザー名/www/freshrss/app/actualize_script.php > /dev/null 2>&1
(※ユーザー名とfreshrssの部分は、ご自身の環境に合わせて修正してください)
📱 おまけ:Androidアプリの連携と結論
セルフホスト型RSSリーダーの醍醐味として、公式APIを使ったサードパーティ製リーダーとの連携を試しました。
Android向けにはReadropというアプリを試したところ、設定画面からFreshRSSのURLとAPIキーを入力するだけで、無事に連携し、フィードの同期も確認できました。
しかし、FreshRSSのWeb UI自体が非常にレスポンシブで使いやすく、モバイルブラウザからアクセスするだけでも十分快適だったため、結局、今のところはWebアプリ(モバイルブラウザ)で使うことに落ち着きました。