再谈git的http服务
因为git服务器搬迁,需要重新安装git服务器,在网上搜索了下,发现之前的方法太复杂,复杂到自己都没彻底弄明白。其实通过git自带的git-http-backend脚本配合apache2的http服务可以更简单的做到。原文请参见:
搭建Git Http服务器、git-http-backend和Git Over HTTP(git-http-backend)。
主要做法就是配置apache,启用git-http-backend脚本、指明git仓库所在路径、启用用户密码验证。几个步骤如下:
一、准备步骤:
1、找到git安装目录:操作系统是他人安装,git的安装路径只需要先弄清楚。centos的7查找软件安装目录命令如下,路径是/usr/libexec/git-core/git-http-backend:
rpm -ql git | grep git-http-backend
2、找到apache2的配置文件:同样的,系统是别人装的,apache2使用的名字是httpd(不叫apache2),相应的路径在/etc/httpd,包括服务名都是httpd。配置文件可以放在/etc/httpd/conf.d/下,取名为git.conf。不习惯。
3、生成用户鉴权文件,保持原来的不变,文件名git.passwd。使用htpasswd命令生成。
二、apache配置:
新建git.conf,内容如下,其中/home/repositories是git仓库的根目录,可放多个项目,所有者必须是apache用户。%repo%将是客户端的访问url前缀
SetEnv GIT_PROJECT_ROOT /home/repositories
SetEnv GIT_HTTP_EXPORT_ALL
ScriptAlias /%repo%/ /usr/libexec/git-core/git-http-backend/ <Location /%repo%/>
AuthType Basic
AuthName "Git Access"
AuthUserFile /etc/httpd/conf.d/git.passwd
Require valid-user
</Location>
三、验证:
1、httpd服务启停
systemctl restart httpd.service
2、生成服务器空test项目
mkdir test
cd test
git init --bare
3、客户端验证脚本
git clone http://host/%repo%/test
cd test
touch test.txt
git add .
git commit -m "first"
git push origin master
再谈git的http服务的更多相关文章
- 再谈git的http服务-权限控制hooks版
通过git-http-backend方法提供的http服务基本上可以做到认证用户才能使用,但只能控制到服务器路径访问,而且无法区分读写.经过不懈努力,找到了方法,相关脚本及配置见后. 基本思路就是利用 ...
- 再谈git的http服务-权限控制gitweb版(未成功)
截至目前,对gitweb的掌握还没达到最终目标,仅仅实现了通过浏览器来浏览项目,通过git命令仍然未能clone项目.但仍然要记录下来,主要是因为打算暂时放弃这条路,而所收获的一些经验还是要记录下来. ...
- 再谈git和github-深入理解-3
git tag -a 和 -m的区别? -a是 注解 是单词 "annotate"的意思 , 表示 "给标签一个名字, 标签名 -m 是创建标签时的消息备注 git ta ...
- 再谈git和github-深入理解-2
github中的 sloc是什么意思? sloc: source lines of code: 代码行数, 源代码行. 要向仓库中 create file/upload file/edit file等 ...
- 再谈git和github-深入理解
git中的 objects 和 refs 是什么? 目录objects是仓库的 "对象库" , 是包含 代码, 提交, 日志, 信息, 索引等信息的关键所在 refs是一些 sha ...
- 透过SourceTree再谈Git
初出茅庐之基础篇 1. Download SourceTree from: https://www.sourcetreeapp.com/ 2.Complete the installation. 3. ...
- [转载]再谈百度:KPI、无人机,以及一个必须给父母看的案例
[转载]再谈百度:KPI.无人机,以及一个必须给父母看的案例 发表于 2016-03-15 | 0 Comments | 阅读次数 33 原文: 再谈百度:KPI.无人机,以及一个必须 ...
- 浅谈HTTP中Get与Post的区别/HTTP协议与HTML表单(再谈GET与POST的区别)
HTTP协议与HTML表单(再谈GET与POST的区别) GET方式在request-line中传送数据:POST方式在request-line及request-body中均可以传送数据. http: ...
- 再谈angularJS数据绑定机制及背后原理—angularJS常见问题总结
这篇是对angularJS的一些疑点回顾,是对目前angularJS开发的各种常见问题的整理汇总.如果对文中的题目全部了然于胸,觉得对整个angular框架应该掌握的七七八八了.希望志同道合的通知补充 ...
随机推荐
- C# Split() 去除 \r\n 分组
str为读入的文本string[] ReadText = str.Replace("\r\n", "@").Split('@'); 转自 http://zhid ...
- js判断是否IE浏览器
//ie? if (!!window.ActiveXObject || "ActiveXObject" in window){ //是 alert(1); }else{ //不是 ...
- [转]在 javascript 按键事件中,按键值的对照表
转自:http://www.phpweblog.net/kiyone/archive/2007/04/19/1138.html 话说谁知道怎么能精简下word生成的html代码....好大啊... 字 ...
- OpenGL学习脚印:深度測试(depth testing)
写在前面 上一节我们使用AssImp载入了3d模型,效果已经令人激动了.可是绘制效率和场景真实感还存在不足,接下来我们还是要保持耐心,继续学习一些高级主题,等学完后面的高级主题,我们再次来改进我们载入 ...
- 【Unity】9.3 粒子系统生成器详解
分类:Unity.C#.VS2015 创建日期:2016-05-02 一.简介 上一节已经介绍过了在Unity 5.x中两种创建粒子效果的方式(方式1.方式2). 这一节我们主要学习第2种方式的基本概 ...
- java 字符串格式化
转:http://blog.sina.com.cn/s/blog_af26e3330101988v.html 1.对整数进行格式化:%[index$][标识][最小宽度]转换方式 我们可以看到,格式化 ...
- 不忘初心,回归本质 .net core
static void Main(string[] args) { ; object j = i;//装箱 就是把值类型转换成引用类型 int k = (int)j;//拆箱 就是把引用类型转换成值类 ...
- iOS 10.3.3 更新背后的故事
iOS 10.3.3 更新背后的故事 TLDR:赶紧升级! 苹果最近提示大家将系统升级到 iOS 10.3.3,并且描述这个更新的内容是:修复和改进安全性. iOS 10.3.3 includes b ...
- Android 支付宝接口调用
在近期,公司需要开发一个关于在线支付的模块,所以需要用到第三方支付平台 转载请注明出处:http://blog.csdn.net/ht_android/article/details/45307165 ...
- sql语句插入百万测试数据
开发的过程中,很多时候我们需要插入百万数据来测试功能和性能,今天我来教大家最简单的插入方法 -----------------1.新建表--------------------- CREATE TAB ...