Я пытаюсь установить gitorious на свой персональный сервер, но я не очень хорошо знаком с Ruby или фреймворками и скриптами, участвующими в достижении финишной черты.
Я следую следующим инструкциям, чтобы установить gitorious на свой сервер CentOS 5.4:
http://www.tikalk.com/alm/blog/installing-gitorious-centos-55
Сайт открывается, но как только я нажимаю ссылку для входа, я получаю экран с ошибкой 500 и отчет об исключении отправляется мне по электронной почте. Ошибка отображается как «недопустимая последовательность байтов», и Google сообщает мне, что это связано с Ruby 1.9. Из того, что я читал, gitorious.org использует 1.9, а у других он работает, поэтому теперь мне любопытно, почему он не работает в моей системе.
Судя по трассировке, похоже, что неверная кодировка могла быть получена из базы данных, которая в моем случае является MySQL 5.0.77. Все таблицы в ужасной базе данных имеют свой DEFAULT_CHARSET, установленный на utf8.
Версию большинства компонентов, которые я установил, можно узнать из стека. У меня установлены рельсы 3.0.0. Если что-то еще будет полезно, прокомментируйте, и я отвечу.
Отчет об исключении выглядит следующим образом:
A ArgumentError occurred in sessions#new: invalid byte sequence in US-ASCII [RAILS_ROOT]/vendor/rails/actionpack/lib/action_view/template_error.rb:43:in `split' ------------------------------- Request: ------------------------------- * URL : http://[my-server]/login * IP address: [my-ip] * Parameters: {"controller"=>"sessions", "action"=>"new"} * Rails root: /opt/gitorious/gitorious ------------------------------- Session: ------------------------------- * session id: nil * data: nil ------------------------------- Environment: ------------------------------- * DOCUMENT_ROOT : /var/www/gitorious/public * HTTP_ACCEPT : application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5 * HTTP_ACCEPT_ENCODING : gzip, deflate * HTTP_ACCEPT_LANGUAGE : en-us * HTTP_CONNECTION : keep-alive * HTTP_COOKIE : _gitorious_sess=1a4c10ada66c96f213d6f4573d35286c * HTTP_HOST : [my-hostname] * HTTP_REFERER : http://[my-hostname]/ * HTTP_USER_AGENT : Mozilla/5.0 (iPhone; U; CPU iPhone OS 4_1 like Mac OS X; en-us) AppleWebKit/532.9 (KHTML, like Gecko) Version/4.0.5 Mobile/8B117 Safari/6531.22.7 * PATH_INFO : /login * QUERY_STRING : * REMOTE_ADDR : [my-ip] * REMOTE_PORT : 53586 * REQUEST_METHOD : GET * REQUEST_URI : /login * SCRIPT_NAME : * SCRIPT_URI : http://[my-server]/login * SCRIPT_URL : /login * SERVER_ADDR : [client-ip] * SERVER_ADMIN : root@localhost * SERVER_NAME : [my-hostname] * SERVER_PORT : 80 * SERVER_PROTOCOL : HTTP/1.1 * SERVER_SOFTWARE : Apache/2.2.3 (CentOS) * _ : _ * action_controller.request.path_parameters : {"controller"=>"sessions", "action"=>"new"} * action_controller.request.query_parameters : {} * action_controller.request.request_parameters: {} * action_controller.rescue.request : # * action_controller.rescue.response : # * rack.errors : # * rack.input : # * rack.multiprocess : true * rack.multithread : false * rack.request.cookie_hash : {"_gitorious_sess"=>"1a4c10ada66c96f213d6f4573d35286c"} * rack.request.cookie_string : _gitorious_sess=1a4c10ada66c96f213d6f4573d35286c * rack.request.query_hash : {} * rack.request.query_string : * rack.run_once : false * rack.session : {} * rack.session.options : {:key=>"_gitorious_sess", :path=>"/", :domain=>".", :expire_after=>21 days, :secure=>false, :httponly=>true, :cookie_only=>true, :secret=>"dopFactAnArcyirUckryfsObNohokOrOmFeinwojUpbofIamcicyesicCulfaydd", :id=>"1a4c10ada66c96f213d6f4573d35286c"} * rack.session.record : # * rack.url_scheme : http * rack.version : [1, 0] * Process: 22046 * Server : [my-server] ------------------------------- Backtrace: ------------------------------- [RAILS_ROOT]/vendor/rails/actionpack/lib/action_view/template_error.rb:43:in `split' [RAILS_ROOT]/vendor/rails/actionpack/lib/action_view/template_error.rb:43:in `source_extract' [RAILS_ROOT]/vendor/rails/actionpack/lib/action_view/template_error.rb:86:in `compute_backtrace' [RAILS_ROOT]/vendor/rails/actionpack/lib/action_view/template_error.rb:11:in `initialize' [RAILS_ROOT]/vendor/rails/actionpack/lib/action_view/template.rb:212:in `new' [RAILS_ROOT]/vendor/rails/actionpack/lib/action_view/template.rb:212:in `rescue in render_template' [RAILS_ROOT]/vendor/rails/actionpack/lib/action_view/template.rb:205:in `render_template' [RAILS_ROOT]/vendor/rails/actionpack/lib/action_view/base.rb:265:in `render' [RAILS_ROOT]/vendor/rails/actionpack/lib/action_view/base.rb:348:in `_render_with_layout' [RAILS_ROOT]/vendor/rails/actionpack/lib/action_view/base.rb:262:in `render' [RAILS_ROOT]/vendor/rails/actionpack/lib/action_controller/base.rb:1250:in `render_for_file' [RAILS_ROOT]/vendor/rails/actionpack/lib/action_controller/base.rb:945:in `render' [RAILS_ROOT]/vendor/rails/actionpack/lib/action_controller/benchmarking.rb:51:in `block in render_with_benchmark' [RAILS_ROOT]/vendor/rails/activesupport/lib/active_support/core_ext/benchmark.rb:17:in `block in ms' /usr/local/ruby/ruby191/lib/ruby/1.9.1/benchmark.rb:309:in `realtime' [RAILS_ROOT]/vendor/rails/activesupport/lib/active_support/core_ext/benchmark.rb:17:in `ms' [RAILS_ROOT]/vendor/rails/actionpack/lib/action_controller/benchmarking.rb:51:in `render_with_benchmark' [RAILS_ROOT]/vendor/rails/actionpack/lib/action_controller/base.rb:1326:in `default_render' [RAILS_ROOT]/vendor/rails/actionpack/lib/action_controller/base.rb:1332:in `perform_action' [RAILS_ROOT]/vendor/rails/actionpack/lib/action_controller/filters.rb:617:in `call_filters' [RAILS_ROOT]/vendor/rails/actionpack/lib/action_controller/filters.rb:610:in `perform_action_with_filters' [RAILS_ROOT]/vendor/rails/actionpack/lib/action_controller/benchmarking.rb:68:in `block in perform_action_with_benchmark' [RAILS_ROOT]/vendor/rails/activesupport/lib/active_support/core_ext/benchmark.rb:17:in `block in ms' /usr/local/ruby/ruby191/lib/ruby/1.9.1/benchmark.rb:309:in `realtime' [RAILS_ROOT]/vendor/rails/activesupport/lib/active_support/core_ext/benchmark.rb:17:in `ms' [RAILS_ROOT]/vendor/rails/actionpack/lib/action_controller/benchmarking.rb:68:in `perform_action_with_benchmark' [RAILS_ROOT]/vendor/rails/actionpack/lib/action_controller/rescue.rb:160:in `perform_action_with_rescue' [RAILS_ROOT]/vendor/rails/actionpack/lib/action_controller/flash.rb:146:in `perform_action_with_flash' [RAILS_ROOT]/vendor/rails/actionpack/lib/action_controller/base.rb:532:in `process' [RAILS_ROOT]/vendor/rails/actionpack/lib/action_controller/filters.rb:606:in `process_with_filters' [RAILS_ROOT]/vendor/rails/actionpack/lib/action_controller/base.rb:391:in `process' [RAILS_ROOT]/vendor/rails/actionpack/lib/action_controller/base.rb:386:in `call' [RAILS_ROOT]/vendor/rails/actionpack/lib/action_controller/routing/route_set.rb:437:in `call' [RAILS_ROOT]/vendor/rails/actionpack/lib/action_controller/dispatcher.rb:87:in `dispatch' [RAILS_ROOT]/vendor/rails/actionpack/lib/action_controller/dispatcher.rb:121:in `_call' [RAILS_ROOT]/vendor/rails/actionpack/lib/action_controller/dispatcher.rb:130:in `block in build_middleware_stack' [RAILS_ROOT]/vendor/rails/actionpack/lib/action_controller/string_coercion.rb:25:in `call' [RAILS_ROOT]/vendor/rails/actionpack/lib/action_controller/string_coercion.rb:25:in `call' /usr/local/ruby/ruby191/lib/ruby/gems/1.9.1/gems/rack-1.0.1/lib/rack/head.rb:9:in `call' /usr/local/ruby/ruby191/lib/ruby/gems/1.9.1/gems/rack-1.0.1/lib/rack/methodoverride.rb:24:in `call' [RAILS_ROOT]/vendor/rails/actionpack/lib/action_controller/params_parser.rb:15:in `call' [RAILS_ROOT]/vendor/rails/railties/lib/rails/rack/metal.rb:47:in `call' [RAILS_ROOT]/vendor/rails/actionpack/lib/action_controller/session/abstract_store.rb:122:in `call' [RAILS_ROOT]/vendor/rails/activerecord/lib/active_record/query_cache.rb:29:in `block in call' [RAILS_ROOT]/vendor/rails/activerecord/lib/active_record/connection_adapters/abstract/query_cache.rb:34:in `cache' [RAILS_ROOT]/vendor/rails/activerecord/lib/active_record/query_cache.rb:9:in `cache' [RAILS_ROOT]/vendor/rails/activerecord/lib/active_record/query_cache.rb:28:in `call' [RAILS_ROOT]/vendor/rails/activerecord/lib/active_record/connection_adapters/abstract/connection_pool.rb:361:in `call' [RAILS_ROOT]/vendor/rails/actionpack/lib/action_controller/failsafe.rb:26:in `call' /usr/local/ruby/ruby191/lib/ruby/gems/1.9.1/gems/rack-1.0.1/lib/rack/lock.rb:11:in `block in call' :8:in `synchronize' /usr/local/ruby/ruby191/lib/ruby/gems/1.9.1/gems/rack-1.0.1/lib/rack/lock.rb:11:in `call' [RAILS_ROOT]/vendor/rails/actionpack/lib/action_controller/dispatcher.rb:106:in `call' /usr/local/ruby/ruby191/lib/ruby/gems/1.9.1/gems/passenger-2.2.15/lib/phusion_passenger/rack/request_handler.rb:92:in `process_request' /usr/local/ruby/ruby191/lib/ruby/gems/1.9.1/gems/passenger-2.2.15/lib/phusion_passenger/abstract_request_handler.rb:207:in `main_loop' /usr/local/ruby/ruby191/lib/ruby/gems/1.9.1/gems/passenger-2.2.15/lib/phusion_passenger/railz/application_spawner.rb:441:in `start_request_handler' /usr/local/ruby/ruby191/lib/ruby/gems/1.9.1/gems/passenger-2.2.15/lib/phusion_passenger/railz/application_spawner.rb:381:in `block in handle_spawn_application' /usr/local/ruby/ruby191/lib/ruby/gems/1.9.1/gems/passenger-2.2.15/lib/phusion_passenger/utils.rb:252:in `safe_fork' /usr/local/ruby/ruby191/lib/ruby/gems/1.9.1/gems/passenger-2.2.15/lib/phusion_passenger/railz/application_spawner.rb:377:in `handle_spawn_application' /usr/local/ruby/ruby191/lib/ruby/gems/1.9.1/gems/passenger-2.2.15/lib/phusion_passenger/abstract_server.rb:352:in `main_loop' /usr/local/ruby/ruby191/lib/ruby/gems/1.9.1/gems/passenger-2.2.15/lib/phusion_passenger/abstract_server.rb:196:in `start_synchronously' /usr/local/ruby/ruby191/lib/ruby/gems/1.9.1/gems/passenger-2.2.15/lib/phusion_passenger/abstract_server.rb:163:in `start' /usr/local/ruby/ruby191/lib/ruby/gems/1.9.1/gems/passenger-2.2.15/lib/phusion_passenger/railz/application_spawner.rb:222:in `start' /usr/local/ruby/ruby191/lib/ruby/gems/1.9.1/gems/passenger-2.2.15/lib/phusion_passenger/spawn_manager.rb:253:in `block (2 levels) in spawn_rails_application' /usr/local/ruby/ruby191/lib/ruby/gems/1.9.1/gems/passenger-2.2.15/lib/phusion_passenger/abstract_server_collection.rb:126:in `lookup_or_add' /usr/local/ruby/ruby191/lib/ruby/gems/1.9.1/gems/passenger-2.2.15/lib/phusion_passenger/spawn_manager.rb:247:in `block in spawn_rails_application' /usr/local/ruby/ruby191/lib/ruby/gems/1.9.1/gems/passenger-2.2.15/lib/phusion_passenger/abstract_server_collection.rb:80:in `block in synchronize' :8:in `synchronize' /usr/local/ruby/ruby191/lib/ruby/gems/1.9.1/gems/passenger-2.2.15/lib/phusion_passenger/abstract_server_collection.rb:79:in `synchronize' /usr/local/ruby/ruby191/lib/ruby/gems/1.9.1/gems/passenger-2.2.15/lib/phusion_passenger/spawn_manager.rb:246:in `spawn_rails_application' /usr/local/ruby/ruby191/lib/ruby/gems/1.9.1/gems/passenger-2.2.15/lib/phusion_passenger/spawn_manager.rb:145:in `spawn_application' /usr/local/ruby/ruby191/lib/ruby/gems/1.9.1/gems/passenger-2.2.15/lib/phusion_passenger/spawn_manager.rb:278:in `handle_spawn_application' /usr/local/ruby/ruby191/lib/ruby/gems/1.9.1/gems/passenger-2.2.15/lib/phusion_passenger/abstract_server.rb:352:in `main_loop' /usr/local/ruby/ruby191/lib/ruby/gems/1.9.1/gems/passenger-2.2.15/lib/phusion_passenger/abstract_server.rb:196:in `start_synchronously' /usr/local/ruby/ruby191/lib/ruby/gems/1.9.1/gems/passenger-2.2.15/bin/passenger-spawn-server:61:in `'