2022年実施版 Plaggerインストールメモ

【PR】
※IT系の記事は当方環境での実施内容となるため実施する場合は自己責任でお願いいたします。

CentOS7で実施、今は普通のCPANじゃなくてよりいいものがありそうではあるんですが、試してないので旧来の方法で。

必要そうなモジュールをインストール(初回)


yum -y install cpan perl-YAML.noarch openssl-devel expat-devel db4-devel libxml2-devel perl gcc make perl-XML-LibXML perl-DateTime perl-XML-RSS perl-File-Find-Rule perl-LWP-Protocol-https

CPANを最新化

初回起動時に色々聞かれたら「y」で取り合えず問題なし
cpan
install CPAN
exit

Plaggerのインストール環境チェック

cpan
test Plagger

不足モジュール表示(1回目)

make_test NO 10 dependencies missing (HTML::TreeBuilder,DateTime::Format::Strptime,XML::RSS::LibXML,XML::RSS::Liberal,HTML::TreeBuilder::XPath,XML::Feed,HTML::FormatText,WebService::Bloglines,XML::Atom,XML::Liberal); additionally test harness failed

不足モジュールが表示されたらWebで「CentOS XXXX::XXXX(不足モジュールの名前)」とかで検索すると対応するRPM名が見つかったりするのでそれをyumでインストールしていく。

不足モジュールインストール(1回目)

yum -y install perl-DateTime-Format-Strptime perl-XML-RSS-LibXML perl-XML-Feed perl-XML-Atom
再度、test plagger

不足モジュール表示(2回目)

(HTML::TreeBuilder,XML::RSS::Liberal,HTML::TreeBuilder::XPath,HTML::FormatText,WebService::Bloglines,XML::Liberal); additionally test harness failed

不足モジュールインストール(2回目)

yum install perl-HTML-Tree
再度、test plagger

不足モジュール表示(3回目)

make_test NO 3 dependencies missing (XML::RSS::Liberal,WebService::Bloglines,XML::Liberal); additionally test harness failed

不足モジュールインストール(3回目 forceで強制あり)

RPMで解決しないもの、CPAN上のインストールですむものをインストールする

install Text::Tags::Parser
force install XML::Liberal
force install XML::Feed::RSS

再度、test plagger

OKなら

install Plagger

だめならこれもforce付きで実施。

いざPlagger -Vで確認!

エラー無くバージョンが表示されたらOK。

Can't locate XXXX/XXXX.pm in @INC (@INC contains: ...

と出たら必要なPerlのモジュールが不足しているのでCPANで

install XXXX:XXXX

でインストールして再度Plaggerの起動を試す。

YAMLファイル記載例

global:
# Make plagger more verbose than default
assets_path: /path/to/assets ←assetsへのパスを書く
log:
level: debug
plugins:
# Subscribe to a couple of "My Feeds" on the web
# They could be either Feeds URL or Blog URL (with Auto-Discovery support)
- module: Subscription::OPML
config:
url: http://path/to/opml.php ←opmlファイルへのへのパスを書く

- module: SmartFeed::All
rule:
module: Fresh
duration: 120 ←直近2時間までの記事のみ対象とする
- module: Publish::Feed
rule:
expression: $args->{feed}->id eq 'smartfeed:all'
config:
dir: /path/to/rss_output_dir ←RSSファイルの出力先ディレクトリ
format : RSS
filename: rss_file_name ←出力するRSSのファイルの名前

yamlを書いたら、
plagger -c 上記で作成したなんとか.yaml で実行

Cronで実行するとCan’t locate XXXX/XXXX.pm in @INC (@INC contains: とか出る場合

CPANで各種ライブラリをインストールすると、「実行したユーザー」のhomeディレクトリ配下にインストールされてしまいます。
そのため、Cronを以下の様に記述します。
記載例

@hourly PERL5LIB=/CPANをインストールしたユーザー/perl5/lib/perl5 plagger -c /path/to/hoge.yaml

 

Setup_Memo

Posted by admin