Я настроил интеграцию redmine с apache, как описано в документации redmine. У меня есть путь / git, доступный с помощью auth, и / git-private, доступный только для redmine. Когда я клонирую репозиторий с помощью пути / git, я получаю обновленный репозиторий. Но когда я пытаюсь просмотреть его в программе просмотра репозиториев Redmine, я получаю сообщение 404 «Запись или редакция не найдены в репозитории». ошибка. Попытка клонировать с использованием URL-адреса git-private в поле Redmine дает пустой репозиторий, хотя это тот же репозиторий, что и тот, который клонирован по пути / git. Я включил RedmineGitSmartHttp в пути / git. В чем может быть проблема?
PerlLoadModule Apache::Redmine
SetEnv GIT_PROJECT_ROOT /path/to/git/root
SetEnv GIT_HTTP_EXPORT_ALL
ScriptAlias /git/ /usr/lib/git-core/git-http-backend/
<Location /git>
AuthType Basic
Require valid-user
AuthName "Git"
PerlAccessHandler Apache::Authn::Redmine::access_handler
PerlAuthenHandler Apache::Authn::Redmine::authen_handler
RedmineDSN "DBI:mysql:database=<dbname>;host=<db host>"
RedmineDbUser "<user>"
RedmineDbPass "<password"
RedmineGitSmartHttp yes
</Location>
<Location /git-private>
Order deny,allow
Deny from all
<Limit GET PROPFIND OPTIONS REPORT>
Options Indexes FollowSymLinks MultiViews
Allow from <redmine public ip>
Allow from <redmine pvt ip>
Allow from <localhost>
</Limit>
</Location>
Redmine не может получить доступ к репозиторию git через HTTP. Это всегда требуется прямой доступ файловой системы к голому репозиторию git для отображения его содержимого на вкладке «Репозиторий». Таким образом, ваш /git-private
конструкция вообще не будет работать (хотя что-то подобное можно сделать с помощью Subversion)
Следовательно, в настройках репозитория Redmine вы должны ввести путь к файловой системе в чистый репозиторий git, а не URL-адрес.