• OS: Mac OS X Leopard (10.5)
  • MacBook (intel)
  • Terminalはデフォルト

Xcode3.0をインストール

Macを買うと付いてくるディスクよりXcode3.0をインストールする。
これをいれることでMacにDevelop機能がいろいろと追加されて便利。
多少ディスクスペースはつかうものの、入れていて損はない。

CDなくした場合はAppleのサイトよりDLできたはず。

Terminal.appをつかってRails環境をインストール

Terminalをつかっていろいろインストールします。
MacPortとRubyGemという二つのインストーラを使います。
これらは登録された名前のものを呼び出すとそれをインストールしてくれるエージェントみたいなものです。
二つ使うのは野菜は八百屋、魚は魚屋みたいな感じ。MacPortはスーパー。RubyGemはRuby専門店ってとこでしょうか。

なのでMacPortはMacに関するもの。RubyGemはrubyに関するものと考えていいでしょう。
まずはMacPortをインストールしなくてはいけません (もう頭がめちゃくちゃw)

  1. http://www.macports.org/よりmacportをDL&インストール
  2. ~/.bash_profile(ない場合は作成)に以下を追加し、portコマンドにパスを通す
    export PATH=~/bin:/opt/local/bin:/opt/local/sbin/:$PATH

    ~/.bash_profileを開くにはTerminalにて

    $ cd ~/
    $ open .bash_profile

    ファイルがなかったら

    $ pico .bash_profile

    コピペして”Ctrl+O(オー)”、そのままEnterで保存。”Ctrl+X”で終了。

  3. ターミナルにて以下を入力し、MacPortを最新情報にアップデート
    $ sudo port selfupdate

     

  4. MacPortを使ってrubygemをインストール (時間かかる)
    $ sudo port install rb-rubygems
  5. RubyGemを使ってrailsをインストール
    $ sudo gem install rails
  6. RubyGemを使ってsqlite3をインストール
    $ sudo gem install sqlite3-ruby
  7. MacPortを使ってImageMagickをインストール (時間かかる、30分くらいかかるかも)
    $ sudo port install ImageMagick
  8. RubyGemを使ってRMagickをインストール
    $ sudo gem install rmagick

サーバー編

ApacheのモジュールとしてRailsを構築
Phusion Passenger(http://www.modrails.com/)を使います。

以下http://www.modrails.com/install.htmlより抜粋

 

  1. RubyGemよりpassengerをインストール
    $ sudo gem install passenger
    $ sudo passenger-install-apache2-module
  2. passenger-install-apache2-moduleを実行するといろいろきかれます。
    Press Enter to continue, or Ctrl-C to abort.
    > Enter 
    (省略)
    
    Press Enter to continue. 
    [Enterを押す前に]
    1. 上の太字をコピー(LoadModule〜という白い3行のやつ)
    2. Finderにて"Shift+Cmd+G"して/etc/apache2と入力httpd.confを開く
    3. LoadModuleといっぱい書かれている下に(1)をペースト。
    4. Terminalに戻る
    > Enter 

    最後までいったら”Ctrl+D”でターミナル終了 

  3.  VirtualHostを設定します。さっきのhttpd.confに下記を設定 [あくまで設置例です] 
    NameVirtualHost *:80ServerName localhost
    DocumentRoot /Users/ユーザー名/Sites/public_html
    
    ServerName アプリ名(半角英数)
    DocumentRoot /Users/ユーザー名/Sites/アプリ名/public

    Terminalにて

    $ cd /etc
    $ sudo pico hosts

    127.0.0.1 localhostの行の後ろに”(半角スペース)アプリ名”を入れます。そのまま保存

    これはlocalhostとURLバーに入れた場合は普通にpubli_html内サーバールートとして動きます。
    そしてアプリ名をURLバーに入れるとrailsフォルダ内がrailsアプリとして動きます。

    127.0.0.1というIPが「自分」という暗黙のルールになっていて、
    /etc/hostsというファイルにてlocalhostはこのIPに予約されていて、「アプリ名」もこのIPに予約。
    (ちなみにここにgoogle.comといれるとgoogleではなく自分のpublic_htmlが表示される。)

  4. apacheを再起動/起動
    $ sudo apachectl -t> Syntax OKと表示されたら
    $ sudo apachectl restart

railsでhello world

VirtualHostにてSites/アプリ名/publicとしたので、今回はhelloWorldというアプリを作成しましょう。
httpd.confに以下を追加。

ServerName helloWorld
DocumentRoot /Users/ユーザー名/Sites/helloWorld/public

では最速で作っていきます。

Terminalにて

$ cd ~/Sites	//サイトフォルダに移動
$ rails helloWorld	//helloWorldアプリ作成
$ cd helloWorld	//helloWorldに移動
$ ruby script/generate contoller HelloWorld	//HelloWorldコントローラー作成

Finderにてサイトフォルダ内にhelloWorldができていると思います。
また、helloWorld内にapp/controllers/hello_world_controller.rbができているのでこれを編集します。

class HelloWorldController < ApplicationController
def index
@message = "Hello World"
end
end

以上に内容を差し替える。
これはHelloWorldの挙動を指定するところで、
def indexは単純にhello_worldでアクセスされたときに表示する挙動
@message = “Hello World”はView(後述)でmessageを呼ぶとHello Worldとして表示されます。

次にViewを作成します。
アプリ/app/viewsにhello_worldフォルダ内にindex.rhtmlを作成します。

とだけ入力して保存。

見てみましょう。

Terminalにて

$ cd /etc
$ sudo pico hosts
127.0.0.1 localhost helloWorldと編集
$ sudo apachectl restart

http://helloWorld/hello_worldにアクセスする。

これでrailsが動いているところまで確認できました。