Apache/Mongrel/Redmine 安装问题 (VirtualHost/ProxyPass)

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 和 Mongrel 1.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 网络应用程序,而是“/redmine 索引”,其中显示了 Redmine 根目录中的文件索引。

有什么办法可以修复它吗?

PS 尝试完全删除 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

定义虚拟主机时,必须ServerName在浏览器中使用给定的。否则 Apache 将呈现默认虚拟主机(可能是也可能不是您想要的)。因此,您应该连接到http://myserver.lv/redmine/而不是http://<your-server's-ip>/redmine/

我不确定为什么要提供源代码。代理可能会替换Content-type标头,但这会很奇怪。

你可能会考虑Phusion 乘客。它的安装和设置非常简单,而且您不需要管理额外的 Mongrel 进程。

您的 Apache 配置如下:

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

相关内容