我最近受命在Linux上托管git服务器。我对Linux领域非常陌生,因此要想达到今天的水平一直很艰难。我现在已经创建了一个裸仓库,可以使用GitWeb(托管在Apache上)查看它。
因为我可以使用GitWeb浏览到它,所以我认为apache服务器和git的配置是正确的,但是我仍然无法在远程计算机上克隆存储库。根据我配置Apache的方式,尝试克隆时会收到403 Forbidden错误或404错误。
我不确定我的git存储库配置是否不正确,我的apache配置是否错误或文件夹安全性使其无法访问。可能有很多事情。
从那以后,我删除了GitWeb,以便可以使用最简单的git和apache配置。我确信我的问题有很多不同的原因,所以我要问一些常见的错误配置,这可能是罪魁祸首。
这是我的apache配置的一些部分。我的存储库位于/ opt / git
<VirtualHost *:80>
ServerName gitserver
DocumentRoot /opt/git
<Directory /opt/git>
Options ExecCGI +FollowSymLinks +SymLinksIfOwnerMatch
AllowOverride All
order allow,deny
Allow from all
</Directory>
ScriptAlias /git/ /usr/libexec/git-core/git-http-backend/
</VirtualHost>
<Directory "/opt/git">
Options Indexes FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all
</Directory>
正如我说的,我能够(使用不同的配置)浏览到我的GitWeb页面,因此apache肯定正在运行,并且在某个时候VirtualHost已正确配置,但是肯定有问题。
谢谢!
最佳答案
看起来这不是apache的问题,而是git的问题。我需要运行命令
git update-server-info
我很困惑,因为This Documentation使得该命令似乎可以自动运行,因为我只是复制了示例钩子。我想您每次创建新存储库都必须运行命令吗?
关于linux - 如何使git仓库HTTP可访问,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/37464487/