在centos中搭建基于smart http的git server
来源:互联网 发布:java高并发视频教程 编辑:程序博客网 时间:2024/05/01 08:02
#
由于公司的特殊需求,需要将git集成到IBM的RTC里面,而RTC使用的是http,所以要只能放弃了git原生的ssh,转而使用smart http,git server搭建在centos系统上。博主在浏览了N多教程发现都是比较残缺的,并没有针对smart http的特殊需求,有一篇相对完整的但也有几个坑(博主为了填这几个坑吐了好多口老血,因此决定把教程记录到博客上防各位不时之需,该教程针对像博主这样的非专业运维的developer的手把手教程,欢迎指正!)
以下是主要的环境参数
- 系统linux centos 7
- git版本 2.6.0.0
- 容器 Apache 2 .6.4(httpd)
1. 首先打开系统terminal,获取root操作权限(博主用的是Xshell远程登录):
输入命令:sudo su
系统要求输入用户密码:
完成后入下图所示
2. 安装httpd:
输入命令:yum install httpd (安装时除了输入“Y”确定外无特别需要注意的)
3. 安装gitweb(如不需要可不安装):
输入命令:yum install gitweb
4. 完成后创建一个git仓库,这里选择在/srv/目录下创建一个bare repo(若目录不同需要在稍后提到的配置文件中修改),取名为test.git
输入命令cd /srv
输入命令git init –bare test.git
5. 把该目录下文件所有者的组改成apache
输入命令:chown -R apache:apache test.git
6. 用vim编辑器修改httpd配置文件
输入命令:vim /etc/httpd/conf/httpd.conf
在文档中添加如下配置:
# 设置git所管理的工程的存放目录SetEnv GIT_PROJECT_ROOT /srvSetEnv GIT_HTTP_EXPORT_ALL# 对git库的各种请求,执行git-http-backend.cgiScriptAliasMatch \ "(?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/$1ScriptAlias / /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保存文件
7. push的操作认证
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
8. 重启httpd服务
输入命令:service httpd start
完成后可在客户端做clone和push的检查操作
(注意:如果系统用户没有权限,使用chmod 755 -R username 命令添加权限,否则推送会被拒)
至此!搭建完毕,博主没有配置gitweb不过相关的教程也很多而且相对简单,剩下的问题无非也就是linux的组权限问题,这个视个人环境做微调即可,如有不足之处还望不吝赐教!
参考链接:
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
- git 服务器搭建 (git smart http)
- 在CentOS上基于Apache http服务搭建git远程仓库(一)
- 基于Centos 7的HTTP服务器搭建
- 在CentOS 7中搭建Git服务器
- 基于http方式的git服务器搭建
- 4.6 服务器上的 Git - Smart HTTP
- Git在CentOS下的搭建
- 基于CentOS搭建 Git 服务
- 基于CentOS搭建 Git 服务
- 基于CentOS搭建GIT服务器
- 使用Smart HTTP和Gitweb搭建简易个人git服务器
- 在Ubuntu14.04上部署使用SMART HTTP的Git服务器
- 基于CentOS 6.8的Git服务器的搭建
- git的http服务器(nginx)搭建(CentOS 6.5)
- 在CentOS搭建Git服务器
- 在CentOS搭建Git服务器
- 在CentOS-6.5-x86_64中搭建Git服务器
- 7个JS基础知识总结
- 【dubbo学习】5.dubbo admin管理控制台启动
- C#基础知识之虚函数
- 初始安卓_Resourse文件
- mysql rand函数种子的使用技巧
- 在centos中搭建基于smart http的git server
- Roll to roll architecture
- ABAP中FIELD-SYMBOLS的详细用法
- oracle和sql server取第一条记录的区别以及rownum详解
- Linux Shell脚本编程--cut命令
- HDU 4249 A Famous Equation(数位DP)
- 大数和之添加了小数问题
- socket与文件描述符
- SpringMVC @RequestBody接收Json对象字符串--http://www.cnblogs.com/quanyongan/archive/2013/04/16/3024741.html