У меня есть сервер под управлением Debian 6.0. Некоторое время назад я установил и настроил Redmine, а теперь настроил сервер svn.
Теперь я пытаюсь настроить Redmine для просмотра репозитория svn. URL: https://192.168.11.78/svn/bee
Соединение не работает, журнал показывает эту ошибку:
Error parsing svn output: #<REXML::ParseException: No close tag for /lists/list>
Google говорит, что это обычная ошибка, и ее можно исправить, навсегда приняв сертификат сервера, поэтому я сделал это и ничего. Все еще не работает.
Позже я добавил
[global]
store-plaintext-passwords = no
в файле
.subversion/servers
Я сделал это (и принял сертификат) как для пользователей root, так и для пользователей www-данных. Ничего не помогло, все еще есть ошибка в Redmine
The entry or revision was not found in the repository.
Что еще я могу с этим сделать?
Это ошибка в Redmine, IIRC. Он вообще не очень хорошо обрабатывает самозаверяющие сертификаты.
В итоге я выполнил инструкции Вот и получил мою работу. Короче говоря, создайте каталог для Subversion, в который будет сбрасывать его конфигурацию, запустите его один раз вручную, затем отредактируйте subversion_adapter.rb
в Redmine lib/redmine/scm/adapters/
папку, чтобы указать ее в этом каталоге конфигурации. Я не следовал / не мог следовать этим указаниям в точности, я сомневаюсь, что вы тоже сможете, так что будьте готовы отойти от сценария, если это будет необходимо.
Добавление к тому, что сказал Пилман (поскольку я не могу прокомментировать его ответ), для меня добавление директивы --config-dir в файл subversion_adapter.rb было последним кусочком головоломки (я пробовал разные способы запуска svn и постоянно принимает сертификат, но redmine не найдет конфигурацию).
Чтобы уточнить, полные шаги были:
# pico /usr/share/redmine/lib/redmine/scm/adapters/subversion_adapter.rb
Измените строку в этом файле с помощью аргументов командной строки
из: str << " --no-auth-cache --non-interactive"
кому: str << " --config-dir /usr/share/redmine/svn/.subversion --no-auth-cache --non-interactive"
# sudo -u www-data svn --config-dir /usr/share/redmine/svn/.subversion list
https://<my-repository-url>
При появлении запроса выберите параметр, чтобы постоянно принимать сертификат (p)
Чтобы завершить тест, введите свои учетные данные Subversion, когда будет предложено (нажмите Enter в первом запросе имени пользователя для www-данных, и он снова запросит другое имя пользователя). При появлении запроса выберите «нет», чтобы сохранить ваши учетные данные в незашифрованном виде (необходимое принятие сертификата SSL к этому моменту уже сохранено). Вы можете убедиться в этом, заглянув в каталог /usr/share/redmine/svn/.subversion, где вы найдете каталог с именем svn.ssl.server с новым файлом в нем.
Очевидно, что если ваша копия redmine работает от имени пользователя, отличного от www-data, вам следует использовать sudo вместо этого пользователя. Убедитесь, что у пользователя, которому вы используете sudo, есть необходимые разрешения для создания каталога / svn внутри каталога redmine - в противном случае вам может не быть предоставлена возможность (p) постоянно принимать сертификат при запуске клиента svn.
В моем случае redmine работает с использованием mod_passenger под apache, поэтому было необходимо перезапустить apache, чтобы принять изменения в сценарии адаптера subversion redmine (до перезапуска я все еще видел ошибки в redmine).
# /etc/init.d/apache2 restart
Теперь все должно работать