标签:
#
由于公司的特殊需求,需要将git集成到IBM的RTC里面,而RTC使用的是http,所以要只能放弃了git原生的ssh,转而使用smart http,git server搭建在centos系统上。博主在浏览了N多教程发现都是比较残缺的,并没有针对smart http的特殊需求,有一篇相对完整的但也有几个坑(博主为了填这几个坑吐了好多口老血,因此决定把教程记录到博客上防各位不时之需,该教程针对像博主这样的非专业运维的developer的手把手教程,欢迎指正!)
输入命令:sudo su
系统要求输入用户密码:
完成后入下图所示
输入命令:yum install httpd (安装时除了输入“Y”确定外无特别需要注意的)
输入命令:yum install gitweb
输入命令cd /srv
输入命令git init –bare test.git
输入命令:chown -R apache:apache test.git
输入命令:vim /etc/httpd/conf/httpd.conf
在文档中添加如下配置:
# 设置git所管理的工程的存放目录
SetEnv GIT_PROJECT_ROOT /srv
SetEnv GIT_HTTP_EXPORT_ALL
# 对git库的各种请求,执行git-http-backend.cgi
ScriptAliasMatch "(?x)^/git/(.*/(HEAD | info/refs | objects/(info/[^/]+ | [0-9a-f]{2}/[0-9a-f]{38} | pack/pack-[0-9a-f]{40}\.(pack|idx)) | git-(upload|receive)-pack))$" /usr/local/libexec/git-core/git-http-backend/$1
ScriptAlias / /usr/share/gitweb/gitweb.cgi
#为git的http操作添加认证,认证信息存在git-auth文件中,关于此文件的配
#置将会在稍后讲解
<Location />
AuthType Basic
AuthName "Git Access"
AuthUserFile /var/www/git-auth
Require valid-user
AuthBasicProvider file
</Location>
完成后输入wq保存文件
a.打开刚刚创建的test.git仓库为config添加如下配置
输入命令: cd /srv/test.git/
b. 打开config文件添加如下内容
[http]
receivepack = true
完成后保存并退出
c. 再配置文件中定义的/var/www文件夹下添加git-auth密码文件
输入命令:cd /var/www
添加一个名为git(可自己定义)的账户
输入命令:htpasswd -c git-auth git
输入命令:service httpd start
完成后可在客户端做clone和push的检查操作
(注意:如果系统用户没有权限,使用chmod 755 -R username 命令添加权限,否则推送会被拒)
http://particle128.com/posts/2014/12/git-server.html
https://git-scm.com/docs/git-http-backend
https://git-scm.com/book/be/v2/Git-on-the-Server-Smart-HTTP
在centos中搭建基于smart http的git server
标签:
原文地址:http://blog.csdn.net/zsq_519/article/details/51208879