2012-01-11 12 views
3

私はUbuntuでPassenger 3、Apache、RVM、Rails 3.1アプリケーションに問題があります。なんらかの理由で、Railsアプリはロードされていませんが、以前は基本的に同じ設定をしていて問題はありませんでした。RailsアプリケーションがPassenger 3、RVM、Rails 3.1を使用して読み込まれないのはなぜですか?

RVMとPassengerにRuby 1.9.2がインストールされており、デフォルトですべてのgemがインストールされています。

私はapache.confファイルに次のように置く:これは私の仮想ホストの構成です

LoadModule passenger_module /usr/local/rvm/gems/ruby-1.9.2-p290/gems/passenger-3.0.11/ext/apache2/mod_passenger.so 
PassengerRoot /usr/local/rvm/gems/ruby-1.9.2-p290/gems/passenger-3.0.11 
PassengerRuby /usr/local/rvm/wrappers/ruby-1.9.2-p290/ruby 

[Wed Jan 11 23:18:28 2012] [notice] Apache/2.2.20 (Ubuntu) Phusion_Passenger/3.0.11 configured -- resuming normal operations 
を:

<VirtualHost *:80> 
    ServerName server 
    DocumentRoot /root/www/tester/public 
    <Directory /root/www/tester/public> 
    Allow from all 
    Options -MultiViews 
    </Directory> 
</VirtualHost> 

旅客は、Apacheのログが示すように、ロードされるように表示されます

しかし、私は全くアプリケーションをロードできません。

私は旅客スタンドアロンで実行した場合、私は次のエラーを取得する:

2012/01/11 23:03:31 [error] 13427#0: *4 "/root/www/sound/public/index.html" is forbidden (13: Permission denied), client: 127.0.0.1, server: _, request: "HEAD/HTTP/1.1", host: "0.0.0.0" 

私は755にすべての権限を変更し、apache (www-data)ではなく無駄に所有権を与えました。

最後に、私は乗客-statusを実行するとき、私が手:あなたが見ることができるよう、

----------- General information ----------- 
    max  = 6 
    count = 0 
    active = 0 
    inactive = 0 
Waiting on global queue: 0 

----------- Application groups ----------- 

しかし、何のアプリケーションロードさはありません。

答えて

1

私の推測では、適切な場所、 とそのユーザーの権限と関係があります。

乗客の番号1の規則は、旅客が今まで実行していない、私はお勧めしたい、また、「設定/ environment.rbに」を所有しているユーザー(またはラックのアプリのための「config.ru」)として

を実行します

  • ルートとして

    /var/wwwまたは/var/railsは、あなたのレールのアプリ

    を置くための一般的な場所であるが、私は通常、各アプリケーションのためのユーザーを持つ、およびホームディレクトリにそれを入れてしまいます。

    つまり、私のアプリケーションでは、

    1. ユーザーmyapp
    2. ディレクトリ/home/myapp/deploy/
    3. コードへのシンボリックリンク/home/myapp/deploy/current
    4. すべてで、これらのディレクトリは、私のApache設定が

      のようなものであるmyapp

    によって所有されています

    <VirtualHost *:80> 
        ServerName myapp.com 
        DocumentRoot /home/myapp/deploy/current 
    </VirtualHost> 
    

    私にとってこれはオーナーシップの分離を明確にし、 であり、これらの問題を回避します。

    (特に、カピストラーノを経由して行われたすべてのタスクがmyappユーザーとして実行されます)FIXED

+1

実際にはもう一度見て、あなたのエラーは '/ root/www/sound/public/index.html'です...これは別の仮想ホストですか? –

+0

お返事ありがとうございます。私は/ var/wwwにアプリケーションを置いて、apache2(期待通り)にリストアップされていますが、乗客はサービスしません。おい、私は本当に助けに感謝し、それは私もそれをデバッグすることができないので迷惑です。 – slotishtype

+0

私はまた、root sudo chmod -R 755サウンドとsudo chown -R root:root soundへのアクセス許可を変更してから、rootとしてApacheを再起動しましたが、もう一度運がありません。 – slotishtype

3

! - サイト対応のディレクトリでデフォルトの仮想ホストファイルを削除する必要がありました。

+0

これは私にとっても問題でした! – Snowman

+0

このサイト対応のディレクトリはどこですか? /編集はDebian Wheezyの/ etc/apache2にあります。 –

関連する問題