要約: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
と書いてあるリンクをクリックしてください。
For security purposes, this information is only available to local requests.
と書かれた文章が出てきたらRailsは正常に動作しています、ひとまずお疲れ様でした。
ちなみに、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
という警告が出て、うまくファイルが読み込めません。エラーから推測するに、どのページを表示するか判断するところでエラーが出ているような感じです。
ぐぐってみたものの解決方法がつかめず、ちょっとこれ以上は手が出しようがないので、今回はこの辺でストップしておくことにしました。
読者のコメント
1件