CentOS系统搭建git服务器

分类:CentOS运维 阅读:24348 次

简介:Git是一个分布式的版本控制系统。使用git的时候,客户端与服务器通讯使用的是ssh协议。用ssh的主要优点是速度快(传输前数据会先压缩,比HTTP快)、安全、方便读写。客户端通过ssh访问服务器端的验证方式一般有两种:一种是用户名密码的方式,一种是使用公私钥认证的方式。 使用公私钥的方式比较方便,无需每次登录输入密码。某个受信任的客户端的公钥会被设置在服务器端的 ~/.ssh/authorized_keys文件中。有关此文件的格式可以参见 sshd的用户手册 man sshd。authorized_keys有个重要的功能就是支持 command参数,用户每次使用此公钥进行验证的时候就会执行此后面的命令,这样就可以做一些登录相关的逻辑处理。

1、环境说明:操作系统所在的主机只有内网IP,可访问外网。

2、安装setuptools

a、wget http://pypi.python.org/packages/source/s/setuptools/setuptools-0.6c11.tar.gz

b、tar zxvf setuptools-0.6c11.tar.gz

c、cd setuptools-0.6c11

d、python setup.py build

e、python setup.py install

3、克隆gitosis并安装

在任意目录下:

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

cd gitosis

python setup.py install

至此git服务器软件安装完毕

4、新建服务器用户(这里的用户指的是操作系统的用户,只是该用户专门用于管理git而已)

su -c 'useradd retonGame'

su -c 'passwd retonGame'

然后输入密码即可

5、新建源码库

su - retonGame      (切换至retonGame身份,注意减号前后均有空格符)

mkdir gameProj.git    (新建空源码库)

cd gameProj.git/

git --bare init       (初始化这个空源码库)

ssh-keygen        (产生ssh公钥,备用)

生成ssh公钥的时候会要求输入一个存放此公钥的文件名称,例如输入aaa,然后输入用于加密此密钥文件的密码之后,在当前面临中就会产生一个aaa.pub。加密后的公钥信息就存放榆次文件中。

至此,服务器搭建完毕。

6、服务端使用(在Ubuntu中)

apt-get install git (安装git,如果已经安装过可忽略此步)

git clone retonGame@192.168.10.133:gameProj.git

7、外网访问git服务器