OSXでperl実行環境を作ってyanchaを動かす。
ちょっと落ち着いたのでブログ。
もう10日経ったのか...!!!って感じです。
いまさらかよ!って感じですが、自社でチャットツールを作ろうとしています。
その参考として@uzullaさんたちがhachioji.pmのメンバで作っているyanchaをインストールしようかと思って。
yancha (旧名yairc) はログの保全、リアルタイム性、モバイル端末への対応を重視した、Perlで作成されたチャットシステムです。
サーバサイドはPerl、クライアントサイトはHTML+JSで作成され、PocketIOによりWebsocketで通信しています。
https://github.com/uzulla/yancha より
で、ほぼ生粋のぺちぱーであまのじゃくな僕は、mongerのみなさんにバカにされつつも、PHPにこだわってきた個人的な恨み経緯があるので、ちょろーっと触った事があるくらいなんですよね、perl。
まぁ、そういうわけで、環境構築から頑張らなきゃいけないなーって気が重かったんだけど、マジで簡単っす。
世の中進歩してるもんだ。こういう地道な改善、大変だよな。頭が下がる。
あ、ちなみにOSXでやってます。
1, perlbrew
perlbrewは、perlのrvmみたいなもんで、pythonのpython_selectですかね。
PHPってそんなんあったっけ?いつから、世の中こんなに便利になったんだろう。
インストールはperlbrew + cpanminus + local::lib で環境構築あたりを見てもらったりすればいいのではないかと。 で、インストールできたら、
perlbrew list
とタイプすると、perlbrew経由でインストールしたバージョンがでます。
perlbrew switch perl-5.16.1
とすればバージョンが切り替わります。
後でインストールするライブラリとか、OSX標準のperlだとエラーになったりするので、お気をつけ。
2, cpanminus
で、cpanm。perlのパッケージマネジャ。gemとかpearみたいなもんだろうと。
cpanはよりもスリムアップして使いやすくなったからcpanmというらしい。
perlモジュールのinstallにcpanmを使うをみればインストールできます。
3, Plack
PlackはPSGI(Perl Server Gateway Interface)のリファレンス実装だそうです。
JavaのServlet APIとTomcatみたいなもんかな。
で、これをインストールするには
cpanm Task::Plack
でオッケー。Lionでエラーになるとかいうのがあったけど、もうパッチあたってて大丈夫だった。
4, MySQL
まぁ、適当に入れればいいと。僕はportsでインストールしました。
port install mysql55 +server
あと、workbenchをわすれずに。
workbench動かす時は、パスの設定が重要。
How to setup MySQL Workbench to work with MacPortsが詳しい。
ただしパスが/macportsになっているので、/opt/localにすべし。
sudo launchctl load -w /Library/LaunchDaemons/org.macports.mysql5.plist
すると自動起動する。
5, DBD::mysql
あと、データベースの抽象化レイヤ入れる。
cpanm DBD::mysql
で終わり。ただし、実行前に、 PATHに
/opt/local/lib/mysql55/bin/
が入っていることを確認すること。mysql_configが見当たらなくておこられる。
6, Yancha
本題。githubのリポジトリから、適当な場所に
git clone https://github.com/uzulla/yancha/
して、yanchaディレクトリに移動し
cpanm --installdeps .
すればインストール終了。簡単過ぎる…何か罠があるのでは…
あとは、yanchaディレクトリにある、start.shを動かすか
twiggy -l :3000 chat.psgi
ってして、http://localhost:3000にブラウザでアクセスすればOKです。
Twitter使う場合とかは、config.pl読んでね。
しょかん
perlのセットアップすると、「miyagawaさん、やべぇ…」ガクブルってなるねw