2007先日のTokyo24もそうですが、いろいろやろうぜ的な場として、友人が借りているDreamhostのサーバーで、何かとやっております。Railsで作られたアプリ、Redmineを入れてみることにしました。最初はこのブログの置いてあるさくらインターネットでやろうかと考えていたのですが、FastCGIが使えなくて動作がゆっくり、という噂を聞いたので今回は見送り。Redmineって?......と、いう方は、以下をごらんくださいませ。技術評論社ものすごくざっくり要約すれば、Excelやら何やらで障害・変更管理していたものをウェブベースでもやりましょう、というもの。使いこなせれば、Subversionとの連携やwikiやタスク管理もできますよ、ということだそうです。インストール!てことで、何はともあれインストール。Redmineのインストールの手順(英語)に従っていきます。1)適当にインストールしたいディレクトリなりサブドメインなりをつくり、以下のコマンドを打つ。svn://rubyforge.org/var/svn/redmine/trunkこれでまずは、RedmineのソースをSubversionからゲッチュー完了です。できなかった人は、リンク先の英語を読んでください。練習なので、スキーマ名は「redmine」とでもしておきましょうか。3)落としてきたソースのconfig配下にdatabase.yml.exampleなるファイルがあるので、それをコピーして、database.ymlを作る。linux上でcpすればいいだけ。個人的には、なんとなくオプションで”-p”はつけたけどね。4)database.ymlに以下のとおり追加する。utf82で作ったものを使います。設定は脳内で読み替えてくださいませ。db:migrateを実行する。Rakefileの置いてあるパス(これを俗にRAILS_ROOTとか言ったりするらしい。)で以下のコマンドを実行。RAILS_ENV="production"終わったら、今度はこれ。RAILS_ENV="production"なんぞこれwwwあっという間に、さっき指定したスキーマに、基本的に必要なテーブル、ユーザー、項目値、その辺が全部入ります。的な空気で終わりです。そっからなのよ......っ!Dreamhost側でもいろいろやる。今度はDreamhost側の設定に移ります。クセがあって、大体いろいろやってるうちに動き出します。手順には一部おまじないが含まれているかもしれませんので、あらかじめご了承を。主な参考手順はここの記事です。1)Dreamhostのコントロールパネルでの設定をいじる。Support?】にチェック。directory】で、”/home/username/exampledomain.com/public/”になるように入力。後ろにpublicをつけるのと、ダブルクォートで囲んだ内容に「なるように」というのがミソ。これをやると、FastCGIで動かす+exampledomain.comにアクセスすると即ページに飛ぶ、という仕様になります。2)dispatch.fcgiを作る。Redmineのソースに戻って、public配下にあるdispatch.fcgi.exampleをコピーして、dispatch.fcgiを作成。ついでに、dispatch.cgiもdispatch.rbも同様に作ってみます。chmodで権限も調整。dispatch.rb3)dispatch.fcgiにtouchする。dispatch.fcgi英語版のフォーラムには書いてあったけど、これをやると、Dreamhost側のFastCGIがアプリの内容が変わったとみなしてくれて、アプリを再読み込みしてくれるらしい。コマンドで、dispatch.fcgiを再読み込みする手のが一般的っぽいけど、何かkillが怖かったので、僕はこっちのが好み。これで、基本的には立ち上がるはず、なんだけど。スタイルシート、javascriptが読み込まれない。調べてみると、どうやらこれはdevelopmentモードで動いているらしい。dispatch.cgiを見ているらしい。スタイルシートや何かはログを見ると、こんな感じになっていました。dispatch.cgi:11現在、問題なく動いているTokyo24と見比べつついると。.htaccessがかなり違う。[QSA,L]に、変更。Errorが起きて、今度は完全に動かない。Apacheのerror.logを追いかけると、こんなエラー。http://exampledomain.com/account/register......わからず。調べてみた限り、スタイルシートやjavascriptの権限がおかしいとか、いろいろあったんだけれど、最終的な答えはdispatch.fcgiの1行目。#!/usr/bin/rubyを、#!/usr/bin/ruby1.8に変えたら動いた。(この辺は、Dreamhost上でrailsコマンドを打って、サンプルアプリを作って調べたらわかった)あとは、日本語対応として、environment.rbに以下をしかるべきところに追加。dispatch.fcgiで、無事productionモードで起動っ。おかげで、今回は参考文献もかなり多し。最初のインストールは10分くらいで終わったのに、動かすまでに半日くらいって。18:02:48久しぶりに、DreamhostでRailsのアプリケーションを更新したら動かなくなっていました。おかげさまで、動かすことができました。ありがとうございました。22:27:48>solisさんDreamhostは、ちょっと前動いていたものでも、気がついたら動かなくなることがあるみたいですね。以前、RailsアプリをDreamhostで動かす際には、FastCGIを使っていました。blogゆるーく、ふわーっと、興味のままに。自分のかたわらに置いておくメモ代わり。PremiumThemes.com。