2009/07/21 (火) [長年日記]
■ recent_comment3.rb のデータ保存パスを変更した
tDiary 会議で cache パスに cache じゃないデータが保存されているのが(ry という報告をもらったので早速直してみた。
昨夜に一度コミットしたんだけど、データが消えてしまうバグがあった。もし消えてしまった人がいたらごめんなさい。今朝の時点で直したものの、消えてしまうのが心配な人はあらかじめ
- @cache_path/recent_comments
- @cache_path/recent_trackbacks
をバックアップしてからバージョンアップしてみてください。
内部的には単純に @cache_path にあるデータを @conf.data_path に移動するようにしています。一応、tdiary.conf に保存されているパスが @cache_path な場合はすり替えるようにしていますが*1、バージョンアップ後に設定画面を開いて何も変更しないで保存するとパスそのものを @conf.data_path に上書きするので、バージョンアップした方は念のためやっておくと良いと思います。
*1 昨夜のコミットはこれが無かったのでパスの不整合が発生してデータが消えていた
■ amazon-auth-proxy を設置した
Amazon プラグインの仕様変更にともなって proxy をたださんが作って、風柳さんが Product Advertising API用リバースプロキシを設置してくれたので、hsbt.org でも非力ながら proxy を設置して参加してみた。
作り方は以下の通り。
- amazon-auth-proxy を git clone
- Amazon Product Advertising API の key と secret key を取得
- amazon-auth-proxy.yaml に key と secret key を書く
- proxy ディレクトリを適当に作成
- proxy/rpaproxy.yaml を作成して、リバースプロキシ用の設定を書く。詳しくは http://honnomemo.appspot.com/rpaproxy/help/config/ を参照
- proxy/.htaccess を作成、git clone の dot.htaccess をリネームでいいけど、DirectoryIndex amazon-auth-proxy.cgi を追記する。しないとリバースプロキシでうまくいかない。
- proxy/jp に jp のエントリポイントを記述した amazon-auth-proxy.yaml と amazon-auth-proxy.cgi を設置
- 自分が対応したい locale だけ jp を複製してエントリポイントを書き換える
- 風柳さんのリバースプロキシに proxy ディレクトリのURIをエンドポイントとして申請
こんな感じ。最初何度やっても hsbt.org で動かなくて調べてみたら OpenSSL-0.9.7k が原因で amazon-auth-proxy.cgi の中の OpenSSL::Digest::SHA256 が動いていないのが原因だった。利用を考えている人は OpenSSL-0.9.8 以上が必要なのでこの辺も注意。
自宅サーバーとかレンタルサーバーとかで、この辺のリソースを提供しても良いよって人はどんどん登録すると良いと思います。


OpenSSLのバージョンを上げられない人もいるでしょうし、OpenSSL::Digest::SHA256は古いOpenSSLでは定義されないので、NoMethodErrorをrescueすべきな気がします。ここに書いていいのかは分からないですが。
さすが動き早いですね>キャッシュ :)<br>自分も proxy やってみようと思いますが、今日はちょー眠いので明日以降で…。
tDiary会議お疲れ様でしたー。<br>キャッシュはこれはひどい部門なので覚えているうちにやってしまいました。
proxy 設置して rpaproxy に追加しました。<br>書かれていた通りにやると動くので、とても参考になりました。<br>といっても、suexec どうしようとかパスどうしようとか fcgi にしたらおもしろいかなとかいろいろトライしていたら 2 時間以上かかってしまって… orz