用于在URL子目录中安装Redmine的Apache配置

时间:2011-08-10 00:47:42

标签: apache redmine

我在为已安装的Redmine配置apache时遇到问题。

我已成功在/usr/local/lib/目录中安装了Redmine(v 1.2.1)并且可以正常运行。我想配置apache,以便在我/var/www绑定到http://myhost/redmine的基础上安装基于wordpress的网站时,可以通过http://myhost/访问Redmine。我该怎么办?

这是我当前的apache配置(/etc/apache2/sites-enabled/001-redmine):

<VirtualHost *:80>
        ServerName myhost
        DocumentRoot /usr/local/lib/redmine-1.2.1/public
        ServerSignature off

        <Directory />
                Order Deny,Allow
                Deny from all
        </Directory>
        <Directory /usr/local/lib/redmine-1.2.1/public>
                AllowOverride None
                Order allow,deny
                Allow from all
                Options Indexes ExecCGI FollowSymLinks
                Options -MultiViews
        </Directory>
        ErrorLog /var/log/apache2/redmine-error.log
        CustomLog /var/log/apache2/redmine-access.log combined
</VirtualHost>

感谢。

3 个答案:

答案 0 :(得分:0)

我使用Phusion Passenger作为Ruby插件。然后我将公用文件夹符号链接到/ var / www / redmine。

我的Apache配置有:

RailsBaseURI /redmine
<Directory /var/www/redmine>
   Options -MultiViews
</Directory>

答案 1 :(得分:0)

前一段时间我遇到了同样的问题而保留了一些笔记。根据我的想法,将Redmine Mongrel隐藏在myhost / redmine目录后面并非完全可能。没错,Apache可以通过以下方式设置网关:

ProxyPass /redmine/ http://myhost:4000/
ProxyPassReverse /redmine http://myhost:4000
ProxyPreserveHost on

但这只有在Redmine返回的HTML包含相对路径而不是单个绝对路径时才有效。假设一个Redmine页面/dir1/whatever.html引用了一个CSS文件/resources/styles.css。客户端将HTML页面视为/redmine/dir1/whatever.html。如果CSS引用是相对的,则客户端请求/redmine/css/styles.css,Apache会将其作为/css/styles.css转发给代理。但是,如果引用是绝对的,则客户端要求/css/styles.css,并且Apache不会作为该代理的代理。故事结束。

注意:有一个第三方模块mod_proxy_html解析HTML并重写引用。但它不会出现在大多数服务器上。

似乎解决办法是将/ redmine目录中的任何请求明确地重定向到http://myhost:4000处的Mongrel(应该可以使用mod_rewrite)。

答案 2 :(得分:0)

您还可以按照Redmine网站上的常见问题解答:http://www.redmine.org/projects/redmine/wiki/HowTo_Install_Redmine_in_a_sub-URI