VMWare+UbuntuでRuby on Rails 導入メモ

Windows XP Home edition上にVMWare playerをインストールし、VMWareのサイトから拾ってきたUbuntuアプライアンス上にRuby on Railsを導入する。

VMWare Playerはhttp://www.vmware.com/products/player/この辺からダウンロードしてインストール。ちなみにXPのHome EditionにはIISが入ってないので、VMWare Serverはインストールできない。

Applianceのイメージは下のリンクのものを使いました。
http://www.vmware.com/appliances/directory/1092

しばらくVMwareを使ってなかったけど、最新のはほとんど何もせずにあっという間にLinux環境が作れるから楽ちん楽ちん!

さて、ここからサーバー構築開始。

  • gemsのインストール

wget http://rubyforge.org/frs/download.php/17910/rubygems-0.9.2.tgz

  • railsのインストール、最初にサーチしてやらないと失敗する

$ gem search -r rails
$ gem install rails

  • railsアプリケーション作成

最初にrailsのアプリケーションを作成する

$ cd /var/www/
$ rails bbs

これでbbsというアプリケーションができた。

  • 公開の設定

RailsにはWebrickというサーバが付いているが、手軽だが邪魔くさいので、最初からlighttpd+fcgiをインストールする。さらにapacheは捨てられないので、apacheのバーチャルホスト機能とmod_proxyを使って、railsアプリケーションへのアクセスはlighttpdサーバが処理するように設定する。

  • まずはmod_proxyを使えるようにする

$ a2enmod proxy_http

  • クライアントに対してプロキシの許可をする

proxy.conf内で、クライアントのアクセスを許可する

AddDefaultCharset off
        Order deny,allow
Deny from all
Allow from all <=ここを編集した。

/etc/apache2/site-available/000-defaultへServerNameを追加

ServerName www.mydomain.com

/etc/apache2/site-avialble/railsを作り、以下の内容を保存


ServerName rails.mydomain.com

ProxyPass http://localhost:3000/
ProxyPassReverse http://127.0.0.1:3000/

ようするに、http://rails.mydomain.com/あてのアクセスはlighttpdにそのまま右から左へ受け渡してあげる設定。試験のため、クライアントのhostsファイルにwww.mydomain.comとrails.mydomain.comを登録

クライアントのブラウザから、
http://www.mydomain.com/
http://rails.mydomain.com/
が正常に表示されることを確認。

  • MySQLの設定。データベース管理に便利なのでphpMyAdminをインストール。でも、最初から入ってました。

apt-get install phpmyadmin

http://www.mydomain.com/phpadmin/とすることで、アクセスが可能になる。

  • 別のマシン上のデータベースをこのマシンへリストア

phpmyadminでデータベースのダンプをとっておいたので、それを復元

$ mysql -u root -p < ダンプファイル名

最初にfastcgiRuby用ライブラリをインストールする。

apt-get install libfcgi-ruby1.8

/etc/lighttpd/lighttpd.confを編集

"mod_fastcgi",

を追加。

文書の末へ

server.document-root = "/var/www/bbs/public"
server.error-handler-404 = "/dispatch.fcgi"

fastcgi.server = ( ".fcgi" =>
( "localhost" =>
(
"min-procs" => 2,
"max-procs" => 3,
"socket" => "/tmp/cookbook1-rails.socket",
"bin-path" => "/var/www/bbs/public/dispatch.fcgi",
"bin-environment" => ( "RAILS_ENV" => "development" )
)
)
)

以上でRailsにアクセス可能となる。

http://rails.mydomain.com/
にアクセスして確認。

さっくり動いた。








RailsによるアジャイルWebアプリケーション開発 第2版

RailsによるアジャイルWebアプリケーション開発 第2版