Проблеми след upgrade на redmine под FreeBSD

Имам инсталиран 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 заработи както обикновенно.

Сподели:
Edno23 Favit Svejo Twitter Facebook Google Buzz Delicious Google Bookmarks Digg
Публикувано в *BSD. Постоянна връзка.

Вашият коментар

Вашият email адрес няма да бъде публикуван Задължителните полета са отбелязани с *

*

Можете да използвате тези HTML тагове и атрибути: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>