甩祸 发表于 2015-3-27 11:17:46

SUSE下配置git注意事项

  下载最新的git源码包,./configure、make、 make install,很顺利,期间的依赖包都可以用yast搞定。源码包中已经包含了gitweb。
  
  本地访问的话问题不大,远程访问的话,需要注意2个问题:
  1. 资源库下的hooks文件夹下post-update.sample需要去掉后缀,成为post-update(高版本git才会这样),并chmod 775 post-update。
  2. 对资源库文件夹本身,也需要设置下访问权限,不然后边使用gitweb时会出现一刷新项目就不显示的问题。
  
  gitweb比较好配置,直接修改gitweb.cgi文件就可以:
  our $GIT = "/usr/bin/git";           
  指向正确的git可执行文件位置
  our $projectroot = "/home/server/git-res";   
  指向正确的git资源库位置
  our $export_ok = "";              
  这个保持空就可以,如果资源库中有不希望别人通过gitweb就可以看到的项目,那么可以写上GITWEB_EXPORT_OK。之后在资源库中想要显示的文件夹中的.git下使用touch GITWEB_EXPORT_OK,它就会显示在gitweb中了。
  另外还有很多选项可以自定义gitweb界面的一些信息。
  
  设置好之后在apache2中的vhost.d中建立一个xxxx.conf文件(名字随便了,只要后缀是conf就可以),加入一台虚拟主机,配置如:
  
    ServerName gitserver
    DocumentRoot /var/www/gitweb
   
      Options ExecCGI +FollowSymLinks +SymLinksIfOwnerMatch
      AllowOverride All
      order allow,deny
      Allow from all
      AddHandler cgi-script cgi
      DirectoryIndex gitweb.cgi
   

  再在listen.conf中加入8080端口
重启下apach2就可以使用了。
  
  另外只有用ssh方式访问git的用户才能有推送的权限(假设他对资源库有写的权限的话),其他方式的都会失败,git-daemon设置好参数应该也是可以的,但git本身的访问权限不好控制。
  因此还是使用ssh来做访问控制。
  
  参考站:http://progit.org/book/zh/
  
页: [1]
查看完整版本: SUSE下配置git注意事项