複数のRSSフィードを結合するフリーCGI 「Fumy RSS Feeds Merger 」自己流設置覚書 at スターサーバー

20230320 パーミッションの記述について、フォルダのものを追加

はじめに

本記事は、 複数のRSSフィードを結合するフリーCGI「Fumy RSS Feeds Merger」をスターサーバーにて設置する際の方法覚書である。

本CGIの最終更新は2016年であるため、いま使おうとすると少し躓くところがあった。よって、配布サイトの設置方法に従って設置しようとしたときに躓く部分と、その解決方法を記す。

免責事項

書き手である小渕リツ子はCGIその他を使用した経験はてがろぐのみである。専門家ではないため、情報の正確性にはご容赦いただきたい。あくまで、小渕リツ子の作業環境下で成功した方法を記すのみである。

環境

小渕リツ子が本CGIの設置のために使用したサーバーその他は以下のものである。

  • スターサーバー
  • VScode
  • FFFTP
  • Lhaplus
  • windows

前提知識

RSSとは

RSSとはそもそもどのようなものなのかについては下記の記事を参考にされたい。

どういう時にこのCGIを使うのか

キャッチフレーズにもある通り、Fumy RSS Feeds Mergerは複数のRSSフィードを統合することができる。

複数のサイトを運営しているが、自分の活動のRSSを一本化したい場合などに使用することが想定される。また、Misskeyのウィジェット機能でRSSリーダーを登録する際などは便利である。これはおまけ程度に後述する。

どのように動作するのか

配布サイトのデモページはこちら

RSSについて多少の知識がある方は、sample2.datを実行を押していただくとわかりやすいと思う。このCGIを使用して複数のサイトを登録したのち、datファイルを実行して、そのページのURLを使用してリーダーに登録などをすることで、複数のサイトのRSSフィードが一つのURLを登録するだけで収集できるというわけである。

私は創作サイト+同人サイト+創作サイトのてがろぐ+ブログ(+洞軒)と、管理するべきRSSが多岐にわたっているため、新規でRSSを登録してくださる方が便利なように複数統合したものを作れないか、ということで作成してみた。

設置方法

配布サイトの順序に従って確認していく。特に問題ない部分については特筆しない。

CGIのダウンロード

最新版をダウロードし、解凍するのみ。

必須モジュールのダウンロード※

問題点:最新版ソースファイルがダウンロードできない

本CGIを使用するためには、外部サイトからモジュールをダウンロードし、サーバーにアップロードする必要がある。アップロードする必要のあるファイルはpmファイル二種類のみなのだが、リンクされている公開サイトからpmファイルのみダウンロードしようとすると、「ファイルが存在しません」と表示されてしまう

解決方法:安定版アーカイブであるgzipファイルをDL→フリーソフトを使用して解凍して使う

配布サイトにはCPANというサイトでも配布されているとあるが、私がDLして試してみた限りではCPANのファイルだとうまく動作しなかった。CPANというサイト自体普段あまり使わないため、DLの方法から間違っている可能性がある。詳しい方いればCPANからのDLでもうまく動作するかもしれない

安定版アーカイブはgzipというファイルであり、私のパソコンでは解凍機能が初期装備されていなかったため、Lhaplus (ラプラス)というフリーソフトを使用して解凍した。

あとは中身から指定のファイルを取り出してサーバーにアップロードするだけである。

CGIの設置環境要件

CGIが設置可能なサーバーであればたいていは使用可能だと書かれている。上記のモジュール問題でかなり苦戦したが、この言葉を希望に頑張った。大丈夫だった。

CGIの設置方法(パーミッションの設定)※

配布サイトの情報をもとに以下のように設定した。

  • mergerss.cgi:705
  • —.dat:604
  • —.xml:644
  • TreePP.pm:600
  • FeedPP.pm:600
  • cgiファイルが入っているフォルダ自体:705
  • モジュールpmファイルを入れているフォルダ自体:705

スターサーバーのWEBサーバーの仕様→「パーミッション」→「パーミッションはいくつに設定すればいいの?」をふんわり参考にしたり参考にしなかったりしている。

ウェブサーバへのファイルのアップロード方法

特に問題なし

CGIの設置方法(CGIファイルの書き換え)※

mergerss.cgiの一行目は、デフォルトでは「(1行目) #! /usr/bin/perl」となっている。

ウェブサーバーの仕様→プログラムのコマンドパス→perlの部分を参考にして、デフォルトの記述と同じ仕様だったため書き替えず実行した。

CGIの使用方法※

CGIをパラメータなしで実行すれば、管理画面(データファイルの一覧)が表示されます。

http://~~~/fumy-rss-merger/mergerss.cgi

このように書かれているが、最新版のファイルはフォルダ名が「frssmerger」であるため、「http://~~~/frssmerger/mergerss.cgi」と入力する必要がある。

データファイルの作成※

問題点:なんだかよくわからないけど500エラーが出まくる

サイトに従ってdatファイルを作成するものの、記述にほぼ間違いはないような気がするのだが500エラーが出てしまう。

!なんか空白の改行やスペースがあるとエラーが出るのかもしれません!

力業解決法:sampleファイルのURL部分を編集し、名前を変えてアップロードする

sample.datファイルは問題なく動くため、気に入った仕様のsample.datファイルのURL部分を編集してアップロードするとうまくいった。

一からdatその他ファイルを作ってうまくいった方いたら教えてください。

おまけ:misskeyのウィジェット機能でRSSリーダーを使う

misskeyについての説明は省く。知ってる方向けである。

misskeyのウィジェット機能に「RSSリーダー」というものがある。しかし、正直にやるとなると見たいサイトの数だけRSSリーダーを入れ、URLを編集し…としなければならないのである。

そこで、見たいサイトのURLを入れたdatファイルを作成し、cgiを利用して実行した結果のURLを登録することで、一つのRSSリーダーの導入だけで複数サイトの更新情報を得ることができる!

おすすめです。

1