web-dev-qa-db-ja.com

動的な大量仮想ホスティング/ユーザーディレクトリでのPassengerの使用

私はすでにApacheWebサーバーをセットアップしていて、PHPで動作しています。

静的VirtualHostsは設定されておらず、すべての要求を動的にルーティングします。

http://example.com/ のリクエストは、ドキュメントルート/var/www/example.com(VirtualDocumentRoot)から提供され、 http://example.com/ 〜user / は、ドキュメントルート/home/user/public_html(mod_userdir)から提供されます。後者は、ドメインに関係なく機能します。

Phusion Passengerを使用して、ドキュメントルートのルートまたはサブディレクトリからRuby on Railsアプリケーションを提供できるようにしたいと思います。ただし、 <VirtualHost>ディレクティブにいくつかの行を追加する必要がありますが、明らかにそこにはありません。

アプリケーションをデプロイするためにrootを必要としないソリューションが望ましいのですが、これは重要ではありません。同じように展開しやすいのであれば、Passengerを使用しないソリューションも構いません。

1
Fahad Sadah

残念ながら、これは不可能のようです。 Passengerはuserdirと完全に互換性がなく、VirtualDocumentRootでは別のVirtualHostが必要です。

0
Fahad Sadah

簡単な解決策は、リクエストごとに仮想ホスト環境(コンテナーではなく)を動的に更新するロケーションモジュールをmod_Perlに作成することです。これが、クライアントがftp経由でログインする前にセットアップされなかったサイトの404を処理する方法です。

0
karmawhore