coreserverにRuby on Rails 2.1.0をインストールしてみた
8月 5th, 2008 Posted in Ruby on Rails, rubycoreserverに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で、ほかはデフォルトでいけたと思います。
[OK]をクリックすると、SSH認証のダイアログが開きます。ユーザ名とパスフレーズにそれぞれcoreserverの管理メニュー[FTP設定]のFPTアカウント、FPTパスワードを入れます。
[OK]ボタンをクリックすると、coreserverに接続されます。[OK]ボタンをクリックしてもダイアログが閉じない場合は、coreserver側の準備ができていないので、もうちょっと待ってみてください。
RubyGemsのインストール
coreserverには最初からRubyが入っているので、Rubyはそれを使います。最初の作業は、パッケージ管理のRubyGemsをインストールすることです。まずは、~/.bashrcというファイルを作成して、PATHを通すために次を書きます。ファイルの編集の仕方はテキトウに調べてください。ボクはvimを使っています。
-
export PATH=$PATH:$HOME/bin:$HOME/lib/ruby/gem/bin
-
export RUBYLIB=$HOME/lib/:$HOME/lib/ruby
-
export GEM_HOME=$HOME/lib/ruby/gem
この変更を反映するために、次を実行。
-
>source ~/.bashrc
次にRubyGemsをダウンロードして解凍します。
-
>mkdir ~/temp
-
>cd ~/temp
-
>wget http://rubyforge.org/frs/download.php/38646/rubygems-1.2.0.tgz
-
>tar xvzf rubygems-1.2.0.tgz
-
>cd rubygems-1.2.0
-
>ruby setup.rb config --prefix=$HOME
途中でkillされることがあるので、その場合はもう一度
-
>ruby setup.rb --prefix=$HOME
を実行します。終わったみたいに感じたら、バージョンを確認してみます。
-
>gem -v
-
>1.2.0
どうやら無事にRubyGemsが入ったみたいです。
railsのインストール
次にrailsを入れます。
-
>gem install rails --include-dependencies
これだけでrailsがインストールされます。インストールが完了したらrailsのバージョンをチェックします。
-
>rails -v
-
>Rails 2.1.0
やったー!なんとかインストール成功!
サンプルアプリで動作確認
次はサンプルアプリを作り、ブラウザから動きを見てみます。
-
>mkdir ~/ror_app
-
>cd ~/ror_app
-
>rails -d mysql adbook
いろいろなファイルが作成されます。~/ror_app/adbook/config/database.xmlをエディタで開き、developmentの以外の項目を削除して、developmentの必要な項目を記入します。
-
development:
-
adapter: mysql
-
encoding: utf8
-
database: xxxx_adbook
-
username: xxxx_adbook
-
password: password
-
socket: /tmp/mysql.sock
-
host: localhost
databaseとusernameはcoreserverの場合、同じです。passwordはMySQLのパスワードを設定します。
このdatabase.xmlの設定をもとにrakeでDataBaseを作ります。
-
>rake db:create:all
なぜか失敗します。database.xmlの書き方が悪いのかもしれないけど、よくわからんのでcoreserverのphpMyAdminでdatabaseを作成します。作成したdatabaseは、database.xmlで設定した内容と同じです。
scaffoldで一気にやっちゃいます。
-
>ruby script/genarate scaffold adbook name:string phone;string address:string memo:text
最後にrakeでDBをmigrateします。
-
>rake db:migrate
これでサンプルアプリの準備は完了ですが、ちょっと設定が必要です。~/ror_app/adbook/config/environment.rbの先頭に、次を追加します。
-
$LOAD_PATH.push("/virtual/xxxx/lib/ruby")
-
ENV['GEM_HOME'] ||= '/virtual/xxxx/lib/ruby/gem'
次に、~/ror_app/adbook/public/.htaccessを作成して、次のように記述します。
-
AddHandler fastcgi-script .fcgi
-
AddHandler cgi-script .cgi
-
#AddHandler cgi-script-debug .cgi
-
Options +FollowSymLinks +ExecCGI
-
-
RewriteEngine On
-
RewriteBase /adbook/
-
-
RewriteRule ^$ index.html [QSA]
-
RewriteRule ^([^.]+)$ $1.html [QSA]
-
RewriteCond %{REQUEST_FILENAME} !-f
-
RewriteRule ^(.*)$ dispatch.cgi [QSA,L]
-
-
ErrorDocument 500 "<h2>Application error</h2>Rails application failed to start properly"
このサンプルアプリは~/ror_app/adbook/public/を公開しないとブラウザからは見れないので、ブラウザから見えるところからシンボリックリンクを張ります。
-
>cd ~/public_html/www.xxxx.com
-
>ln -s ~/ror_app/adbook/public/ adbook
これで、ブラウザからhttp://www.xxxx.com/adbook/にアクセスすればrailsの画面が出てきます。[About your application’s environment]と書いてあるところをクリックして、次のように表示されればOKです。
もし次のように表示された場合は、
~/ror_app/adbook/public/.htaccessを次のように変更します。
-
AddHandler cgi-script .cgi
-
↓
-
#AddHandler cgi-script .cgi
-
#AddHandler cgi-script-debug .cgi
-
↓
-
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で確認できます。
2 Responses to “coreserverにRuby on Rails 2.1.0をインストールしてみた”
By sora on 8月 6, 2008
おつかれさまでしたー。
これで rails おもいっきりできやすね!
By ヨスケ on 8月 6, 2008
インストールしたことに満足して、まだなにもやってませんが・・・。