2008.07.02 Wednesday
xamppでrailsを動かしてみる
なんか必要に迫られてxamppでRailsを動かさなきゃならなくなったのでメモ書き
MacでRailsやるなら買ってきて電源入れたら全部入ってるので楽なのですが、Windowsでやるにはいろいろ入れないといけないのですよ。
最低限必要なのはコレ
・Ruby
・Rails
・Apache
・sqliteかMySQL
で、web系の開発するならApacheとMySQLとPHPとか丸ごとセットになってるxampp使うのが楽なのでxamppがオススメ
(ちなみにインストーラじゃないやつの方が前さん的にはオススメ)
ということでxamppでrailsやるための手順を説明します。
とりあえずはxamppダウンロードしてくる。
現時点でのバージョンは1.6.6aっぽいのでそれをダウンロードしてとりあえず今回はcドライブ直下に解凍する。(c:¥xampp)
念のためc:¥xampp¥xampp-control.exe を起動し、apache動かしてみる

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

次に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 ってやればアプリが出来上がってることが確認できるはず。
最後にようやく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で作ったアプリが使えます。
とりあえず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フォルダにコピったら動いたりした。
内容としては良いのですが
そのチャレンジを評価したい
サンプルが実践的
Ruby on RailsをGUIで開発してブラウザで公開できる本
装丁が極悪
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~
posted with amazlet at 08.07.02
Plan de Sens 清水 智雄
毎日コミュニケーションズ
売り上げランキング: 51336
毎日コミュニケーションズ
売り上げランキング: 51336
おすすめ度の平均: 

内容としては良いのですが
そのチャレンジを評価したい
サンプルが実践的
Ruby on RailsをGUIで開発してブラウザで公開できる本
装丁が極悪
