朝から
「remedieというものがあるらしいけど、ニコ厨ってだけで致命的なのに、あんな便利そうなものを使い出したらおれは仕事をせずに餓死するから使いません。」
という話をしたら、rono23が熱心に仕事してる振りしてMacにremedie入れて俺に自慢してきた。
そんなもん見せられて入れないでいることができるわけがない。もし俺が餓死したらあんた殺人者だぞ。
ということでremedie入れてみた。
Debian etchにremedie
gitは入ってるのでclone(etchで新しいgitを使う場合はこちら)
git clone git://github.com/miyagawa/remedie.git
LibXML2関係に必要なのでlibxml2-devを入れる。
sudo apt-get install libxml2-dev
CPAN祭り(HTTP::Engineだけテスト通らなかったのでforce)
sudo perl -MCPAN -e shell
install Bundle::CPAN
install Module::Install
install Feed::Find
install FindBin::libs
force install HTTP::Engine
install Image::Info
install JSON::XS
install Log::Log4perl
install MIME::Types
install MooseX::ConfigFromFile
install MooseX::Getopt
install Path::Class
install Rose::DB
install Rose::DB::Object
install String::CamelCase
install XML::RSS::LibXML
install DBD::SQLite
install Log::Dispatch
install File::Find::Rule
install XML::Atom
install XML::Feed
install Template
install DateTime::Format::ISO8601
install MooseX::ClassAttribute
install File::Find::Rule::Filesys::Virtual
install HTML::ResolveLink
install HTML::Selector::XPath
install YAML::Syck
install Cache::FileCache
install Web::Scraper
install HTML::Scrubber
install Path::Class::Unicode
install Text::Tags::Parser
install String::ShellQuote
install XML::OPML::LibXML
install Module::Install::AuthorTests
install Date::Parse
install XML::LibXML::Simple
install DBI
DBD::SQLiteがおかしいのでDBD::SQLite::Amalgamationを使う。
svn co http://svn.coderepos.org/share/lang/perl/DBD-YASQLite/trunk/ ./DBD-YASQLite
cd DBD-YASQLite
cat PLEAAAAAAAAAAASEEEEEE_READDDDDDDDDDDDDDD_MEEEEE
THIS IS FORK VERSION OF DBD::SQLite, DBD::SQLite::Amalgamination.
I want to use it, but DBD::SQLite doesn't maintained by maintener.
DBD::SQLite has a lot of known bugs.
perl Makefile.PL
make
make test
sudo make install
心の叫びを無視して続けます。
cd ../remedia
perl Makefile.PL
make
make test
perl -Ilib ./bin/remedie-server.pl
http://localhost:10010 で起動した。 ワーオ。
Apacheからremedieに転送
ローカルではApache使ってるのでremedieからlocalhost:10010にmod_proxyで飛ばす設定をしました。
sudo a2enmod proxy
sudo a2enmod proxy_http
sudo vi /etc/apache2/sites-avalable/remedie
<VirtualHost *:80>
ServerName remedie
DocumentRoot /var/www/
CustomLog /var/log/apache2/remedie-access.log combined
ErrorLog /var/log/apache2/remedie-error.log
ProxyPass / http://localhost:10010/
ProxyPassReverse / http://localhost:10010/
</VirtualHost>
sudo a2ensite remedie
sudo /etc/init.d/apache2 reload
mod_proxy_httpをロードしなければいけないというところでハマりました。
あとproxy.confでAllow from allしておく。 (coLinuxの中なのでWindowsからしかアクセスできないので適当)
いぃぃやっほう! アクセスし易くなった。
自動起動
ローカルなので自動起動して欲しい。 本来デーモン化して/etc/init.d/skel を元に起動スクリプトちゃんと書くところだけど面倒だし終了時は毎回シャットダウンなので適当なスクリプトを置きました。
(多分daemonizeみたいなのがあって簡単にdaemon化できるんだとおもうんだけどperlスキルが大昔で止まっているのでいじれない・・・)
sudo vi /etc/init.d/remedie
#!/bin/sh
cd /home/komagata/works/remedie/
nohup perl -I/home/komagata/works/remedie/lib /home/komagata/works/remedie/bin/remedie-server.pl &
sudo update-rc.d remedie defaults 99 1
これでcoLinux野郎も安心。 全体を通してremedie を remedia だと思ってたところが一番ハマりました。(何て発音すんの?)
このページをブラウザのトップに設定するのは仕事に深刻な影響が出そうです。
とはいってもあまりにも便利過ぎる。俺は餓死するだろう。
参考