Maesan blog

<< September 2010 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 >>
<< All-in-One Gesturesキタ!! | main | MacBookのHDDを入れ替えてみた >>

xamppでrailsを動かしてみる

なんか必要に迫られてxamppでRailsを動かさなきゃならなくなったのでメモ書き

MacでRailsやるなら買ってきて電源入れたら全部入ってるので楽なのですが、Windowsでやるにはいろいろ入れないといけないのですよ。

最低限必要なのはコレ
・Ruby
・Rails
・Apache
・sqliteかMySQL

で、web系の開発するならApacheとMySQLとPHPとか丸ごとセットになってるxampp使うのが楽なのでxamppがオススメ
(ちなみにインストーラじゃないやつの方が前さん的にはオススメ)

ということでxamppでrailsやるための手順を説明します。

xamppのインストール


とりあえずはxamppダウンロードしてくる。
現時点でのバージョンは1.6.6aっぽいのでそれをダウンロードしてとりあえず今回はcドライブ直下に解凍する。(c:¥xampp)

念のためc:¥xampp¥xampp-control.exe を起動し、apache動かしてみる



でブラウザで http://localhost/ にアクセスしてこんな画面になったらおkなので「日本語」のとこクリックして終わり



RubyとかRailsとかのインストール


次にRuby入れます。
とりあえずWindowsならOne-Click Ruby Installer for Windowsがオススメなのでダウンロードしてインストールする。
インストールフォルダはどこでもおkなのでデフォルトのc:¥rubyで入れてみる。

でインストールが終わったらコマンドプロンプトで
>ruby -v
とか
>gem -v
とかやってなんかバージョンみたいなの出てきたらおk
もしそんなコマンドねぇよって怒られたらインストール失敗かパスが通ってないので確認すること。
ちなみにruby関係のやつはgemを使って簡単にインストールできます。gemについて詳しく知りたい人はググれ

でRailsを入れるわけですがその前にgemのバージョン古いかもしれないのでアップデートしとく
以下全部コマンドプロンプトで
>gem update --system

念のため今入ってるやつも全部アップデート
>gem update

ちなみにプロキシサーバー経由の人はgemやる前に
>set http_proxy=http://プロキシサーバー:ポート
ってやること

gemのアップデートができたら次は
>gem install rails
ってやるとrailsがインストールされる

最近のRailsはデフォのDBがsqlite3なのでsqlite3も入れる
まずココからWindows版のsqlite3とsqlite3のdllをダウンロードしてきて、適当にパスの通ったところにコピる。
今回はc:¥ruby¥bin にコピーしとく

rubyからsqliteを使えるようにする
>gem install sqlite3-ruby

これでとりあえずrailsの環境構築終わり
c:¥xampp¥rails_apps
とかフォルダ作ってそこで
>rails app_name
とかやったらアプリ作れるはず

試しに
>rails maesan
>cd maesan
>ruby script¥generate scaffold note title:string content:text
>rake db:migrate
>ruby script¥server
ってやってブラウザで http://localhost:3000/notes ってやればアプリが出来上がってることが確認できるはず。

ApacheでRailsアプリを動かす


最後にようやくxamppでrailsする方法の説明

C:¥xampp¥apache¥conf¥httpd.conf
を適当にエディタで開く
#LoadModule rewrite_module modules/mod_rewrite.so
ってトコのコメントはずす
LoadModule rewrite_module modules/mod_rewrite.so

適当なところに以下を追加
(たぶん<IfModule alias_module>に入れるのが正しいかも)
Alias /rails "/xampp/rails_apps/app_name/public/"
→今回の例だとapp_nameのとこmaesanで

以下はドコでもイイので追加
<Directory "/xampp/rails_apps/app_name/public">
  Options +ExecCGI +FollowSymLinks
  AllowOverride all
  Order allow,deny
  Allow from all
  AddHandler cgi-script .cgi
</Directory>

でapacheは再起動しとく

次にRailsアプリの設定
publicフォルダに.htaccessを作る必要がある。
(Railsの2.1くらいから何か生成されなくなったっぽい)
Railsアプリフォルダ直下のREADMEってファイルに.htaccessのサンプルが書いてあるからそれをコピって.htaccessファイルをpublicフォルダに作成する。

以下の3行はコメントアウト
AddHandler fastcgi-script .fcgi
AddHandler cgi-script .cgi
Options +FollowSymLinks +ExecCGI

以下の行を追加
RewriteBase /rails/

publicフォルダのdispatch.cgiの1行目を
#!c:/ruby/bin/ruby

#!ruby
に変更する。

これで http://localhost/rails/ でRailsのアプリにアクセスできるようになります。
今回の例だと http://localhost/rails/notes でscaffoldで作ったアプリが使えます。

FastCGI使う


とりあえずApacheで使えるようになったけど、使ってみたらわかると思うのですが、遅いです。例えるならOffice 2008のExcelでグラフ描くくらいイラっとしますので速くするためにFastCGIに対応させます。

まずはFastCGIのモジュールをココからダウンロードしてきて c:¥xampp¥apache¥modules に保存します。

httpd.confのそれらしいところに以下を追加
LoadModule fastcgi_module modules/mod_fastcgi-2.4.6-AP22.dll

また、さっき追加したDirectoryのところの
AddHandler cgi-script .cgi

AddHandler fastcgi-script .fcgi
に変更する。

apacheを再起動しつつ
railsアプリの.htaccessを変更
RewriteRule ^(.*)$ dispatch.cgi [QSA,L]

RewriteRule ^(.*)$ dispatch.fcgi [QSA,L]
に変更し
dispatch.fcgiの一行目をさっきと同様に
#!ruby
に変更する。

これで多分動くはず

fastCGIで失敗する場合は理由はよくわからんけど、
c:¥ruby¥lib¥ruby¥site_ruby¥1.8¥fcgi.rb
をpublicフォルダにコピったら動いたりした。

Rails of Ruby on Rails ~Case of LOCUSANDWONDERS.COM~
Plan de Sens 清水 智雄
毎日コミュニケーションズ
売り上げランキング: 51336
おすすめ度の平均: 4.0
4 内容としては良いのですが
5 そのチャレンジを評価したい
5 サンプルが実践的
4 Ruby on RailsをGUIで開発してブラウザで公開できる本
1 装丁が極悪


Programming | permalink | comments(0) | trackbacks(0)
 iTunes Store(Japan)

この記事に対するコメント

コメントする









この記事のトラックバックURL
この記事に対するトラックバック
Twitter
RECENT COMMENTS
CATEGORIES
Advertisement
    ココのサーバー使ってます。

    ココでドメインとりました。

    栄養補助食品