Имам инсталиран redmine и днес след upgrade устнових, че не работи. Тук искам да поясня, че използвам ruby през mod_fcgid. Ето и съобщението, което се показа в браузъра, когато се опитах да отворя redmine:
Application error
Rails application failed to start properly
А ето и какво показваше error лога на apache-то:
Request exceeded the limit of 10 internal redirects due to probable configuration error. Use ‘LimitInternalRecursion’ to increase the limit if necessary. Use ‘LogLevel debug’ to get a backtrace
Проблема се оказа в .htaccess файла на redmine, който беше заменен с нов такъв след upgrade-a. Решението e да се коментира всичко свързано с fastcgi и cgi и да остане само fcgid. Ето и кое точно коментирах аз на две места в този файл – в началото:
# 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 +FollowSymLinks +ExecCGI
И в края:
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 >
След тези дребни модификации по .htaccess файла в redmine грешката в apache лог файла вече се промени на следното:
mod_fcgid: error reading data, FastCGI server closed connection
Premature end of script headers: dispatch.fcgi
За да разберем какво точно се случва можем да стартираме през конзолата dispatch.fcgi от redmine/public директориятя. Ето и резултата от изпълнението:
[root@redmine/public]# ./dispatch.fcgi
./../config/../vendor/rails/railties/lib/rails/gem_dependency.rb:119:Warning: Gem::Dependency#version_requirements is deprecated and will be removed on or after August 2010. Use #requirement
Оказа се, че част от библиотеките необходими за стартирането на redmine и намиращи се в /usr/local/lib/ruby са без необходимите права. Решението е да дадем права на всеки един потребител да чете и изпълнява тези файлове:
chmod -R a+rx /usr/local/lib/ruby/
След тази последна намеса redmine заработи както обикновенно.