Home > MacOSX | Memo | Plagger > OpenFLのクローラにPlagger::Plugin::Store::Fastladder使ってみた

OpenFLのクローラにPlagger::Plugin::Store::Fastladder使ってみた

オープンソース版Fastladder(以下OpenFL)を使うと、ローカルからのロードなので先読み機能もかなり強力になっています。
もうそれは、しゅぱぱぱぱってフィード読み込めちゃって、まだまだ数千フィードも読んでない僕からしてみれば明らかに宝の持ち腐れなんですけど、移動中や学校、ネットの繋がっていないところでRSSをチェックしたいっていう願望はあったわけです。
アプリケーション版のRSSアグリゲータでもいいけど、どうせならmixiとかはてブとかも読みたいし、PlaggerしたかったけどいままではLivedoorReaderつかってたのでPlaggerLDR使うとかしか方法がありませんでした。
よくわからないので、PlaggerLDRは入れなかったわけですが、OpenFLが出てきて、もうマジktkrでした。

とか僕の背景はどうでもいいわけですが、OpenFLのクローラをStore::Fastladder使うための手順を書いておこうと思います。(ここではMacOSX/Leopardを使った例を書きます)

OpenFLのDBをMySQLにする

Store::Fastladderが(おそらく)MySQLしか使えない模様だし、SQLiteは数ヶ月で重くなっちゃうらしいので、ここはMySQLにしておきます。

MacOSXではdmgから入れる方法とMacPortsから入れる方法があるわけですが、僕はMacPortsからインストールしました。

sudo port install mysql5 +server

makeスクリプトが延々走るのですが、それを最大化して教室でやってたらクラスの女子にキモイとか言われたので気をつけましょう。

設定ファイルを弄ります。

sudo cp /opt/local/share/mysql5/mysql/my-small.cnf /opt/local/etc/mysql5/my.cnf
sudo vi /opt/local/etc/mysql5/my.cnf

[mysqld]に次の行を追加

[mysqld]
…
default-character-set = utf8
default-storage-engine = innodb

パーミッション設定

sudo chown -R mysql:mysql /opt/local/var/db/mysql5/

データベース初期化

sudo -u mysql mysql_install_db5

MySQLのロード

sudo launchctl load -w /Library/LaunchDaemons/org.macports.mysql5.plist

起動しているかの確認

mysql5 -u root

これでウェルカムだの言われれば成功です。

OpenFLでMySQLを使うようにする

まず、OpenFLの最新版を取得してください。(→svn upしろ)

database.ymlをMySQL用にします。

cp config/database.yml.mysql config/database.yml

これを任意に設定。

adapter: mysql
encoding: utf8
database: fastladder
username: root
password:
socket: /opt/local/var/run/mysql5/mysqld.sock

と、すると幸せになれます。

設定が終わったので、データベースを初期化。

mysqladmin5 -u root create fastladder
RAILS_ENV=production rake db:migrate

rakeでがーっとなんか出てきたらたぶん成功です。
ついでに、script/server -e -d productionとか打ってサーバ起動しておきます。

さらにさらにlocalhost:3000とかにアクセスして、アカウントも作成しておきましょう。

DBD::mysqlを入れる

DBD::mysqlとか言うモジュールはそのままだと動かないそうなので、ちょっと書き換えてmakeし直します。

まず普通にインストールします。

sudo cpan -i  DBD::mysql

MySQLのコンフィグにシンボリックリンクを張ります

sudo ln -s /opt/local/lib/mysql5/bin/mysql_config /usr/local/bin/mysql_config

cpanの作業ディレクトリに移動

cd ~/.cpan/build/DBD-mysql-*.****/

***の部分はおのおの違うので臨機応変に

で、次のコマンドを叩く

sudo perl Makefile.PL --cflags=-I/opt/local/include/mysql5/mysql "--libs=-L/opt/local/lib -L/opt/local/lib/mysql5/mysql -lmysqlclient -L/opt/local/lib -lz -lm  -L/opt/local/lib -lssl -lcrypto"

そしてmakeします。

sudo make
sudo make test
sudo make install

Store::Fastladderを入れる

Store::Fastladderは、まだPlaggerのtrunkにはありません。
なので次の場所からチェックアウト

svn co http://svn.bulknews.net/repos/plagger/branches/fastladder-crawler/plagger/ fastladder-crawler

これがplaggerでも使えるようにシンボリックリンクを張ります。

ln -s fastladder-crawler/lib/Plagger/Plugin/Store/Fastladder trunk/lib/Plagger/Plugin/Store/

これでStore::Fastladderが動くはずです。

適当にyaml書いてStore::Fastladderすれば完璧です。

- module: Store::Fastladder
  config:
    connect_info:
      - dbi:mysql:fastladder
      - root
      - on_connect_do:
          - SET NAMES utf8
    member_id: 1

おめでとうございます。ありがとうございます。

ちなみにこれをすることによって、イントラネットな学内ウェブもOpenFLで読むことが出来ます。(学校に来たときに学校用のyamlでplaggerを動かせばいいだけ)
今居るネットワークが学内なのか学外なのかを判断して、yamlを自動的に切り替えるソリューションとか作りたいですね。
学内に居たとしてもProxyを経由すればコンテンツとれるわけですが、いまいちPlaggerでProxyを通す方法が分からない・・・。

追記

日本語でおk!

Comments:3

LuCI 08-02-29 (金) 23:28

plaggerでproxyは私も結構探しました。
私の環境では、環境変数にhttp_proxyの値をセットすれば動作しました。

SET HTTP_Proxy=http://プロキシアドレス:ポート番号/
または、SET HTTP_proxy=http://ユーザ名:パスワード@プロキシアドレス:ポート番号/
plagger -c YAML_PATH

windowsなら、バッチファイル(.bat)でこのような形で保存すると便利です。

参考まで…

otsune 08-02-29 (金) 23:40

>いまいちPlaggerでProxyを通す方法が分からない・・・。
Plagger::UserAgentがenv_proxyを見るからHTTP_PROXY環境変数に設定しとけばok

shunirr 08-03-01 (土) 10:37

>> LuCIさん、otsuneさん
Proxy設定の情報ありがとうございます。
今度試してみようと思います。

Comment Form
Remember personal info

Trackbacks:1

Trackback URL for this entry
http://shunirr.org/archives/95/trackback
Listed below are links to weblogs that reference
OpenFLのクローラにPlagger::Plugin::Store::Fastladder使ってみた from shunirr.org
pingback from shunirr.org - OpenFLのクローラにPlagger::Plugin::Store::Fastladder使ってみた | 次なるもの 08-03-01 (土) 0:57

[...] shunirr.org - OpenFLのクローラにPlagger::Plugin::Store::Fastladder使ってみたTopic: 未分類| original article [...]

Home > MacOSX | Memo | Plagger > OpenFLのクローラにPlagger::Plugin::Store::Fastladder使ってみた

メタ情報

Return to page top