(1) 安装依赖包
[root@nginx ~]#yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel perl-devel -y
(2) 在线安装git
[root@bogon ~]# yum -y install git
(3) 下载安装包安装方式
[root@bogon git-2.2.0]#tar xf git-2.2.0.tar.gz
[root@bogon git-2.2.0]#cd git-2.2.0/
[root@bogon git-2.2.0]#make prefix=/usr/local/git all
[root@bogon git-2.2.0]#make prefix=/usr/local/git install
(4) 增加软连接
[root@bogon git-2.2.0]#ln -s /usr/local/git/bin/* /usr/bin/
(5) 验证结果,显示出版本号,表示安装成功
[root@bogon git-2.2.0]#git --version
git version 2.2.0
(1) 创建 git 用户
[root@bogon ~]# useradd git
(2) 切换到git用户
[root@bogon ~]# su - git
[git@bogon ~]$ pwd #查看当前位置
/home/git
(3) 确认.ssh/authorized_key是否存在
[git@bogon ~]$ ls -a
. .. .bash_logout .bash_profile .bashrc .gnome2 .mozilla
创建bin目录并安装gitolite 到bin目录($ 表示普通用户)
[git@bogon ~]$ git clone https://github.com/sitaramc/gitolite
[git@bogon ~]$ mkdir $HOME/bin
[git@bogon ~]$ gitolite/install -to $HOME/bin
[git@bogon ~]$ cd bin/
[git@bogon bin]$ ls
commands gitolite gitolite-shell lib syntactic-sugar triggers VERSION VREF
gitolite 使用特定的版本仓库 gitolite-admin
来管理用户和其他版本库。
(1) 用git用户生成公钥
注:如果你是接着上面一直做下来的,那么只需要输入cd ,然后回车,则就进入了该用户的目录,如果不是git用户,则需要输入su – git,来切换到git用户)
[git@bogon ~]cd
[git@bogon ~]$ ssh-keygen -t rsa
(2) 修改.ssh/id_rsa.pub 为 admin.pub(为什么要改成admin.pub 因为gitolite根据这个文件名来设立帐号.我这里用admin
[git@bogon ~]$ mv .ssh/id_rsa.pub admin.pub
(3) 使用管理员公钥安装gitolite
[git@bogon ~]$ $HOME/bin/gitolite setup -pk admin.pub
去/home/git/repositories 里面,可以看见仓库文件.gitolite-admin.git 和testing.git 一个是管理仓库的(只有管理员有读写权限),一个是测试用(所有人都有权限)
(4) clone 管理员管理仓库(不需要输密码)
[git@bogon ~]$ git clone [email protected]:gitolite-admin
进入仓库后可以看到conf 和keydir ,conf/gitolite.conf 是添加用户/仓库的配置, keydir 是放对应用户的公想·x钥.并且此时,admin.pub这个公钥可以删除了
(5) 编辑gitolite.conf
[git@bogon ~]$ vim gitolite-admin/conf/gitolite.conf
详细的配置规则,参考 gitolite
(6) 然后提交修改(注:修改用户或者增加版本库后在下图中的目录中提交修改,否则会提示修改失败)
提交修改:
[git@bogon conf]$ git add keydir/test.pub conf/gitolite.conf
[git@bogon conf]$ git add .
[git@bogon conf]$ git commit -am "new project"
[git@bogon conf]$ git push origin master
(7) 提交完后,查看管理仓库中多了一个project.git
[git@bogon ~]$ cd repositories/
[git@bogon repositories]$ ls
gitolite-admin.git project.git
这个时候,服务器已经搭建完毕了,只需要添加用户并给用户添加权限就可以了。下面我们添加用户测试
(1) 使用 ssh-keygen.exe 生成一对密钥文件: id_rsa, id_rsa.pub
(2) 将公钥文件 id_rsa.pub 修改为 用户名.pub
, 例如 xiaoming.pub,放置在 git 服务器的 /home/git/gitolite-admin/keydir
目录下
(3) 将私钥放置在用户的 .ssh 目录下
比如 windows 平台 C:\Users\xiaoming\.ssh
(4) 修改 gitolite.conf 文件,配置用户 xiaoming
的访问权限
修改用 git push 到仓库中
(5) 在客户机上验证
git clone [email protected]:testing.git
验证是否可以免密码操作!