web-dev-qa-db-ja.com

Apache / Mongrel / Redmineのインストールの問題(VirtualHost / ProxyPass)

このステップバイステップの説明に従ってRedmineをインストールしています: http://justnotes.co.cc/2010/02/11/how-to-install-redmine-on-ubuntu/

Ubuntu 10.04.1、Apache 2.2.14、Mongrel1.1.5を使用しています。

VirtualHostの構成段階で、私はこれを使用しています:

<VirtualHost *:80>
    ServerName myserver.lv

    ProxyPass /redmine/ http://localhost:8000/
    ProxyPassReverse /redmine/ http://localhost:8000
    ProxyPreserveHost on

    <Proxy *>
        Order allow,deny
        Allow from all
    </Proxy>
</VirtualHost>

しかし、ブラウザをhttp://<my-server's-ip>/redmine/に向けると、redmine Webアプリケーションではなく、Redmineのルートディレクトリにあるファイルのインデックスを含む「Indexof/redmine」が表示されます。

それを修正する方法はありますか?

P.S. VirtualHostのものをすべて削除し、代わりに次の簡単な句をApache2.confに追加してみました。

<Proxy *>
    Order allow,deny
    Allow from all
</Proxy>

ProxyPass /redmine/ http://localhost:8000/
ProxyPassReverse /redmine/ http://localhost:8000/

ProxyPreserveHost on

その結果、動作が変わります!これで、http://<my-server's-ip>/redmine/はRedmineのスタートページのソースコードを生成するため、提供されますが、明らかにレンダリングされません。同時に、それでもhttp://<my-server's-ip>:8000/は完全に正常に機能するため、MongrelはRedmineアプリケーションを正常に提供しています。これは、.confファイルのVirtualHost/proxying句に問題があるだけです。

1
Riddler

仮想ホストを定義するときは、ブラウザで指定されたServerNameを使用する必要があります。それ以外の場合、Apacheはデフォルトの仮想ホストをレンダリングします(必要な場合とそうでない場合があります)。したがって、http://myserver.lv/redmine/ではなくhttp://<your-server's-ip>/redmine/に接続する必要があります。

ソースコードが配信される理由がわかりません。プロキシはContent-typeヘッダーを置き換える可能性がありますが、それは奇妙なことです。

Phusion Passenger を検討してください。インストールとセットアップは非常に簡単で、管理するための余分なMongrelプロセスはありません。

Apacheの構成は次のようになります。

<VirtualHost *:80>
  ServerName myserver.lv
  DocumentRoot /path_to_redmine/public
</VirtualHost>
1