Я не могу на всю жизнь заставить 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_actions mod_alias mod_auth_basic mod_authn_file mod_authz_default mod_authz_groupfile mod_authz_host mod_authz_user mod_autoindex mod_cgi mod_deflate mod_dir mod_env mod_fastcgi mod_mime mod_negotiation mod_passenger mod_php5 mod_reqtimeout mod_rewrite mod_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)
Что мне не хватает?