centos + git + gitolite 服务搭建

文章目录

  • 1、安装 Git
  • 2、用户
  • 3、安装 gitolite
  • 4、配置gitolite
  • 5、免密码登录

【 参考】

1、安装 Git

(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 

2、用户

(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

3、安装 gitolite

创建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

4、配置gitolite

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

这个时候,服务器已经搭建完毕了,只需要添加用户并给用户添加权限就可以了。下面我们添加用户测试

5、免密码登录

centos + git + gitolite 服务搭建_第1张图片

(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

验证是否可以免密码操作!

你可能感兴趣的:(技术杂文,git)