乘客错误:没有这样的文件或目录 – config / environment.rb

根据此安装说明,我在MacOSX Server 10.6.8上安装了Redmine 。 到目前为止,一切工作正常:当我开始webrick服务器服务的Redmine页面。 gem和ruby被安装在用户“redmine”之下。

之后,我的目标是configurationapache2与乘客,如这里所述。 正如描述中所build议的,我还安装了将其虚拟主机configuration文件存储在/private/etc/apache2/passenger_pane_vhosts的乘客窗格 。 这是我经过大量的手工尝试和错误后想出来的。 至less,现在我可以到达一个乘客错误页面。

 // redmine.vhost.conf <VirtualHost *:80> ServerName myserver ServerAlias localhost DocumentRoot "/Users/redmine/Sites/redmine" # RackEnv production # RackBaseURI / RailsEnv production RailsBaseURI / # PassengerUser www-data # PassengerGroup www-data <Directory "/Users/redmine/Sites/redmine"> Order allow,deny Allow from all </Directory> </VirtualHost> 

然而,乘客模块仍然遇到以下错误。

 Error message: No such file or directory - config/environment.rb 

乘客错误页面的屏幕截图

Web服务器的/var/log/apache2/error_log表示如下。

 [warn] NameVirtualHost *:80 has no VirtualHosts [notice] Apache/2.2.21 (Unix) Phusion_Passenger/3.0.12 configured -- resuming normal operations [ pid=21824 thr=2151905620 file=utils.rb:176 time=2012-06-01 18:22:07.126 ]: *** Exception Errno::ENOENT in PhusionPassenger::ClassicRails::ApplicationSpawner (No such file or directory - config/environment.rb) (process 21824, thread #<Thread:0x0000010086f2a8>): 

我按照文档中所描述的那样对乘客的用户切换function进行了试验,正如你可以从我的configuration文件中看到的那样。 虽然,我没有成功。


更新: (04.06.2012)

按照Holger的build议,将DocumentRootDirectorypath更改为/Users/redmine/Sites/redmine/public ,Redmine站点可以在http://myserver下访问。 但是,在http://myserver/redmine下无法访问; public/文件夹的404.html被提供。
我猜Redmine可以在http://myserver下访问,因为我覆盖了整个Apache服务器(?)的DocumentRoot 。 不过,这不是我想要的。 没有在redmine.vhost.conf设置DocumentRoot ,我遇到下面的错误页面。

 Forbidden You don't have permission to access / on this server. Additionally, a 403 Forbidden error was encountered while trying to use an ErrorDocument to handle the request. Apache/2.2.21 (Unix) Phusion_Passenger/3.0.12 Server at myserver Port 80 

问题:如何configuration服务器以获取所需的http://myserver/redmine url?

根据Passenger文档,您必须使用public目录作为文档根目录。 在你的情况下,这将是/Users/redmine/Sites/redmine/public

这样,只有真正的公共文件在文档根目录中,Passenger才能find正确的应用程序根目录。 你不应该把任何实际的代码文件(甚至更糟的是:configuration文件)放到文档根目录中,因为任何人都可以自由阅读。

仅针对使用Bitnami-Stack安装Redmine的用户:

我真的怀疑,为什么我得到相同的错误描述了升级后,重新启动我的操作系统的ThreadOpener。 发行版也安装了apache和mysql,并启动这个。 BitNami在Bundle中有它自己的apache-&Mysql-Server。

解决scheme:停止Apache和MySQL,并启动BitNami:

 cd /opt/redmine-2.3.1-3 ctlscript.sh start mysql ctlscript.sh start apache 

这解决了我的问题!

要挂载为/ redmine URL,请尝试一个

 RewriteBase /redmine/ 

在你的VirtualHost