我采用的是non-root的安装方法。
1,首先在服务器上创建git用户
# useradd git
#passwd git
修改soduers内容,增加git的sodu权限
#vi /etc/sudoers
在root ALL=(ALL) ALL 这一行后面增加
git ALL=(ALL) ALL
注意这是一个只读文件,要用wq!
2,选择gitolite的管理员客户端。
我选择的是本机的minstrel用户。由于之前没有生产过minstrel的公钥,所以执行下面命令。
$ ssh-keygen
拷贝到新生成的管理员公钥到服务器上,由于我选择的是同一台主机,所以执行:
$ cp .ssh/id_rsa.pub /tmp/minstrel.pub
如果是远程拷贝,可以用scp ~/.ssh/id_rsa.pub git@192.16.0.1:/tmp/minstrel.pub,其实这只是拷贝到服务器上备用,可以用任何能放到服务器上的方法。
3,服务器上安装gitolite
在服务器上切换到git用户下,首先清理掉前面试安装留下的垃圾文件,具体就是gitolite .gitolite .gitolite.rc projects.list repositories .ssh这几个文件和文件夹,然后执行:
$ git clone git://github.com/ossxp-com/gitolite.git (也可以选择git clone git://github.com/sitaramc/gitolite
)
$ sudo gitolite/src/gl-system-install /usr/local/bin/ /usr/local/share/gitolite/conf /usr/local/share/gitolite/hooks
$ gl-setup /tmp/minstrel.pub
这些步骤应该都不出现warning和falt的提示
确认minstrel是否是管理员
$ cat .ssh/authorized_keys
4,切换到管理员的客户端上,执行:
$ git clone git@192.168.0.1:gitolite-admin
至此安装成功,不要忘记删除sudoers的git的sodu权限