安装了 GitWeb 和 CGit 以试用我的 Git/Gitosis 存储库的 Web 界面。在 Fedora 13 上运行,我的 Gitosis 运行良好。我安装了 gitweb 和 cgit 并将配置设置为指向我的存储库,但 gitweb 或 cgi 都不会列出存储库。 Gitweb 显示 gitweb 页面但显示:
404 - No projects found
我在/etc/gitweb.conf 文件中列出了正确的目录:
$projectroot = "/var/lib/gitosis/repositories";
$projects_list = "/var/lib/gitosis/gitosis/projects.list";
$export_ok="";
$strict_export = "true";
Cgit 显示 cgit 页面,但显示:
Not a git repository: '/var/lib/gitosis/repositories/code/test.git'
当我单击此测试存储库链接时(是的,它存在)。我有正确的目录 在/etc/cgitrc 文件中列出:
repo.url=Test Repo
repo.path=/var/lib/gitosis/repositories/code/test.git
repo.desc=master test repository
repo.owner=gitosis@gitserv
repo.readme=info/web/about.html
因为两者都没有列出存储库,所以我觉得这一定是我的配置,但我似乎无法弄清楚要配置什么才能显示这些存储库。我的存储库符号链接(symbolic link)在/var/lib/gitosis/repositories 中,它指向目录/home/git。我还在/var/lib/gitosis/repositories 下设置了我的存储库作为代码、conf 和文档,您可以使用 code/test.git 或 conf/test.git 或 docs/test.git 查看它们。我认为这可能是问题所在,并将存储库直接复制到/var/lib/gitosis/repositories 目录中,但它们仍然没有显示。请任何人指出我可以尝试使其正常工作的任何内容。已经搞了好几天了。
最佳答案
由于这些存储库实际上位于您的主目录中,因此可能是权限问题。也许你家是chmod
不想被“其他人”阅读?
这些存储库目录(在您的主目录中,而不是符号链接(symbolic link))的权限是否足够宽以允许网络服务器看到它们?为了让网络服务器查看您的存储库,网络服务器不能读取存储库的完整路径和存储库本身,并且目录需要为 r+x
通过网络服务器。
使用一些ls -la
查看权限,然后 chmod
运用良好的判断力。
或者,可能更好...只需将存储库移到其他地方,例如 /opt
或/gitrepo
,并在那里正确设置权限。我之所以这么建议,是因为有充分的理由说明为什么您的主页不应该是世界可读的。
关于git - 看不到存储库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4005795/