我已经按照 redmine 文档中的说明设置了 redmine 与 apache 的集成。我有一个可通过 auth 访问的 /git 路径和仅 redmine 可访问的 /git-private。当我通过 /git 路径克隆存储库时,我获得了最新的存储库。但是当我尝试在 redmine 存储库查看器中查看它时,我收到 404“存储库中未找到条目或修订版。”错误。尝试使用 redmine 框中的 git-private url 进行克隆会给出一个裸存储库,尽管它与通过 /git 路径克隆的存储库相同。我已在 /git 路径中启用了 RedmineGitSmartHttp。这里可能是什么问题?
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>
答案1
Redmine 无法通过 HTTP 访问 git 存储库。它总是需要直接文件系统访问裸 git 存储库,以便在存储库选项卡上显示其内容。因此,您的/git-private
构造将根本无法工作(尽管可以使用 Subversion 完成类似操作)
因此,在Redmine的存储库设置中,您必须输入文件系统路径到裸 git 存储库,而不是 URL。