「レンタルサーバーでrailsアプリを動かしたい」1

公開

 状態:未解決  閲覧数:36,621  投稿日:2010-08-14  更新日:2019-12-07
未解決です。
railsアプリとか、全然動いてないし―。

しかも、なにやってるか段々分からなくなってきたので、一旦メモ。
分からないこと多過ぎ。

CakePHPが、割合簡単にレンタルサーバーで動いたので、じゃあ、Railsもって思ったのが運の尽きか―。

プログラムが分からない人←自分は、レンタルサーバーでRailsを動かそうとか思わないほうがよいと思われ。

未だに、この問題に取り組んでいるのは、単に、
これまでかけた時間を無駄にしたくないから―。

意地とか、そんな次元とっくに超えてるしー。
アルコールの力借りて乗りきろー、かとも思ったけど、
もはや体調悪くなって、これ以上、飲めない、とか、何かそんな感じ―。

一番初めに参考にしたのは、ここ。
▽its55 lab ? coreserverにRuby on Rails 2.1.0をインストールしてみた
  http://www.lab.its55.com/?p=54

問題は、このページに掲載されたバージョンのとおりにやらなかったこと。より、正確には、ここで書かれたとおりのコマンドを打っても、実際には最新のバージョンがインストールされてしまうことが問題の一因だった(と思う。詳細は不明。問題とか、全然まだ解決していないので―)。
今、思えば、大人しくRuby on Rails 2.1.0をインストールしとけばよかったのだけど、生意気にも、なるべく新しいヤツ入れてみよーね、とか思ったのも、よくなかった(ような気がする)。

Railsは、現在進行しまくり形のプロジェクトなので、とにかく頻繁にバージョンアップし倒す。バージョンアップするのはよいのだが、前バージョンとの互換性が(多分だけど、)なかったりすることもあり、色々変更点が多くて、プログラムが分からない人←自分にとっては、とってもついていけない(というか、初めからよく理解できていないのだが―)。

その端的な例が、コレ!
このとき悩んでいたのは、
Welcome aboardの「About your application’s environment」をクリックすると、404 NOT FOUND となる現象。

ちなみに、その時の、環境は、
>gem -v
1.3.7
>ruby -v
ruby 1.9.1p378 (2010-01-10 revision 26273) [i686-linux]
>rails -v
Rails 2.3.8
というもの。

まず、一番初めに気になったのが、このエントリー。
>RoR2.3.xではcgiによる動作を考慮していない様です。
  Logwatch for santa » Linux
 http://blog.santalinux.net/?cat=5
え? マジで? cgiが使えなかったら、予めインストールされていないレンタルサーバーじゃあ使えないじゃん!


調べてみたら、違った。正しくは、
>rails2.3以上ではfcgi系のファイルが自動生成されません
ということらしい。
  ▽Gfdnavi を apache2 + FastCGI で動かす
 http://www.gfd-dennou.org/arch/davis/gfdnavi/doc/install/gfdnavi-with-apache2-fastcgi.htm
  自動生成されないってことは、手動生成させれば、O.K.ってこと?
 
>rake rails:update:generate_dispatchers
を試したところ、ついに、念願だった404エラーが解消された。

だけど、404エラーが解消されて、すぐサンプルが動けばよいのだが、
そんな簡単にいけば誰も苦労しねーんだよ! 状態。

で、現在、新たなエラーへ取り組んでいる最中(取り組んで、と言ったって、単にググっているだけなのだが―)。


Welcome aboard
You’re riding Ruby on Rails!
About your application’s environment
CGIWrap Error: Execution of this script not permitted

Execution of (プロジェクトディレクトリ名/dispatch.cgi) is not permitted for the following reason:

Script is not executable. Issue 'chmod 755 filename'

Server Data:

   Server Administrator/Contact: メールアドレス
   Server Name: ドメイン名
   Server Port: 80
   Server Protocol: HTTP/1.1

Request Data:

   User Agent/Browser: Mozilla/5.0 (Windows; U; Windows NT 5.1; ja; rv:1.9.2.8) Gecko/20100722 Firefox/3.6.8
   Request Method: GET
   Remote Address:  
   Remote Port:  
   Referring Page: ドメイン名/プロジェクトディレクトリ名/

Getting started


なんだこれ?
パーミッションのエラーか?
dispatch.cgiのパーミッションを755にしろってこと?
だけど、dispatch.cgiがどこにあるか分からず。
探したらあった。
プロジェクトディレクトリ名/publicの直下にあった。
755に変更。

Welcome aboardを見る。
エラーメッセージに変化なし。
再びぐぐる。

>dispatch.fcgiを作る。というエントリーを見つけた。
▽RedmineをDreamhostで動かしてみる | Katawara.*
  http://www.katawara.com/2007/12/redmine/
  >1.chmod 755 dispatch.fcgi
  >2.chmod 755 dispatch.cgi
  >3.chmod 755 dispatch.rb
とある。早速試す。

イケた。
エラーメッセージが変わった。

Missing the Rails 2.3.8 gem. Please `gem install -v=2.3.8 rails`, update your RAILS_GEM_VERSION setting in config/environment.rb for the Rails version you do have installed, or comment out RAILS_GEM_VERSION to use the latest version installed.
なんだこれ?
Rails 2.3.8 gemがないから、入れろってこと?
よく分からないが、コマンドが書いてあるから、素直にやってみる。
~/local/src> gem install -v=2.3.8 rails
Successfully installed rails-2.3.8
1 gem installed

Welcome aboardを見る。
エラーメッセージに変化なし。

試しに、rubygemsを最新版にアップデートしてみる。
~/local/src> update_rubygems
RubyGems 1.3.7 installed

これ以上、上がらないのか。
とにかく、再度、Welcome aboardを見る。
エラーメッセージに変化なし。

一体、オレのgemってどうなってんだよ?
~/local/src> gem list
*** LOCAL GEMS ***
actionmailer (2.3.8, 2.3.5)
actionpack (2.3.8, 2.3.5)
activerecord (2.3.8, 2.3.5)
activeresource (2.3.8, 2.3.5)
activesupport (2.3.8, 2.3.5)
cgi_multipart_eof_fix (2.5.0)
daemons (1.1.0)
fastthread (1.0.7)
gem_plugin (0.2.3)
mysql (2.8.1)
rack (1.1.0, 1.0.1)
rails (2.3.8, 2.3.5)
rake (0.8.7)
rubygems-update (1.3.7)
sqlite3-ruby (1.2.4)

なんか、アレだな。2.3.8 と 2.3.5 と二つあるのがマズいような気がしてきた。バージョン指定のアンインストールって、どうやってやるんだっけ?
再びぐぐる。
あるバージョン以上のバージョンをインストールというエントリーを見つけた。
  ▽Ruby/Rubygems使い方まとめ - 俺の基地
  http://yakinikunotare.boo.jp/orebase/index.php?Ruby%2FRubygems%BB%C8%A4%A4%CA%FD%A4%DE%A4%C8%A4%E1#k6fe0812
 このページを参考に、下記実行。
~/local/src> gem uninstall rails --version "< 2.3.7"
Successfully uninstalled rails-2.3.5

どうやらイケるようだ。
再度、Welcome aboardを見る。
エラーメッセージが変わった。

-2.3.8/lib/active_support/whiny_nil.rb:52:in `method_missing': undefined method `env_table' for nil:NilClass (NoMethodError) from /virtual/ユーザー名/local/lib/ruby/gems/gems/actionpack-2.3.8/lib/action_controller/cgi_process.rb:22:in `__send__' from /virtual/ユーザー名/local/lib/ruby/gems/gems/actionpack-2.3.8/lib/action_controller/cgi_process.rb:22:in `dispatch_cgi' from /virtual/ユーザー名/local/lib/ruby/gems/gems/actionpack-2.3.8/lib/action_controller/dispatcher.rb:101:in `dispatch_cgi' from /virtual/ユーザー名/local/lib/ruby/gems/gems/actionpack-2.3.8/lib/action_controller/dispatcher.rb:27:in `dispatch' from /virtual/ユーザー名/public_html/ドメイン名/プロジェクトディレクトリ名/dispatch.cgi:10

エラーでググッたところ、似たような症状のエントリーを発見。
 ▽さくらインターネット(スタンダード)にRoR環境構築 - やぶろぐ
  http://d.hatena.ne.jp/hellon999/20100612
早速、試す。
/プロジェクトディレクトリ名/public> ruby dispatch.cgi
/virtual/ユーザー名/local/lib/ruby/gems/gems/activesupport-2.3.8/lib/active_support/whiny_nil.rb:52:in `method_missing': undefined method `env_table' for nil:NilClass (NoMethodError)
       from /virtual/ユーザー名/local/lib/ruby/gems/gems/actionpack-2.3.8/lib/action_controller/cgi_process.rb:22:in `dispatch_cgi'
       from /virtual/ユーザー名/local/lib/ruby/gems/gems/actionpack-2.3.8/lib/action_controller/dispatcher.rb:101:in `dispatch_cgi'
       from /virtual/ユーザー名/local/lib/ruby/gems/gems/actionpack-2.3.8/lib/action_controller/dispatcher.rb:27:in `dispatch'
       from dispatch.cgi:10:in `<main>'

どうやら、AddHandler cgi-script-debug .cgi
というのは、 public> ruby dispatch.cgi を元に、さらにちょっとしたデバッグ機能を(多分)つけたものらしい。


require 'rubygems'でfalse
▽さくらレンタルサーバにruby,gemをインストールする: Programming myself
  http://fromsummer.seesaa.net/article/144180373.html
~> irb
irb(main):001:0> require 'rubygems'
=> false
irb(main):002:0> require 'activesupport'
DEPRECATION WARNING: require "activesupport" is deprecated and will be removed in Rails 3. Use require "active_support" instead. (called from <top (required)> at /virtual/ユーザー名/local/lib/ruby/gems/gems/activesupport-2.3.8/lib/activesupport.rb:2)
=> true
require 'rubygems'でfalseってどうゆこと? 前やったときは、両方trueだったのに―。

で、どこかのページに掲載されていたgem envを試したてみたのだが、今後は見方が分からない。
~> gem env
RubyGems Environment:
 - RUBYGEMS VERSION: 1.3.7
 - RUBY VERSION: 1.9.1 (2010-01-10 patchlevel 378) [i686-linux]
 - INSTALLATION DIRECTORY: /virtual/ユーザー名/local/lib/ruby/gems
 - RUBY EXECUTABLE: /virtual/ユーザー名/local/bin/ruby
 - EXECUTABLE DIRECTORY: /virtual/ユーザー名/local/lib/ruby/gems/bin
 - RUBYGEMS PLATFORMS:
   - ruby
   - x86-linux
 - GEM PATHS:
    - /virtual/ユーザー名/local/lib/ruby/gems
    - /virtual/ユーザー名/.gem/ruby/1.9.1
    - /virtual/ユーザー名/local/lib/ruby/gems/1.9.1
 - GEM CONFIGURATION:
    - :update_sources => true
    - :verbose => true
    - :benchmark => false
    - :backtrace => false
    - :bulk_threshold => 1000
 - REMOTE SOURCES:
    - http://rubygems.org/

とりあえず喉が渇いたから、ビールでも買ってこようかな―。


>RubyGems が false を返すのはよくあることだし、心配することなんかないよ
 ▽require 'rubygems' #=&amp;gt; false - make world
  http://d.hatena.ne.jp/littlebuddha/20081210/1228921292
 本当か? まあ、でも、そう書いてるから、そう信じとくか…。よく分からんし…。

>railsのdispath.cgiでNilになる件がよくわからない・・・
  ▽2010-03-08 - Life is Really Short, Have Your Life!!
 http://d.hatena.ne.jp/aroundthedistance/20100308

>Rails 2.3.2のCGIハンドラが動かない。バグっぽい。
  ▽Thinking of...: railsの検索結果
 http://myst3m.blogspot.com/search?q=rails

  【Ruby】Ruby on Rails Part9
>RailsのCGIでの起動プロセスに問題があるように見えました
 http://pc11.2ch.net/test/read.cgi/php/1266563593/70
>Dispatcher.dispatch(CGI.new) あたりに直してはどうかと想像
  http://pc11.2ch.net/test/read.cgi/php/1266563593/71
>さっそく試してみたところ、エラーの部分は通るようになったのですが今度は別のところでコケてしまいました。
  http://pc11.2ch.net/test/read.cgi/php/1266563593/73
>action_controller/dispatcher.rbのdef dispatchの上に書いてある# DEPRECATE: Remove CGI support
  http://pc11.2ch.net/test/read.cgi/php/1266563593/74
>すでに非推奨になってたかと思う。Railsアジャイル本でも「CGIいまどき何いってんのハァ?」って感じだったと思う
  http://pc11.2ch.net/test/read.cgi/php/1266563593/77
   

下記を参考に、fcgiを入れてみたけど、エラーメッセージに変更なし
 ▽ XREAで、RAILSをfastcgiで動かす。2.3.5
  http://playtoto.blog55.fc2.com/blog-entry-211.html
  ▽さくらサーバーでRailsを高速に動作させる方法 - cimada-ism
 http://d.hatena.ne.jp/cimadai/20080923/RubyonRails_on_sakura


で、結局、未解決。ダメじゃん!→オレ


ちなみに、一番初めに質問してみた内容がこれ。
結局、誰からも回答こなかったけど…。

railsサンプルがレンタルサーバーで動作しません。どこを見ればよいでしょうか?

困り度:
暇なときに回答をください

下記を参考にしています。
▽its55 lab ? coreserverにRuby on Rails 2.1.0をインストールしてみた
  http://www.lab.its55.com/?p=54

ファイル名・ファイル構成等も参考サイトと同一にしています。
また、試しているバージョン及びサーバについては、下記のとおりです。
gem -v 1.3.5
ruby -v ruby 1.8.5
rails -v Rail 2.3.8
サーバ CORESERVER

現在、ln -s ~/ror_app/adbook/public/ adbook
とシンボリックリンクを張ったところまで進んだのですが、
ブラウザ画面でrailsの画面の[About your application’s environment]をクリックすると、404 Not Found となってしまいます。
(シンボリック自体の作成は、FFFTPでも確認しました)

AddHandler cgi-script-debug .cgiの方を有効にしても、
状況は変わりません。ちなみに、[About your application’s environment]のリンク先は、http://www.xxxx.com/adbook/rails/info/propertiesとなています。

scaffoldで作成したこのadbookを、何とかブラウザ上で動作させたいのですが、どこら辺を見ていけばよいでしょうか?  

~/プロジェクトディレクトリ名> ruby script/about
About your application's environment
Ruby version              1.8.5 (i686-linux)
RubyGems version          1.3.5
Rack version              1.1
Rails version             2.3.8
Active Record version     2.3.8
Active Resource version   2.3.8
Action Mailer version     2.3.8
Active Support version    2.3.8
Application root          /virtual/ユーザー名/プロジェクトディレクトリ名
Environment               development
Database adapter          mysql
Database schema version   20100811200136


「自宅サーバでrailsサンプルを動かしたい」5

「レンタルサーバーでrailsアプリを動かしたい」2



週間人気ページランキング / 6-11 → 6-17
順位 ページタイトル抜粋 アクセス数
1 Aptana カテゴリー 1
2025/6/18 1:01 更新