LinuxボックスにApache用のmod_passengerをインストールしました。モジュールは正しくコンパイルされ、Apacheは正しくロードしているようです(こちら側にエラーはありません)。
しかし、Rails app(Redmineプロジェクト管理))を指すように仮想ホストを設定すると、「Ruby on Railsアプリケーションはできませんでした」とうめき声を上げるページが表示されます。具体的には、「エラーメッセージ:そのようなファイルまたはディレクトリはありません-config /environment.rb」。
Redmineのルートフォルダーにconfig/environment.rbがあることがわかります。私の仮想ホスト設定は次のようなものです:
<VirtualHost *:80>
# server DocumentRoot, address, and admin email
RailsBaseURI /redmine
DocumentRoot /srv/www/htdocs
</VirtualHost>
私は/ srv/www/htdocs/redmineにRedmineソースを持っています(それについてうめき声を上げていたので、シンボリックリンクなどはありません)。
何も機能していなかったので、怒り狂って、/ redmineフォルダーのファイル所有権とモードをwwwrun:www(私のApacheユーザーとグループ)と777に再帰的に設定しました。これが問題だと思いますか?
どんなアイデアやアドバイスも大歓迎です。
PS。 PHPでRedmineを書き直すプロジェクトはありますか?笑!
同じエラーが発生しましたが、これは http://randomthoughtsgr.wordpress.com/2011/10/17/redmine-sub-uri-and-Apache-configuration/ で解決できました。
サブウリでRedmineをセットアップしようとしているときに、Apacheをセットアップしようとすると問題が発生します。乗客は次のエラーを表示します:Redmine Webページにアクセスしようとしているときに、そのようなファイルまたはディレクトリはありません– config/environment.rb。
この問題についていくつかの提案を試した後、Redmineを次の構成で動作させることができました。
Passenger.load構成ファイルは次のとおりです(パスはインストールによって異なる可能性があります)。
LoadModule passenger_module /opt/Ruby-enterprise-1.8.7-2011.03/lib/Ruby/gems/1.8/gems/passenger-3.0.9/ext/Apache2/mod_passenger.so PassengerRoot /opt/Ruby-enterprise-1.8.7-2011.03/lib/Ruby/gems/1.8/gems/passenger-3.0.9 PassengerRuby /opt/Ruby-enterprise-1.8.7-2011.03/bin/Ruby PassengerDefaultUser www-data
仮想ホスト構成で、以下を追加しました。
PassengerAppRoot /usr/local/lib/redmine-1.2/ RailsBaseURI /redmine RailsEnv production
PassengerAppRootは、redmineがインストールされているパスを表します。
RailsBasedURIは、Redmineを表すURLのサブディレクトリを表します。 http://www.example.org/redmine(これが機能するためには、redmine-。/ publicのシンボリックリンクがWebルートフォルダー内にあることも不可欠です)。
また、redmine-1.2フォルダーとシンボリックリンクredmineフォルダーの所有権をApacheユーザー/グループに変更しました(必要だと感じています)。
乗客のサブURI展開の展開モードはかなり具体的です。
あなたはシンボリックリンクを作成する必要があります。これらは、(Rails_ROOT
ではなく)public
ディレクトリを指している必要があります。乗客は、このシンボリックリンクからの情報を使用して、アプリケーションの残りの部分を見つけます。これは、Railsアプリをドキュメントルート内にインストールしないようにするためです(コードと構成が誰にも公開されないようにするために、絶対にインストールしないでください)。
あなたの場合、それは/srv/www/redmine
のようなものにRedmineをインストールすることを意味します。次に、シンボリックリンクを作成します
ln -s /srv/www/redmine/public /srv/www/htdocs/redmine
これが適切な場所にあると、Webサーバーユーザーが/srv/www/redmine/public
内のすべてのファイルを読み取る権利を持っていると仮定して、仮想ホストをそのまま維持できます。最後のヒントとして、config/environment.rb
ファイルの所有者を確認してください。その所有者は、redmineが実行されるユーザーになります(rootでない限り)。
詳細については、優れた 乗客用ドキュメント をご覧ください。