Railsで、アプリケーションを作ろうと思います。その防備録です。
毎日、少しずつでもがんばるぞー。
(1) まずは、さくらのrubyバージョンを確認。
%ruby --version ruby 1.8.6 (2008-08-11 patchlevel 287) [i386-freebsd7]
–
(2) Railsインストールは、「Ruby on Rails入門3 さくらインターネットにRuby on Railsをインストール」を参考にしました。
http://nyon2.net/archives/2009/01/ruby-on-railsruby-on-rails.html
–
(3) rubygemsインストール
インストールディレクトリを作成
%cd %mkdir lib %cd lib %mkdir src
最新版(2009/5/4)は、rubygems-1.3.3.tgz ようなので、これを下記サイトからダウンロード。Windowsから、さくらサーバにFTPでsrcにアップしました・・・。ダサ。
http://rubyforge.org/frs/?group_id=126
解凍、そしてセットアップ
%tar xzf rubygems-1.3.3.tgz %cd rubygems-1.3.3 %ruby setup.rb --prefix=$HOME
自分の$HOMEにある.cshrcに下記を追加(赤の部分)。またもや、Windowsから修正・・・。
------------------------------------------------- set path = (~/pear/bin /sbin /bin /usr/sbin /usr/bin /usr/games /usr/local/sbin /usr/local/bin /usr/ X11R6/bin $HOME/bin $HOME/lib/ruby/gem/bin) setenv RUBYLIB $HOME/lib setenv GEM_HOME $HOME/lib/ruby/gem -------------------------------------------------
環境ファイルを読み込んで、バージョン確認
%source $HOME/.cshrc %rehash %gem18 --version 1.3.3
–
(4) Railsインストール
反応するまで、ちょっと時間かかるみたい。2~3分?・・・いや、お茶汲んでトイレ行って帰ってきても、まだ終わってませんでした。
%gem18 install rails
バージョンは、2.3.2でした。
%rehash %rails --version Rails 2.3.2
–
(5) Rails動作
Railsアプリケーションを作成します。
%cd %mkdir Rails %rails app1
logファイルとtmpファイルの権限を変える。
%cd app1 %chmod -R o+w log tmp
config/environment.rb を修正。下記を追加。XXXはさくらの各自サーバ。
------------------------------------------------- $LOAD_PATH.push("/home/XXX/lib/") $LOAD_PATH.push("/home/XXX/lib/ruby") ENV['GEM_HOME'] ||= '/home/XXX/lib/ruby/gem' ENV['RAILS_RELATIVE_URL_ROOT']="/app1" -------------------------------------------------
次に、app1/READMEにある一部分をコピーして、public/.htaccess を新規作成。(Windowsでね。)
赤の部分、コメントアウトしました。
------------------------------------------------- # General Apache options #AddHandler fastcgi-script .fcgi #AddHandler cgi-script .cgi #Options +FollowSymLinks +ExecCGI # If you don't want Rails to look in certain directories, # use the following rewrite rules so that Apache won't rewrite certain requests # # Example: # RewriteCond %{REQUEST_URI} ^/notrails.* # RewriteRule .* - [L] # Redirect all requests not available on the filesystem to Rails # By default the cgi dispatcher is used which is very slow # # For better performance replace the dispatcher with the fastcgi one # # Example: # RewriteRule ^(.*)$ dispatch.fcgi [QSA,L] RewriteEngine On # If your Rails application is accessed via an Alias directive, # then you MUST also set the RewriteBase in this htaccess file. # # Example: # Alias /myrailsapp /path/to/myrailsapp/public # RewriteBase /myrailsapp RewriteRule ^$ index.html [QSA] RewriteRule ^([^.]+)$ $1.html [QSA] RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^(.*)$ dispatch.cgi [QSA,L] # In case Rails experiences terminal errors # Instead of displaying this message you can supply a file here which will be rendered instead # # Example: # ErrorDocument 500 /500.html ErrorDocument 500 "<h2>Application error</h2>Rails application failed to start properly" -------------------------------------------------
公開して見れるように、シンボリックリンクをはる。
% ln -s $HOME/Rails/app1/public $HOME/www/app1
速攻、ブラウザからアクセス。http://XXX.sakura.ne.jp/app1/
About your application’s environment をクリック。が~ん。エラーがでました。
railsインストールまでは、上手くいっているか?
どうやら、%rails app1 のときに、public/dispatch.cgi が作成されていないようなんですが・・・・。
明日、子供の運動会なので、ここで今日は終了。