Top > さくらインターネットでgateway.cgiを使用してRuby on Railsのサンプルを公開する

Oh!HappyWeb

さくらインターネットでgateway.cgiを使用してRuby on Railsのサンプルを公開する

参考サイト

railsプロジェクトの作成

  • RailsProjectsフォルダに移動
    • % cd ~/RailsProjects
  • Todoプロジェクトを作成
    • % rails Todo
  • Todoプロジェクトのフォルダに移動
    • % cd Todo
  • logとtmpディレクトリを書き込み可に変更
    • % chmod -R o+w log tmp
  • sqlite3のデータベースを作成
    • % rake db:create:all
  • データベースのテーブルを作成
    • % ruby script/generate scaffold Todo title:string body:text
  • マイグレート
    • % rake db:migrate
  • シンボリックリンクの作成
    • % ln -s $HOME/RailsProjects/Todo/public/ $HOME/www/todo
  • READMEを参照し、/Todo/publis/.htaccessを新規に作成。以下3行をコメントアウト。
    #AddHandler fastcgi-script .fcgi
    #AddHandler cgi-script .cgi
    #Options +FollowSymLinks +ExecCGI
  • /Todo/config/environment.rbを編集
    $LOAD_PATH.push("/home/my_acount/lib/")
    $LOAD_PATH.push("/home/my_acount/lib/ruby")
    ENV['GEM_HOME'] ||= '/home/my_acount/lib/ruby/gem'
    ENV['RAILS_RELATIVE_URL_ROOT']="/todo"
  • http://my_account.sakura.ne.jp/todo/todosにアクセス
  • fastcgiのインストール
    • % cd ~/src
    • % wget http://fastcgi.com/dist/fcgi-2.4.0.tar.gz
    • % cd fcgi-2.4.0
    • % ./configure –prefix=$HOME
    • % setenv RB_USER_INSTALL true
    • % gem18 install fcgi ― –with-fcgi-include=$HOME/include –with-fcgi-lib=$HOME/lib
  • gatewai.cgiの設定
    • % cd ~/RailsProjects/Todo
    • % mkdir log/drb_gateway
    • % chmod 777 log/drb_gateway
    • % setenv RAILS_DIR /home/ohhappy/lib/ruby/gem/gems/rails-2.2.2
    • % cp $RAILS_DIR/dispatches/gateway.cgi public/
    • % cp $RAILS_DIR/lib/commands/ncgi/listener script/
    • % cp $RAILS_DIR/lib/commands/ncgi/tracker script/
    • % chmod 755 public/gateway.cgi
  • /RailsProjects/Todo/script/listerの編集

    require 'rubygems'
    gem 'fcgi'
  • 「class RemoteCGI < CGI」の「self.stdoutput = output || StringIO.new」の後ろに、以下を挿入。
    $stdin = self.stdinput
    $stdout = self.stdoutput
  • public/.htaccessの編集 dispatch.cgi → gateway.cgi
    RewriteRule ^(.*)$ dispatch.cgi [QSA,L]
    ↓
    RewriteRule ^(.*)$ gateway.cgi [QSA,L]
  • 設置URL/todo/todosにアクセス
    • 最初のアクセス時「Application error」が出るが、リロードすると動く。なんで??
    • 速度は、かなり早くなった気がします。
  • しかし、Ruby on Railsを私のスキルで運用するのは難しそうです。(汗)

リロード   新規 編集 凍結解除 差分 添付 複製 名前変更   ホーム 一覧 単語検索 最終更新 バックアップ リンク元   ヘルプ   最終更新のRSS
Last-modified: 2009-12-23 (水) 20:22:21 (253d)