apache - Hostmonster apache fcgi 上的 Redmine 2 : Rails application failed to start properly

标签 apache .htaccess redmine fastcgi hostmonster

我已关注install instructions直到配置部分在hostmonster上安装redmine 2。 运行domain.com/redmine时我总是出现500错误

Rails application failed to start properly

我在 log/production.log 中没有任何关于此错误的日志。这是文件:

OpenIdAuthentication.store is nil. Using in-memory store.
Creating scope :open. Overwriting existing method Version.open.
Creating scope :active. Overwriting existing method User.active.
DEPRECATION WARNING: The InstanceMethods module inside ActiveSupport::Concern will be no longer included automatically. Please define instance methods directly in CollectiveIdea::Acts::NestedSet::Model instead. (called from include at /home1/iptechin/rails_apps/redmine200/lib/plugins/awesome_nested_set/lib/awesome_nested_set/awesome_nested_set.rb:58)
DEPRECATION WARNING: The InstanceMethods module inside ActiveSupport::Concern will be no longer included automatically. Please define instance methods directly in CollectiveIdea::Acts::NestedSet::Model instead. (called from include at /home1/iptechin/rails_apps/redmine200/lib/plugins/awesome_nested_set/lib/awesome_nested_set/awesome_nested_set.rb:58)
Creating scope :open. Overwriting existing method Issue.open.
Migrating to Setup (1)
Migrating to IssueMove (2)
Migrating to IssueAddNote (3)
Migration lines...........................etc.........
Migrating to AddAuthSourcesFilter (20120301153455)
Migrating to ChangeRepositoriesToFullSti (20120422150750)
OpenIdAuthentication.store is nil. Using in-memory store.
Creating scope :open. Overwriting existing method Version.open.
Creating scope :active. Overwriting existing method User.active.
DEPRECATION WARNING: The InstanceMethods module inside ActiveSupport::Concern will be no longer included automatically. Please define instance methods directly in CollectiveIdea::Acts::NestedSet::Model instead. (called from include at /home1/iptechin/rails_apps/redmine200/lib/plugins/awesome_nested_set/lib/awesome_nested_set/awesome_nested_set.rb:58)
DEPRECATION WARNING: The InstanceMethods module inside ActiveSupport::Concern will be no longer included automatically. Please define instance methods directly in CollectiveIdea::Acts::NestedSet::Model instead. (called from include at /home1/iptechin/rails_apps/redmine200/lib/plugins/awesome_nested_set/lib/awesome_nested_set/awesome_nested_set.rb:58)
Creating scope :open. Overwriting existing method Issue.open.

我的 redmine 应该可以与 fcgi 配合使用,所以这是我的 public/.htaccess:

# General Apache options
<IfModule mod_fastcgi.c>
    AddHandler fastcgi-script .fcgi
</IfModule>
<IfModule mod_fcgid.c>
AddHandler fcgid-script .fcgi
</IfModule>
<IfModule mod_cgi.c>
AddHandler cgi-script .cgi
</IfModule>
Options +SymLinksIfOwnerMatch +ExecCGI

RewriteEngine On

RewriteRule ^$ index.html [QSA]
RewriteRule ^([^.]+)$ $1.html [QSA]
RewriteCond %{REQUEST_FILENAME} !-f
<IfModule mod_fastcgi.c>
RewriteRule ^(.*)$ dispatch.fcgi [QSA,L]
</IfModule>
<IfModule mod_fcgid.c>
RewriteRule ^(.*)$ dispatch.fcgi [QSA,L]
</IfModule>
<IfModule mod_cgi.c>
RewriteRule ^(.*)$ dispatch.cgi [QSA,L]
</IfModule>

ErrorDocument 500 "<h2>Application error</h2>Rails application failed to start properly"

这是我的public/dispatch.fcgi:

#!/usr/bin/env ruby

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)

是否有任何配置错误?

最佳答案

是否安装了所有正确的 gem?

这是我的dispatch.fcgi:

   #!/usr/bin/ruby
   #
   # You may specify the path to the FastCGI crash log (a log of unhandled
   # exceptions which forced the FastCGI instance to exit, great for debugging)
   # and the number of requests to process before running garbage collection.
   #
   # By default, the FastCGI crash log is RAILS_ROOT/log/fastcgi.crash.log
   # and the GC period is nil (turned off).  A reasonable number of requests
   # could range from 10-100 depending on the memory footprint of your app.
   #
   # Example:
   #   # Default log path, normal GC behavior.
   #   RailsFCGIHandler.process!
   #
   #   # Default log path, 50 requests between GC.
   #   RailsFCGIHandler.process! nil, 50
   #
   #   # Custom log path, normal GC behavior.
   #   RailsFCGIHandler.process! '/var/log/myapp_fcgi_crash.log'
   #
   require File.dirname(__FILE__) + "/../config/environment"
   require 'fcgi_handler'

   RailsFCGIHandler.process!

和我的.htaccess

# General Apache options
<IfModule mod_fastcgi.c>
    AddHandler fastcgi-script .fcgi
</IfModule>
<IfModule mod_fcgid.c>
#   AddHandler fcgid-script .fcgi
</IfModule>
<IfModule mod_cgi.c>
#   AddHandler cgi-script .cgi
</IfModule>
# For security reasons, Option followsymlinks cannot be overridden.
#Options +FollowSymLinks +ExecCGI
Options +SymLinksIfOwnerMatch +ExecCGI

# If you don't want Rails to look in certain directories,
# use the following rewrite rules so that Apache won't rewrite certain requests
#
# Example:
#   RewriteCond %{REQUEST_URI} ^/notrails.*
#   RewriteRule .* - [L]

# Redirect all requests not available on the filesystem to Rails
# By default the cgi dispatcher is used which is very slow
#
# For better performance replace the dispatcher with the fastcgi one
#
# Example:
#   RewriteRule ^(.*)$ dispatch.fcgi [QSA,L]
RewriteEngine On

# If your Rails application is accessed via an Alias directive,
# then you MUST also set the RewriteBase in this htaccess file.
#
# Example:
#   Alias /myrailsapp /path/to/myrailsapp/public
#   RewriteBase /myrailsapp

Options -MultiViews
PassengerResolveSymlinksInDocumentRoot on
#Change to your environment
RailsEnv production

RewriteBase /
RewriteRule ^$ index.html [QSA]
RewriteRule ^([^.]+)$ $1.html [QSA]
RewriteCond %{REQUEST_FILENAME} !-f
<IfModule mod_fastcgi.c>
    RewriteRule ^(.*)$ dispatch.fcgi [QSA,L]
</IfModule>
<IfModule mod_fcgid.c>
    RewriteRule ^(.*)$ dispatch.fcgi [QSA,L]
</IfModule>
<IfModule mod_cgi.c>
    RewriteRule ^(.*)$ dispatch.cgi [QSA,L]
</IfModule>

# In case Rails experiences terminal errors
# Instead of displaying this message you can supply a file here which will be rendered instead
#
# Example:
#   ErrorDocument 500 /500.html

ErrorDocument 500 "<h2>Application error</h2>Rails application failed to start properly"
#RewriteCond %{HTTP_HOST} ^redmine.acme-tech.net$ [OR]
#RewriteCond %{HTTP_HOST} ^www.redmine.acme-tech.net$
#RewriteRule ^(.*)$ "http\:\/\/127\.0\.0\.1\:12018\/$1" [P,L]

希望对你有帮助

gj。

关于apache - Hostmonster apache fcgi 上的 Redmine 2 : Rails application failed to start properly,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10743577/

相关文章:

.htaccess - 将任何子域重定向到主域上的页面

linux - URL 重写给出 500 Internal server error

linux - Redmine RailsBaseURI

redmine - 如何打开已关闭的 redmine 问题?

php - 在 Windows 10 和 PHP7 上将 ZeroMQ PHP 扩展添加到 XAMPP

java - 从本地测试环境到现场站点

XAMPP 上的 Php-intl 安装

php - 在 apache 网络服务器上使用 Ratchet websocket 库为安全 websocket 配置虚拟主机

php - 在 Wordpress 网站上将 https 重定向到 http

ruby-on-rails - Redmine/Ruby/Rails/Postgresql - 无法加载此类文件 -- pg_ext