我正在按照以下分步说明安装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>