結局、portsからwww/mod_proxy_htmlを入れてみた。
最初、何故かapache2.0がインストールされてはまる。
apache2.0をアンインストールすると、apxsとか上書きされてたapache2.2のファイルが消されてしまいさらにはまる。
apache2.2を再インストールしてなんとか元に戻る。(この過程でapache-2.2.6からapache-2.2.8にバージョンアップされて、aprをアンインストールする必要があったりした)
すると、再度mod_proxy_htmlを入れてもちゃんとapache2.2のディレクトリに入った。
で、いろいろ設定をいじってみたけど、結局思惑通りには動かず。と言うか、ログを見てみてもmod_proxy_htmlが効いているように見えない。なんでだろう。

あきらめて、fastladder は別名のVirtualHostで動かすことにして、今度はStore::Fastladder に取り掛かる。
% svn co http://svn.bulknews.net/repos/plagger/branches/fastladder-crawler/plagger/ fastladder-crawler
でStore::Fastladder を持ってくる。
面倒なので、portsのPlaggerとか、Plaggerのtrunkにリンク張ったりとかせずに、とりあえずチェックアウトしてきたディレクトリで動かしてみることに。
# ってゆーか、Plaggerってまだかなりな勢いで開発されているので、portsとかでシステムに入れるよりも、plaggerを動かす個人ユーザのディレクトリにsvnで持ってきた方が良いかも知れない。
で、以下のようなfastladder.yamlを書いて、
global:
  timezone: Asia/Tokyo

plugins:
  - module: Subscription::Config
    config:
      feed:
        - url: file://var/www/docs/mt/pc/feed.xml ←とりあえず内部のrss
  - module: Store::Fastladder
    config:
      connect_info:
        - dbi:mysql:fastladder_production
        - root
        - mysqlのrootのパスワード
        - on_connect_do:
            - SET NAMES utf8
      member_id: 1
以下のコマンドで実行
% fastladder-crawler/plagger -c fastladder.yaml
すると、
Base class package "DBIx::Class::Schema::Loader" is empty.
なんて言われたので、portsから databases/p5-DBIx-Class-Schema-Loader をインストール。なんか設定画面が出てきたので、とりあえずSqlite3とmysqlとpostgresqlを選んだ。
依存関係でかなりたくさんのパッケージが入ったもよう。
もう一度実行してみたら、今度は
DBIx::Class::InflateColumn::set_inflated_column(): Couldn't load DateTime::Format::MySQL
とか言われるので、devel/p5-DateTime-Format-MySQL をインストールする。
すると、無事にplaggerの実行が終わった。
どきどきしながらfastladderのページでReloadを押してみたら、出てきてます!
でも、日本語が化けてーら。
さて、何が悪いのか切り分けないといけません。
とりあえず、
% mysql -p fastladder_production
mysql> \s
Server characterset:    latin1
Db     characterset:    latin1
Client characterset:    latin1
Conn.  characterset:    latin1
どうも、データベースがlatin1になっているようです。
mysqladmin dropして、mysqladmin create --default-character-set=utf8 とかやってみましたが、やっぱりlatin1のまま。
mysqlわかんねーよとか思いつつ、/var/db/mysql/my.cnfを修正します。[mysqld]セクションに以下の行を追加。
default-character-set = utf8
で、データベースを作り直して、rake db:migrateしたら無事に日本語も化けなくなりました。
これで、fastladder.yamlに好きなfeedを追加して、cronとかに仕込めばブラウザさえあればいつでもどこでもfeedが読めちゃいます。
さよなら、Sage、さよなら、livedoor Reader。
gmailに送ってるCustomFeed::MixiScraperもfastladderに入れちゃおうかしらん。

さて、浮かれてばかりいないで今後の課題です。
  • mongrelがrootで動いているのは気持ち悪いので、fastladder用のアカウントを作ってそちらで動かすようにする。
  • mysqlのDBをmysqlのrootでアクセスするのは気持ち悪いので、fastladder用のmysqlアカウントを作ってそちらを使うようにする。
  • せっかくFastladderの画面でsubscribeできるのに、それが効かないのは悲しいので、fastladder.yamlに反映する方法を考える。(これが一番ハードル高いな)

追記
と思ったらplagger実行する度に全て未読に戻るよ・・・。
これは、plagger側でStoreしないようにフィルタでもかけるのが正しいのかな・・・。
  - module: Filter::Rule
    rule:
      - module: Fresh
        mtime:
            path: /var/home/plagger/tstamp-fl
            autoupdate: 1
みたいなの入れたら大丈夫っぽい。未来のエントリがあると延々未読になるけど。

カテゴリ

トラックバック(0)

このブログ記事を参照しているブログ一覧: fastladderインストール(2)

このブログ記事に対するトラックバックURL: https://www.wizard-limit.net/cgi-bin/mt/mt-tb.cgi/1421

コメントする

このブログ記事について

このページは、falseが2008年3月18日 15:35に書いたブログ記事です。

ひとつ前のブログ記事は「fastladderインストール(1)」です。

次のブログ記事は「fastladderインストール(3)」です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。

広告

Powered by Movable Type 6.1.1