CentOS安装Git服务器 Centos 6.4 + Git 1.8.2.2 + gitosis (实测 笔记)
1.显示服务器版本
cat /etc/redhat-release
#CentOS release 6.4 (Final)
ipconfig
#服务器IP192.168.1.225 域名www.domain.com SSH端口8200(默认为22)
2.安装git
yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel perl-devel
#下载git-1.8.2.2.tar.gz 到 /usr/local/src 下载网址http://code.google.com/p/git-core
#https://www.kernel.org/pub/software/scm/git/git-2.2.0.tar.gz
cd /usr/local/src
tar -zvxf git-1.8.2.2.tar.gz
cd git-1.8.2.2
make prefix=/usr/local/git all
make prefix=/usr/local/git install
#增加软连接
ln -s /usr/local/git/bin/* /usr/bin/
git --version
#如何能显示版本号,即表示成功
3.安装gitosis
yum install python python-setuptools
cd /usr/local/src
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/gitosis-admin.git
#否则需要需要加上端口进行访问
#git clone ssh://git@www.domain.com:8200/gitosis-admin.git
*******************************************************
5.在开发机客户端上,生成密钥并上传到服务器上
ssh-keygen -t rsa
#一路回车,不需要设置密码
#从开发机客户端,上传刚生成的公钥到服务器(如果修改端口,按4进行配置指定端口)
scp ~/.ssh/id_rsa.pub root@www.domain.com:/tmp/
ls /tmp/id_rsa.pub
#显示已经上传的密钥
6.服务器上生成git用户,使用git用户并初始化gitosis
#增加git用户
adduser -m git
#切换用户
su - git
#服务器的公钥(刚才开发机客户端上传),导入后此开发机客户端即可以管理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
6.在开发机客户端,复制git管理项目(git服务器管理,也是一个git仓库)
mkdir -p /repo
cd /repo
git clone git@www.domain.com:gitosis-admin.git
7.在开发机客户端,增加及设置管理项目
cd /repo/gitosis-admin
#查看已经上传密钥
ls keydir
cat keydir/vicowong\@VICO.pub #vicowong@VICO.pub为已经上传的开发机生成的公密
#显示密钥最后的符串为密钥用户名 这里为vicowong@VICO
vim gitosis.conf
#在文件尾增加以下内容
[group test-git] # 组名称
writable = test-git # 项目名称
members = vicowong@VICO #密钥用户名
#提交修改
git add .
git commit -a -m "add test-git repo"
git push
9.在开发机客户端,初始,增加及使用项目test-git
cd /repo
mkdir test-git
cd test-git
git inti
touch readme
git add .
git commit -a -m "init test-git"
git remote add origin git@www.domain.com:test-git.git
git push origin master