您的位置:首页 > 运维架构 > Linux

CentOS安装Git服务器 Centos 6.5 + Git 1.9.0 + gitosis (亲自安装)

2015-04-30 17:14 537 查看
查看Linux系统服务器系统版本

# cat /etc/redhat-release   # 查看系统版本


CentOS release 6.5 (Final)

在服务器上安装git

#sudo yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel perl-devel


#cd ~


#wget https://git-core.googlecode.com/files/git-1.9.0.tar.gz[/code] 下载git-1.9.0.tar.gz安装包下载地址

其他版本下载地址

#tar -zxvf git-1.9.0.tar.gz
解压

#cd git-1.9.0


#make prefix=/usr/local/git all


#make prefix=/usr/local/git install


增加软连接

#ln -s /usr/local/git/bin/* /usr/bin/


#git --version


如何能显示版本号,即表示成功

安装gitosis

Note: gitosis为Git用户权限管理系统,通过管理服务端的/home/git/.ssh/authorized_key文件来执行对用户权限的管理,是一个python模块包

#yum install python python-setuptools


#git clone git://github.com/res0nat0r/gitosis.git


#cd gitosis/


#python setup.py install


显示Finished processing dependencies for gitosis==0.2即表示成功

4 . 修改客户端git连接端口(如果GIT服务器为默认SSH端口为22,则不需要以下步骤)

修改开发机客户端配置文件(可以省略每次输入端口)
# vim ~/.ssh/config


打开后,编辑文件,添加以下代码

host www.domain.com
hostname www.domain.com
port 8200


**此处稍后使用**
# 修改后,开发机客户端即可用以下方式进行连接访问
#git clone ssh://git@www.domain.com/home/git/repositories/gitosis-admin.git
# 否则需要需要加上端口进行访问
#git clone ssh://git@www.domain.com:8200/home/git/repositories/gitosis-admin.git


5 . 在开发机客户端上,生成密钥并上传到服务器上

# sh-keygen -t rsa
一路回车,不需要设置密码

从开发机客户端,上传刚生成的公钥到服务器(如果修改端口,按4进行配置指定端口)

# scp -P 8200 ~/.ssh/id_rsa.pub root@www.domain.com:/tmp


显示已经上传的密钥

# ls /tmp/id_rsa.pub


6 . 服务器上生成git用户,使用git用户并初始化gitosis

增加git用户

#adduser -m git


更改git用户的密码

#sudo passwd git


su 到git用户

#su - git


在服务器端生成管理库(刚才开发机客户端上传)

#gitosis-init < /tmp/id_rsa.pub


显示以下信息即表示成功

#Initialized empty Git repository in /home/git/repositories/gitosis-admin.git/


#Reinitialized existing Git repository in /home/git/repositories/gitosis-admin.git/


删除密钥

#su - root


#rm -rf /tmp/id_rsa.pub


7 . 在开发机客户端,复制git管理项目(git服务器管理,也是一个git仓库)

#mkdir -p /gitpo
#cd /gitpo
#git clone ssh://git@www.domain.com:port/home/git/repositories/gitosis-admin.git


8 . 在个人开发机增加及设置管理项目

cd /gitpo/gitosis-admin

# 查看git服务器已经上传密钥
ls keydir

cat keydir/xx@xx.pub

#xx@xx.pub为已经上传的开发机生成的公密

#显示密钥 最后的字符串为 密钥用户名 这里为 xx@xx
vim gitosis.conf

#在文件尾增加以下内容

[group test-git]            # 具有写权限的组名称
writable = test-git         # 该组可写的项目名称
members = xx@xx  x2x2@x2x2     #该组的成员(密钥用户名) 多个用户协同开发时,以空格分隔

# 如果要增加只读的组 参考如下
# [group test-git-readnoly]          # 具有都权限的组名称
# readonly = test-git                # 该组只读的项目名称
# members = xx@xx     # 该组的成员

#提交修改
git add .
git commit -a -m "add test-git repo"
git push


9 . 在个人开发机上初始,增加及使用项目test-git

#cd ~/gitpo

#mkdir test-git

#cd test-git

#git init

#touch readme

#git add .

#git commit -a -m "init test-git"

#git remote add origin git@zgit:test-git.git

#git push origin master
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: