探索前沿技术
      展示技术风采

centos6.5下简单git服务器安装与权限配置

1、安装Git
git官方网站git-scm.com中,没有给出Centos版本的安装案例,但没关系,我们手动编译安装也一样。准备好源码包,我选的1.9.0版本。
a) 将压缩包git-1.9.0.tar.gz放入任意目录,假如在usr/local目录下。
b) 运行解压缩命令:tar -zxvf git-1.9.0.tar.gz
c) 进入git源码目录:cd git-1.9.0
d) 执行三步常规安装命令:检测环境配置并且设置安装路径,编译,安装;
./configure –prefix=/opt/git
make
make install
e) 验证安装成功:git –version
如果输出:git version 1.9.0,说明安装成功。
2、添加一个针对git管理的系统用户
执行命令:sudo adduer git
这时会在home里面生成名为git的用户目录。
注:如果要完全删除git用户,可以执行:userdel -r git
3、配置git远程仓库
a) 在任意目录比如srv中新建一个repository空目录,用于存放所有的git仓库;
b) cd /srv/repository
c) 初始化一个空git仓库,git init –bare demo.git ,此时会生成1个demo.git目录
d) 为demo.git目录的所有者指定git用户:chown git:git -R demo.git
4、设置SSH安全认证
客户端与服务器的数据通信需要安全通道,有两种方式:验证git用户密码和基于RSA的公钥加密算法认证,出于对系统安全性考虑以及保证每个仓库的私密性,通常采用公钥认证的方式,并且关闭密码验证。
Centos6.5中,默认ssh的密码验证是打开的,而RSA认证是关闭的,所以需要先做反向操作,进入/etc/ssh,打开配置文件sshd_config:
a) 找到PasswordAuthentication节点并设置为no(这个关闭 后ssh密码连接失败,暂时不关闭);
b) 开启RSA认证,将前面的#去掉,并确保如下配置:
RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys
c) 重启SSH服务使配置生效:service sshd restart
5、管理公钥
上面的AuthorizedKeysFile .ssh/authorized_keys其实就是SSH连接时验证公钥的相对路径,由于我们使用的是git用户,那么当我们访问git服务器的时候,ssh连接会在git用户目录中查找是否有该路径,所以我们进入到home/git,创建一个.ssh的空目录,并在里面再创建一个authorized_keys的文档,这样ssh根据AuthorizedKeysFile的值就能找到公钥,只有能够解密的私钥才是安全可信任的客户端,所以我们需要事先将可信任的客户端公钥复制到authorized_keys中,复制多个公钥需要强制换行来识别。
vi /home/git/.ssh/authorized_keys
6、克隆仓库
基本上配置完这些,就可以实现远程克隆了,客户端执行命令:git clone git@xxx.xxx.xxx.xxx:/srv/repository/demo.git
7、客户端生成公钥
ssh-keygen -t rsa 然后一路回车,生成公钥后上传到服务器,然后将公钥放入授权文件
8、利用git hooks实现代码复制(可和rsync一起使用实现自动部署)
切换到git用户
su git
新建文件夹
mkdir /home/git/web/www
克隆仓库
git clone /srv/repository/demo.git /home/git/web/www/
在仓库下(如demo.git)有hooks文件夹编辑里面的post-receive(没有则新建)
vi post-receive
内容如下:
#!/bin/sh
unset GIT_DIR
NowPath=`pwd`
DeployPath=”/home/git/web/www”
cd $DeployPath
git pull origin master
rsync -av –progress –delete –exclude “.git” $DeployPath root@139.199.193.159::test –password-file=/etc/rsyncd.git.pwd
cd $NowPath
exit 0
注意:rsyncd.git.pwd(或rsyncd.pwd)文件的权限问题

×

感谢您的支持,我们会一直保持!

扫码支持
请土豪扫码随意打赏

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

赞(0) 打赏
未经允许不得转载:醉探索戈壁 » centos6.5下简单git服务器安装与权限配置
分享到: 更多 (0)
标签:

给戈壁浇点水

支付宝扫一扫打赏

微信扫一扫打赏