我已经在服务器上设置了 Git,使用 gitosis 来控制提交访问。我想配置我的 Git 系统,以便我们防火墙内的任何人都可以读取 Git 存储库,我也想设置 Gitweb。
我在各种博客上找到了几个 Gitweb 设置教程,但它们在各种细节上有所不同,其中一些已经过时了。我希望这个问题有一个最新的答案。
我的具体设置是 Red Hat Enterprise Linux。我已经成功安装了 Git、gitosis 以及 Gitweb 和 Apache 软件包。但是,我还没有弄清楚如何配置 Apache 以实际授予对 Gitweb 的访问权限。
如何设置我的服务器以允许对 Git 进行只读访问,并允许 Gitweb 工作?
安装 gitweb(在 RHEL 上
$ yum install gitweb
)后,它应该创建一个目录var/www/git
并将文件放入etc/httpd/conf.d/git.conf
. 如果这些不存在,请创建它们。把你所有的 git repos 放入var/www/git
并编辑git.conf
,让它执行 cgi 脚本并为 gitweb 重写 URL。这是我所拥有的:还有一个 gitweb.conf 文件,
/etc/gitweb.conf
其中指向诸如 css、favicons 和 logos 之类的东西。如果您将项目留在 /var/www/git 中,我很确定这些将起作用,但是如果您更改该目录,您可能需要将它放在 gitweb.conf 中。在 Ubuntu 8.04 上测试:
假设您的 git 项目位于 中
/pub/git
,请编辑该文件:/etc/gitweb.conf
现在,在 Apache 配置目录中设置一个新的虚拟主机。编辑一个名为的新文件:
/etc/apache2/sites-available/gitweb
启用新站点:
重启阿帕奇: