Windows使用Apache2配置Git服务器
Windows使用Apache2配置Git服务器
本文地址:http://www.cnblogs.com/cnscoo/p/3373095.html
Git下载:
网站:https://code.google.com/p/msysgit/
文件:https://msysgit.googlecode.com/files/Git-1.8.4-preview20130916.exe
Apache下载:
·以上文件安装和配置过程就省略了,这个网络上的资料比较多的。
1.打开Apache的 httpd.conf 配置文件,修改 <Directory /> 中的 Deny from all 为 Allow from all,并在配置文件末尾添加
#
# Git Server Configured
#
Include conf/extra/httpd-git.conf
·这个配置可以避免在主要的配置文件中添加太多的内容,将我们的配置单独放在一个文件中。
2.在Apache的 conf/extra 文件夹中新建配置文件 httpd-git.conf,然后在文件中添加以下内容
# 设置Git管理库位置
SetEnv GIT_PROJECT_ROOT E:/GitServer # 这里的E:/GitServer 表示Git服务的库位置
SetEnv GIT_HTTP_EXPORT_ALL
SetEnv REMOTE_USER=$REDIRECT_REMOTE_USER # 设置Git处理方式,其中的 ...^/git/(.*/... 部分也可以写成 ...^/(.*/...
# 前者表示访问的时候使用 http://ServerName/git/Git库 的方式访问,后者使用 http://ServerName/Git库 的方式访问
# 下面的 F:/Program Files/Git/libexec/git-core/git-http-backend.exe 是Git的http处理程序,在Git中有的。
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))$" "F:/Program Files/Git/libexec/git-core/git-http-backend.exe/$1" # Enable mod_rewrite
RewriteEngine On # Detect git push
RewriteCond %{QUERY_STRING} service=git-receive-pack [OR,NC]
RewriteCond %{REQUEST_URI} ^/*.git/.*/git-receive-pack$ [NC]
RewriteRule .* - [E=AUTHREQUIRED:yes]
保存这个文件,将Git目录中的 bin/libiconv-2.dll 文件复制到 Git下的 libexec\git-core\ 中,这个是 git-http-backend.exe 需要用到的组件。然后(重)启动 Apache 服务器。
3.在E盘创建文件夹GitServer,并运行以下命令
git init --bare 项目名.git # 生成项目库文件夹
cd 项目名.git
git update-server-info
4.现在使用 http://localhost/git/项目名.git 的路径就可以克隆项目了,然后修改文件、add、commit、push...
-- 以下为可选项:
5.配置访问权限
在Apache的conf/extra/httpd-git.conf中添加:
<Location /git/> # 这个路径和上面的ScriptAliasMatch处需一致
AuthType Basic
AuthName "GIT Server"
AuthUserFile "E:/.htpasses" # 这个是需要验证的密码文件
Require valid-user # 据说如果将“Require valid-user”注释掉,就不需要密码认证了,在内网用时会很方便,但这是只允许pull,而不允许push。
</Location>
然后在使用Apache的 htpasswd.exe 工具生成对应的密码文件,运行以下命令
htpasswd -bc E:\.htpasses 用户名 密码
如果只是要添加用户,则把 -bc 的操作改成 -b 操作即可。重启服务器,再操作该Git项目时就需要密码验证了。
6.添加Git的Web浏览工具gitphp
下载gitphp: http://www.gitphp.org
解压到 E:\GitServer (可以是其他位置) 并将文件夹命名为 gitphp,然后在Apache的conf/extra/httpd-git.conf中添加配置
<IfModule alias_module>
Alias /gitphp "E:\GitServer\gitphp"
</IfModule>
<Directory "E:\GitServer\gitphp">
Options Indexes FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all
</Directory>
<Location /gitphp/> #这里也是添加密码验证
AuthType Basic
AuthName "GIT Server"
AuthUserFile "E:/.htpasses"
Require valid-user
</Location>
然后将其中的 config/gitphp.conf.php.example 复制新文件为 config/gitphp.conf.php,并修改其中的配置项,比如我这里修改的就是:
$gitphp_conf['gitbin'] = 'F:\\Progra~1\\Git\\bin\\git.exe'; // git.exe文件路径
$gitphp_conf['projectroot'] = 'E:\\GitServer\\'; // Git项目库位置(不是项目文件夹)
然后重新启动Apache,使用浏览器浏览 http://localhost/gitphp则就可以看到Git的Web浏览工具了。
很晚了,打完收工。今晚又被公司加班了,此夜绵绵无绝期啊...
Windows使用Apache2配置Git服务器的更多相关文章
- Windows/Linux 环境搭建Git服务器 + vs2012集成git
1. 下载.安装Git 我的系统是Windows 7,需要安装Git for Windows. 下载地址: http://code.google.com/p/msysgit/downloads/lis ...
- Windows操作系统下搭建Git服务器和客户端。
本文将介绍如何在Windows操作系统下搭建Git服务器和客户端.服务器端采用的是Bonobo Git Server,一款用ASP.NET MVC开发的Git源代码管理工具,界面简洁,基于Web方式配 ...
- Windows 使用 Gogs 搭建 Git 服务器(转)
Windows 使用 Gogs 搭建 Git 服务器 随便说两句 之前有使用 Gitblit 在Windows搭建Git服务器,用的也挺好的,可能安装起来略麻烦一点.现在全用 Gogs 在wind ...
- Windows平台下搭建Git服务器的图文教程
Git没有客户端服务器端的概念,但是要共享Git仓库,就需要用到SSH协议(FTP , HTTPS , SFTP等协议也能实现Git共享,此文档不讨论),但是SSH有客户端服务器端,所以在window ...
- Windows平台下搭建Git服务器的图文教程(转发)
Git没有客户端服务器端的概念,但是要共享Git仓库,就需要用到SSH协议(FTP , HTTPS , SFTP等协议也能实现Git共享,此文档不讨论),但是SSH有客户端服务器端,所以在window ...
- [转载]Ubuntu安装配置 git 服务器和客户端
原文地址:Ubuntu安装配置 git 服务器和客户端作者:ding404 1.配置前准备 服务器:安装ssh server另外还装了gitosis做git的权限管理 sudo apt-get ins ...
- Windows下配置Git服务器和客户端 超全
为了配合Redmine使用,特地用Git来做版本控制. Git Candy© 是一个基于ASP.NET MVC的Git分布式版本控制平台,Git Candy的目标是轻松干掉Bonobo,逐渐追赶Git ...
- Windows下配置Git服务器和客户端
http://www.cnblogs.com/lwme/archive/2012/12/25/configuring-git-server-and-client-on-windows.html] 选择 ...
- 在windows 环境下对于 git 服务器的安装和使用
前言: 虽然说在团队开发的时候会有版本控制服务器,但是个人自己开发的时候,有的时候也需要有个版本控制下,比如,你改好了一个小的功能,然后在这个功能上继续扩展,结果扩展不成功,于是回到这个小功能上去.当 ...
随机推荐
- 一个不喜欢读书的Javaer的读书单
很可惜,从我一开始学技术开始,我就不喜欢看书,严重的时候翻不到两页就会开始狂打瞌睡.很幸运,有互联网能够为我提供很多知识,甚至一些知识从网上看来的会更加权威一些.但是,我的经验告诉我,无论是从功利性的 ...
- [ES6] 23. Rest Parameters & Spread Parameters
Rest Parameters: In ES5, when you don't know how many paramters will be passed in, you can use argum ...
- Linux 内核进程管理之进程ID 。图解
http://www.cnblogs.com/hazir/tag/kernel/ Linux 内核进程管理之进程ID Linux 内核使用 task_struct 数据结构来关联所有与进程有关的数 ...
- Linux--------------安装nginx ftp
阿里云服务器ECS centos7.2搭建nginx环境以及负载均衡 http://blog.csdn.net/ul646691993/article/details/52104082
- JS设置打印页面并调用本地打印机打印页面
<script type="text/javascript"> var hkey_key; var hkey_root = "HKEY_CURRENT_USE ...
- HTML文本格式化
文本格式化标签: 标签 描述 <b> 定义粗体文本. <big> 定义大号字. <em> 定义着重文字. <i> 定义斜体字. <small> ...
- 【转】数据库SQL优化大总结之 百万级数据库优化方案
原帖地址:http://www.cnblogs.com/yunfeifei/p/3850440.html#undefined 1.对查询进行优化,要尽量避免全表扫描,首先应考虑在 where 及 or ...
- android线程池ThreadPoolExecutor的理解
android线程池ThreadPoolExecutor的理解 线程池 我自己理解看来.线程池顾名思义就是一个容器的意思,容纳的就是ThreadorRunable, 注意:每一个线程都是需要CPU分配 ...
- 各种排序算法及c语言实现
插入排序O(n^2) 冒泡排序 O(n^2) 选择排序 O(n^2) 快速排序 O(n log n) 堆排序 O(n log n) 归并排序 O(n log n) 希尔排序 O(n^1.25) 1.插 ...
- 从两个集合里排除重复的写法(适用:DB表和字段都很多,表间有关联的情况)
获取其中一张表bulletinred为1的内容: public IList<BRShow> GetBulInfo() { var result = from a in ((Entities ...