Liner Note

情報(ユーザー中心デザイン・ユーザビリティ)と技術(ウェブプログラミング・ウェブサービス)についてのメモ書き

要約:XREAのサーバ「CoreServer」にRuby on Railsをインストールして、ついでにアプリケーションをインストールしてみました

CoreServerに移転しまして、とりあえず環境を整えておこうかなってことで、Ruby on Railsをインストールすることにしました。先人としては、さくらのレンタルサーバにインストールされた方がいらさいますので、こちらを参考に進めていきます。なお基本、作業はSSHとFTPを使いながら進行していきます。

まずは、Rubyのバージョンチェック。

xxx@s00:~> ruby -v
ruby 1.8.5 (2006-12-04 patchlevel 2) [i686-linux]

Rubyはver.1.8.5が入っているみたいで特に導入に問題はなさそうです。

RubyGemsのインストール

Railsのインストールの前に、Rubyのパッケージ管理システム”RubyGems”をインストールしておきます。

インストールするパスですが、ホームディレクトリ(/virtual/xxx/)がフォルダだらけになるのは嫌なので、ホームディレクトリにpackagesというフォルダを作り、この中にライブラリとか何やらをインストールしていきます。

xxx@s00:~> mkdir ~/packages
xxx@s00:~> mkdir ~/packages/bin
xxx@s00:~> mkdir ~/packages/lib
xxx@s00:~> mkdir ~/packages/lib/ruby
xxx@s00:~> mkdir ~/packages/lib/ruby/gem

ここでRubyやRubyGemがCoreServerにインストールしたRubygemなどを見ずに、ユーザーのホームディレクトリにインストールしたファイルを見るようにパスを設定しておきます。設定ファイルはホームディレクトリに.bashrcという名前をつけて以下のような内容で配置しておいてください。

export PATH=$HOME/packages/bin:$PATH
export RUBYLIB=$HOME/packages/lib/ruby/site_ruby/1.8:$HOME/lib/ruby
export GEM_HOME=$HOME/packages/lib/ruby/gem

配置したら以下のコマンドで設定を再読込しておきます。

xxx@s00:~> source ~/.bashrc

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

xxx@s00:~> mkdir ~/packages/tmp
xxx@s00:~/packages/tmp> wget http://rubyforge.org/frs/download.php/20989/rubygems-0.9.4.tgz
xxx@s00:~/packages/tmp> tar xvzf rubygems-0.9.4.tgz

展開したRubyGemsをインストール‥する前に下ごしらえをします。

xxx@s00:~/packages/tmp> cd rubygems-0.9.4
xxx@s00:~/packages/tmp/rubygems-0.9.4> ruby setup.rb config --prefix=$HOME/packages

ではインストールと行きたいところですが、RubyGemsの設定ファイルがCoreServerの内部にインストールするように設定されているので、これではインストールできません(ユーザのホームディレクトリにインストールするよう設定します)

~/packages/tmp/rubygems-0.9.4.configというファイルがあると思うので、FTPでダウンロードして、テキストエディタを使って以下のように一斉に文字列置換をします。

検索語
/usr/local/lib
置換語
$libdir

FTPで上書きできたら、インストールします。

xxx@s00:~/packages/tmp/rubygems-0.9.4> ruby setup.rb setup
xxx@s00:~/packages/tmp/rubygems-0.9.4> ruby setup.rb install
xxx@s00:~/packages/tmp/rubygems-0.9.4> gem -v

最後のコマンドで0.9.4という文字列(RubyGemsのバージョンです)が返ってきたら成功です。

Ruby on Railsをインストール

先ほどインストールしたRubyGemsからRailsをインストールします。--include-dependenciesオプションを付けておくと、必要なファイルも一緒にインストールしてくれてラクチンです。

xxx@s00:~> gem install rails --include-dependencies
Bulk updating Gem source index for: http://gems.rubyforge.org
ERROR:  While executing gem ... (Gem::GemNotFoundException)
    Could not find rails (> 0) in any repository

どうも、一回目はこのように失敗するぽいです。2回目で成功しましたが、途中でkill(強制終了)されてしまいました。も一回コマンドを打ってインストール完了。ただ、Railsの実行ファイルは~/packages/lib/ruby/gem/bin/に配置されています。この実行ファイルもさきほどのRubyGemsと同様パスを設定しておきます。

~/.bashrcの1行目に以下の強調している箇所を追記します。

PATH=$PATH:$HOME/packages/bin:$HOME/packages/lib/ruby/gem/bin

上書きしたら、以下のコマンドで再読込。

xxx@s00:~> source ~/.bashrc
xxx@s00:~> rails -v

最後のコマンドで、Railsのバージョンが出てくればインストールは成功しています。

実際に動かしてみる

インストールしただけで終わるのもなんなので、試しに動作確認をしておきましょう。ホームディレクトリにframework/railsというフォルダを作って、そこでいろいろ実験することにしましょう。

とりあえず、アプリケーション名はがんちゃんのブログと同じく、testにします。

xxx@s00:~> mkdir ~/framework
xxx@s00:~> mkdir ~/framework/rails
xxx@s00:~> cd ~/framework/rails/
xxx@s00:~/framework/rails> rails test

ここでアプリケーションのファイルがざーっと自動生成されます。

xxx@s00:~/framework/rails> cd test
xxx@s00:~/framework/rails/test> ls -l

すると、一覧が見られます。いや、ラクチンですね。これらのアプリケーションを動作させるには、logフォルダとtmpフォルダに書き込み権限がないといけませんので、権限を変更しておきます。

xxx@s00:~/framework/rails/test> chmod -R o+w log tmp

次いで、アプリケーションの設定ファイルのパスを修正します。~/framework/rails/test/config/にあるenvironment.rbの1行目に# Be sure to restart your web server when you modify this file.と書かれていると思うので、次の行から次のようにパスを追記します。xxxはご自分のアカウント名に書き替えてください。

$LOAD_PATH.push("/virtual/xxx/packages/lib/ruby/site_ruby/1.8")
$LOAD_PATH.push("/virtual/xxx/packages/lib/ruby")

ENV['GEM_HOME'] ||= '/virtual/xxx/packages/lib/ruby/gem'

最後にファイルをウェブ上に公開します。ずっと、~/framwork/railsというウェブからは見えないファイルで作業していました(セキュリティ上これが望ましいのですが)。ただ、このままではネットからは見えないので、ウェブに公開するフォルダのみシンボリックリンクを張って、ウェブ公開フォルダ上にあたかもRailsのアプリケーションの公開フォルダがあるかのように設定しておきます。

ここではウェブ公開フォルダ(public_html)上のrailsフォルダにシンボリックリンクを張ります。

xxx@s00:~> cd ~/public_html
xxx@s00:~/public_html> ln -s ~/framework/rails/test/public/ rails

http://s00.xxx.coreserver.jp/rails という感じのURLからアクセスすればテスト画面が出てくるはずです。テスト画面が出てきたら、About your application’s environmentと書いてあるリンクをクリックしてください。

Railsテスト画面

For security purposes, this information is only available to local requests.と書かれた文章が出てきたらRailsは正常に動作しています、ひとまずお疲れ様でした。

Railsテスト画面2

ちなみに、CoreServerにはfastCGIは入っているものの、動作しないので速度的にはかなり不利なことになりそうです。
それってRailsの魅力が半減するんじゃ

RESTWikiをインストール

これだけではつまらないので、id:secondlifeが作ったRESTWikiをインストールしてみようかと思います。まぁ、ぶっちゃけRailsをインストールしたのもこのWikiを入れたいってのが半分くらいあるんですが。

RESTWiki v.0.2をダウンロードして、展開。さきほどのように、~/framework/rails/test/config/environment.rbにパスを書き込みます。

でもって、/framework/rails/restwiki/にアップロード、同時にシンボリックリンクを張ります(このとき、restというフォルダ以外をリンク先としてシンボリックリンクを張るとうまくいかないようです)。logフォルダに書き込み権限を与えておきます。

そして、アクセス‥してみるもののどうもJS/CSSが読み込まれていません。/public/index.htmlにあるJS/CSSのパスの記述を以下のように変えると(他の似たような行も同じく変更)読み込まれるようです。

<script src="./javascripts/prototype.js" type="text/javascript"></script>

ところが、今度はActionController::RoutingError in Wiki#showという警告が出て、うまくファイルが読み込めません。エラーから推測するに、どのページを表示するか判断するところでエラーが出ているような感じです。

ぐぐってみたものの解決方法がつかめず、ちょっとこれ以上は手が出しようがないので、今回はこの辺でストップしておくことにしました。


読者の皆さんの反応サイト内コメントの更新情報(RSSフィード)

読者のコメント

1

ブックマークコメント

0

他サイトの関連記事

0

読者のコメント

  1. お名前

    匿名

    投稿日時
    2008年07月16日
    12時ごろ
    Comment No
    #1

    About your application’s environmentをクリックすると404Not Foundとなるのですが、何か設定が足りないのでしょうか?

はてなブックマークでつけられたコメント

他サイトの関連記事

トラックバックはまだ寄せられていません


トラックバックとは
この記事に言及したサイトをこちらに掲載する仕組みをトラックバックと言います。ここでは、このサイトに頂いたトラックバックを一覧表示しています。
トラックバックしてくださる方へ
この記事への言及がない記事など、トラックバック受信方針に沿っていないものは、読者にお見せしても仕方ないこともあり削除させていただいることをご了承ください。
トラックバックを受け取るためのURI

コメント書き込みフォーム

  • メールアドレスはウェブ上で公開したり、連絡以外で使うことはありません
  • コメントを公開したくないが、作者に連絡を取りたい場合は メールで連絡してください
  • 本文中にHTMLコードは使用できません(URLはそのままお書きください)

以下の記事もどうぞ