Apache / Ubuntu 上的 Redmine

Apache / Ubuntu 上的 Redmine

我无论如何都无法让 Redmine 运行。我不是 Ruby 程序员。我尝试使用apt-get,但安装程序失败了,所以我选择从 Redmine 的源代码手动安装。当我尝试在浏览器中启动它时,我得到:

应用程序错误
Rails 应用程序无法正常启动

这是日志文件:

[notice] FastCGI: process manager initialized (pid 11163)
[notice] Apache/2.2.22 (Ubuntu) mod_fastcgi/mod_fastcgi-SNAP-0910052141 Phusion_Passenger/2.2.1$
[warn] FastCGI: (dynamic) server "/project/redmine/public/dispatch.fcgi" started (pid 11185)
/usr/lib/ruby/vendor_ruby/1.8/rubygems/custom_require.rb:36:in `gem_original_require': no such file to load -- fcgi (LoadE$    
    from /usr/lib/ruby/vendor_ruby/1.8/rubygems/custom_require.rb:36:in `require'    
    from /project/redmine/public/dispatch.fcgi:4

首先,这是我的版本:

$ ruby -v; rails -v; gem -v
ruby 1.8.7 (2011-06-30 patchlevel 352) [i686-linux]
Rails 3.2.6
1.8.15

$ uname -a
Linux host 3.2.0-29-generic-pae #46-Ubuntu SMP Fri Jul 27 17:25:43 UTC 2012 i686 i686 i386 GNU/Linux

根据Redmine的文档,这应该可以正常工作。

我的 redmine 位于/project/redmine。该路径中的所有文件都具有 755 权限,但日志文件夹除外,该文件夹的权限为 666。我使用以下 apache 配置:

Alias /redmine "/project/redmine/public/"
<Directory "/project/redmine/public/">
    Options Indexes ExecCGI FollowSymLinks
    RailsBaseURI /project/redmine
    PassengerResolveSymlinksInDocumentRoot on
    Order allow,deny
    Allow from all
    AllowOverride all
</Directory>

Apache 具有以下模块:

核心 mod_log_config mod_logio prefork http_core mod_so mod_actionsmod_aliasmod_auth_basic mod_authn_file mod_authz_default mod_authz_groupfile mod_authz_host mod_authz_user mod_autoindexmod_cgimod_deflate mod_dir mod_envmod_fastcgimod_mime mod_negotiationmod_passengermod_php5 mod_reqtimeoutmod_rewritemod_setenvif mod_status

这是我的 dispatch.fcgi。这是默认设置,但require我为了修复这个问题添加了前两行。它看起来像:

#!/usr/bin/ruby

require 'rubygems'
require 'fcgi'
require File.dirname(__FILE__) + '/../config/boot'
require File.dirname(__FILE__) + '/../config/environment'

class Rack::PathInfoRewriter
  def initialize(app)
    @app = app
  end

  def call(env)
    env.delete('SCRIPT_NAME')
    parts = env['REQUEST_URI'].split('?')
    env['PATH_INFO'] = parts[0]
    env['QUERY_STRING'] = parts[1].to_s
    @app.call(env)
  end
end

Rack::Handler::FastCGI.run Rack::PathInfoRewriter.new(RedmineApp::Application)

我错过了什么?

答案1

来自部分“gem_original_require”:没有这样的文件可以加载--fcgi of the error message, I assume you're missing thefcgi` gem。

使用以下命令安装:

sudo gem install fcgi

答案2

尝试Bitnami 的 Redmine 堆栈而是。它是一个开箱即用的软件包。安装后,Redmine(以及 Bitnami 上的所有其他堆栈)即可使用。您只需要进行必要的项目、跟踪器、用户等定义。

相关内容