Solaris下安装gitosis

xiaofengliu 2008-05-14

git是linux下边很好用的版本控制工具,可是因为其开放性,其认证权限等还是比较弱的,我喜爱这个工具是因为其分布式特性,这样我既可以象cvs/svn那样进行集中式的管理,也可以在一个受限制的环境中(比如客户现场、不能访问svn服务器的情景中)跟我们的team成员对代码进行版本控制。

gitosis是git的一个便捷的管理工具,它可以管理多个repository,可以管理用户认证,可以不需要多个shell账号就可以解决多用户访问集中repository的问题。

如果你的系统是linux那么,安装gitosis是轻而易举的事情,详细请看这里,可是如果Solaris呢?恐怕就不是那么简单了,下边做个简单陈述作为自己的备忘,希望对其他git使用者有所帮助。

1.安装git

下载最新的git源代码和必要的lib安装包,至少需要:

  • zlib
  • openssl
  • expat--支持git-push使用http(s)协议用
  • curl--支持http(s)协议用
  • =。。。

最好将/usr/ucb:/usr/ccs/bin放到你的PATH环境中,因为这里有ar,ld等命令

如果所需准备好了的话,编译应该不是问题的(我的gcc是3.4)

2.安装使用gitosis

参考HostingGitrepositories,TheEasy(andSecure)Way

顺便补充几点:

[list=1]Solaris的adduser/useradd并没有--disabled-password选项,作为替换等创建完git用户后,使用passwd -d git命令将密码清空,这样就没法通过ssh/telnet登录了,保证了你的repository的安全性sudo -H -u git gitosis-init < /tmp/id_rsa.pub --要确保git等系列命令要在PATH中能找到,并且能正常运行一定要chmod 775 /xxx/repositories/gitosis-admin.git/hooks/post-update下边的post-update,xxx表示git用户所在的目录要主要LD_LIBRARY的设置,请参考鄙人的另一篇文章:LD(LD_LIBRARY_PATH)的配置[*]确保你的/usr/bin下边有如下命令:
ls /usr/bin/git*
/usr/bin/git                     /usr/bin/git-update-server-info  /usr/bin/gitosis-serve  
/usr/bin/git-receive-pack        /usr/bin/git-upload-pack
/usr/bin/git-shell               /usr/bin/gitosis-run-hook

[/list]

相关推荐