centos6.7下搭建git服务器(2017最新版)

前提:网上有很多centos搭建git服务器的教程,但很多都没有说清楚,导致我在安装的时候走了很多弯路,耗费了一天时间在那里研究权限管理一块。鉴于此,准备重新发个最新版的centos搭建git服务器。

技术交流QQ:242722019

.centos

    os: centos6.7

    git: 1.7.1

    gitolite

    步骤很简单,需要安装git,ssh支持,gitolite,然后公钥 . 本文全部采用的yum包过来的.

1. 登录服务器,安装,(#root 登录后的.)

#yum install perl openssh git

装不上,那就装下面的依赖

#yum install curl-devel expat-develgettext-devel openssl-devel zlib-devel perl-devel

2.建立一个用户

#adduser --system --shell /bin/sh--create-home --home-dir /home/git git

 #cd /home/git

#mkdir repositories

#chown git:git -R ./repositories

#chmod 700 ./repositories

3.切换至刚建的git用户 ($表示用户

#su git

$git clone git://github.com/sitaramc/gitolite

$mkdir -p $HOME/bin

$gitolite/install -to $HOME/bin

这里可能会报错缺少模块,就需要切换到root安装缺失模块.比如perl-Time-HiRes这个

$su - 

 输入服务器root密码

#yum install perl-Time-HiRes

#su git

$gitolite/install -to $HOME/bin

然后这里安装的就完了.

二、选择一个主机做为管理gitolite的管理员(这里很多文档没有强调说明清楚)

#ssh-keygen

#cd /root/.ssh

里面有id_ras.pubid_rsa,一个是公钥,一个是私钥.如果之前你装过openssl产生过密钥,那这里就不要覆盖了

复制到服务器的/tmp

#scp ~/.ssh/id_rsa.pubserver_username@server_host:/tmp

输入密码

回到服务器

#cd /tmp

#mv id_rsa.pub admin.pub 

为什么要改成admin.pub因为gitolite根据这个文件名来设立帐号.我这里用admin

#su git 切换到git用户

$$HOME/bin/gitolite setup -pkadmin.pub(之所以直接用的admin.pub是因为在/tmp目录下su git)

然后去/home/git/repositories里面,可以看见仓库文件.gitolite-admin.gittest.git一个是管理仓库的,一个是测试用

注:gitolite-admin.git仓库是管理员管理git所有仓库的,且只能作为管理员的主机才能进行配置修改。


三、管理员主机拉区服务器gitolite-admin管理仓库

#git clonegit@server_host:gitolite-admin

进入仓库后可以看到confkeydir,conf/gitolite.conf是加用户/仓库的配置, keydir 是放对应用户的公钥.

<!-- 非常重要这里,困在这里耗费了一天时间研究   gitolite权限配置-->

注:配置好gitolite.confkeydir对新建仓库很重要,配置好后需要push到服务器才能生效。

配置gitolite.conf文件


将添加用户的id_rsa.pub重命名成容易识别的***.pub文件放到keydir下面


git push到git server服务器,生效后查看/home/git/.ssh/authorized_keys文件可以看到新添加的用户已经添加进去,且配置的仓库也创建 在 /home/git/repositories中



最后这几步很重要!!!技术交流QQ:242722019
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章