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

  1. 查看Linux系统服务器系统版本
    # cat /etc/redhat-release # 查看系统版本
    CentOS release 6.5 (Final)

  2. 在服务器上安装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 下载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
      如何能显示版本号,即表示成功
  3. 安装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://[email protected]/home/git/repositories/gitosis-admin.git
# 否则需要需要加上端口进行访问
#git clone ssh://[email protected]:8200/home/git/repositories/gitosis-admin.git

5 . 在开发机客户端上,生成密钥并上传到服务器上
# sh-keygen -t rsa 一路回车,不需要设置密码

从开发机客户端,上传刚生成的公钥到服务器(如果修改端口,按4进行配置指定端口)
# scp -P 8200 ~/.ssh/id_rsa.pub [email protected]:/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://[email protected]: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  

你可能感兴趣的:(所见所学,linux)