WindowsプログラマのWebアプリへの挑戦日記。あとパンとか。

coreserverにRuby on Rails 2.1.0をインストールしてみた

8月 5th, 2008 Posted in ruby, Ruby on Rails

coreserverにRuby on Rails 2.1.0をインストールしたので、作業の記録を残しておきます。

SSHでcoreserverに接続

railsを入れるには、SSHでサーバーにログインして作業する必要があります。

ボクはwindowsから作業するので、Tera Termを使用しています。このあたりからダウンロードすればいけると思います。

SSHでログインする前にcoreserverにどこから接続するかという情報を登録します。coreserverの管理メニューで、[ホスト情報登録]から[SSH登録]というボタンをクリックします。

そのまま待っとくと5分ほどで反映されてるはずですので、しばらくしてからTera Termをおもむろに起動します。

Tera Termを起動すると、接続の設定をするダイアログが開くので、TCP/IPのラジオボタンにチェックをいれ、ホストに[sxx.coreserver.jp]と入れます。coreserverの管理メニュー[FTP設定]のFPTサーバーを入れてください。サービスはSSHで、ほかはデフォルトでいけたと思います。

Tera Term - Ruby on Rails 2.1.0をインストール

[OK]をクリックすると、SSH認証のダイアログが開きます。ユーザ名とパスフレーズにそれぞれcoreserverの管理メニュー[FTP設定]のFPTアカウント、FPTパスワードを入れます。

Tera Term - Ruby on Rails 2.1.0をインストール

[OK]ボタンをクリックすると、coreserverに接続されます。[OK]ボタンをクリックしてもダイアログが閉じない場合は、coreserver側の準備ができていないので、もうちょっと待ってみてください。

RubyGemsのインストール

coreserverには最初からRubyが入っているので、Rubyはそれを使います。最初の作業は、パッケージ管理のRubyGemsをインストールすることです。まずは、~/.bashrcというファイルを作成して、PATHを通すために次を書きます。ファイルの編集の仕方はテキトウに調べてください。ボクはvimを使っています。

  1. export PATH=$PATH:$HOME/bin:$HOME/lib/ruby/gem/bin
  2. export RUBYLIB=$HOME/lib/:$HOME/lib/ruby
  3. export GEM_HOME=$HOME/lib/ruby/gem

この変更を反映するために、次を実行。

  1. >source ~/.bashrc

次にRubyGemsをダウンロードして解凍します。

  1. >mkdir ~/temp
  2. >cd ~/temp
  3. >wget http://rubyforge.org/frs/download.php/38646/rubygems-1.2.0.tgz
  4. >tar xvzf rubygems-1.2.0.tgz
  5. >cd rubygems-1.2.0
  6. >ruby setup.rb config --prefix=$HOME

途中でkillされることがあるので、その場合はもう一度

  1. >ruby setup.rb --prefix=$HOME

を実行します。終わったみたいに感じたら、バージョンを確認してみます。

  1. >gem -v
  2. >1.2.0

どうやら無事にRubyGemsが入ったみたいです。

railsのインストール

次にrailsを入れます。

  1. >gem install rails --include-dependencies

これだけでrailsがインストールされます。インストールが完了したらrailsのバージョンをチェックします。

  1. >rails -v
  2. >Rails 2.1.0

やったー!なんとかインストール成功!

サンプルアプリで動作確認

次はサンプルアプリを作り、ブラウザから動きを見てみます。

  1. >mkdir ~/ror_app
  2. >cd ~/ror_app
  3. >rails -d mysql adbook

いろいろなファイルが作成されます。~/ror_app/adbook/config/database.xmlをエディタで開き、developmentの以外の項目を削除して、developmentの必要な項目を記入します。

  1. development:
  2.   adapter: mysql
  3.   encoding: utf8
  4.   database: xxxx_adbook
  5.   username: xxxx_adbook
  6.   password: password
  7.   socket: /tmp/mysql.sock
  8.   host: localhost

databaseとusernameはcoreserverの場合、同じです。passwordはMySQLのパスワードを設定します。

このdatabase.xmlの設定をもとにrakeでDataBaseを作ります。

  1. >rake db:create:all

なぜか失敗します。database.xmlの書き方が悪いのかもしれないけど、よくわからんのでcoreserverのphpMyAdminでdatabaseを作成します。作成したdatabaseは、database.xmlで設定した内容と同じです。

scaffoldで一気にやっちゃいます。

  1. >ruby script/genarate scaffold adbook name:string phone;string address:string memo:text

最後にrakeでDBをmigrateします。

  1. >rake db:migrate

これでサンプルアプリの準備は完了ですが、ちょっと設定が必要です。~/ror_app/adbook/config/environment.rbの先頭に、次を追加します。

  1. $LOAD_PATH.push("/virtual/xxxx/lib/ruby")
  2. ENV['GEM_HOME'] ||= '/virtual/xxxx/lib/ruby/gem'

次に、~/ror_app/adbook/public/.htaccessを作成して、次のように記述します。

  1. AddHandler fastcgi-script .fcgi
  2. AddHandler cgi-script .cgi
  3. #AddHandler cgi-script-debug .cgi
  4. Options +FollowSymLinks +ExecCGI
  5.  
  6. RewriteEngine On
  7. RewriteBase /adbook/
  8.  
  9. RewriteRule ^$ index.html [QSA]
  10. RewriteRule ^([^.]+)$ $1.html [QSA]
  11. RewriteCond %{REQUEST_FILENAME} !-f
  12. RewriteRule ^(.*)$ dispatch.cgi [QSA,L]
  13.  
  14. ErrorDocument 500 "<h2>Application error</h2>Rails application failed to start properly"

このサンプルアプリは~/ror_app/adbook/public/を公開しないとブラウザからは見れないので、ブラウザから見えるところからシンボリックリンクを張ります。

  1. >cd ~/public_html/www.xxxx.com
  2. >ln -s ~/ror_app/adbook/public/ adbook

これで、ブラウザからhttp://www.xxxx.com/adbook/にアクセスすればrailsの画面が出てきます。[About your application’s environment]と書いてあるところをクリックして、次のように表示されればOKです。

Ruby on Rails サンプルアプリ 成功

もし次のように表示された場合は、

Ruby on Rails サンプルアプリ 失敗

~/ror_app/adbook/public/.htaccessを次のように変更します。

  1. AddHandler cgi-script .cgi
  2. #AddHandler cgi-script .cgi
  1. #AddHandler cgi-script-debug .cgi
  2. AddHandler cgi-script-debug .cgi

これでもう一度http://www.xxxx.com/adbook/にアクセスして表示されるメッセージをたよりに原因を追究してみてください。原因がわかったら~/ror_app/adbook/public/.htaccessを元に戻さないと正常に表示されません。

正常に動作すると、http://www.xxxx.com/adbook/adbooksにアクセスするとアドレス帳が表示されます。[New adbook]からアドレスを追加してください。

ちなみにボクが今回作業したのは、http://www.its55.com/adbook/adbooksで確認できます。

こちらもオススメ!

Trackback URL

  1. 6 Responses to “coreserverにRuby on Rails 2.1.0をインストールしてみた”

  2. By sora on 8月 6, 2008

    おつかれさまでしたー。
    これで rails おもいっきりできやすね!

  3. By ヨスケ on 8月 6, 2008

    インストールしたことに満足して、まだなにもやってませんが・・・。

  4. By fukusuke on 12月 7, 2010

    凄いですねー!

    rails3の方は試されてみましたか?

  5. By yosuke on 1月 3, 2011

    最近は技術的なことから離れているので、試していないです。

  1. 2 Trackback(s)

  2. 8月 9, 2008: Do I like programming?
  3. 8月 19, 2012: Ruby/Ruby on Rails/Railsを動かすサーバー | プログラマー石塚正浩のblog

Post a Comment