Ubuntu 10.04 64bit를 사용하는 Server에서 Redmine을 패키지로 설치하여 사용하는데...

금일 갑작스레 Redmine이 뜨지를 않는 것이다.
웹으로 접속을 하면 아래와 같은 화면만 보여졌다.

Internal error

An error occurred on the page you were trying to access.
If you continue to experience problems please contact your redMine administrator for assistance.

Back



Ubuntu에서 패키지로 제공하는 버전은 Redmine 0.9.3 이다.


대체 뭔일인가 싶어서 아파치의 에러메시지를 살펴보니 아래와 같았다.

 $ cat /var/log/apache2/error.log

NoMethodError (undefined method `[]' for nil:NilClass):

    /app/models/setting.rb:100:in `value='

    /vendor/rails/activerecord/lib/active_record/base.rb:2589:in `send'

    /vendor/rails/activerecord/lib/active_record/base.rb:2589:in `attributes='

    /vendor/rails/activerecord/lib/active_record/base.rb:2585:in `each'

    /vendor/rails/activerecord/lib/active_record/base.rb:2585:in `attributes='

    /vendor/rails/activerecord/lib/active_record/base.rb:2285:in `initialize'


위 에러에 대해서 검색을 해보니 아래와 같은 내용을 확인할 수 있었다.

   - http://serverfault.com/questions/366406/redmine-suddenly-stopped-working-how-to-troubleshoot

물론 위 사이트에서 친절하게도 문제를 해결할 수 있는 방법도 알려주었다.

   - http://www.redmine.org/projects/redmine/repository/revisions/8909/diff/trunk/app/models/setting.rb



정리를 하자면,
Ubuntu에서 보안 문제로 인해서 Ruby를 업데이트를 해버렸는데 이로 인해서 Redmine이 에러를 내뿜는 것이다.

이게 문제가 되는 부분이 바로 저 위 에러메시지에서 알려주는 바와 같이 "setting.rb" 파일이다!
그러므로 즉, 이 파일만 수정을 해주면 해결이 가능하다.

 $ sudo nano /usr/share/redmine/app/models/setting.rb

170 170     raise "There's no setting named #{name}" unless @@available_settings.has_key?(name)
171 171     setting = find_by_name(name)
172          setting ||= new(:name => name, :value => @@available_settings[name]['default']) if @@available_settings.has_key? name
172          unless setting
173             setting = new(:name => name)
174             setting.value = @@available_settings[name]['default']
175          end
176          setting
173 177   end
174 178 end

여기까지...
반응형

+ Recent posts