olnm 发表于 2015-8-2 13:17:02

用Apache配置Git服务器

用Apache配置Git服务器


安装环境



[*]Windows 2003
[*]Apache openlogic-apache-2.2.15-windows-ins-openssl-1
[*]Git-1.8.1.2-preview20130201
  参考资源:


[*]搭建 Windows 上 Apache + Git 服务器http://suzsoft-2003:8080/OnCenter/images/out.png
[*]msysgit+apache安装说明 - git服务器部分http://suzsoft-2003:8080/OnCenter/images/out.png
[*]Hosting a Git server under Apache on Windowshttp://suzsoft-2003:8080/OnCenter/images/out.png
[*]apache账号密码限制用户访问http://suzsoft-2003:8080/OnCenter/images/out.png
  虽然已经有不少的参考的资源,但是对于不熟悉Apache和Git的新手在安装和使用过程中还是遇到一些问题。记录一下自己遇到的主要问题和整理下相关资源。
  局限性:只是在局域网内搭建的Git Server如果需要支持外网访问,需要参考其他资料。

下载安装文件



[*]msysgithttp://suzsoft-2003:8080/OnCenter/images/out.png
[*]Apachehttp://suzsoft-2003:8080/OnCenter/images/out.png
[*]Source Treehttp://suzsoft-2003:8080/OnCenter/images/out.png

安装文件



[*]Apache默认安装
[*]Git安装这里需要注意的是,网上有些文章声称,需要在安装时选择 Run git from the Windows Command prompt。对此持保留意见,因为不选择这一项也是可以的。不过为了谨慎起见,还是选择此项为好。

配置Git

  全部安装完成后,主要的工作就是配置Apache的config文件。 找到config文件的地址:C:\Program Files\Apache Software Foundation\Apache2.2\conf
在config文件的后面追加下面内容


[*]第一句是我们Git的目标文件夹地址
[*]第二句要注意后面的空格和参数1,有文章说随便指定参数也可以,比如设置成2,我没有试验也没有了解原理。
[*]第三句主要ScriptAliasMatch加空格后的字符串要在一行上。
[*]git-http-backend.exe 是在Git的安装文件夹下找到。

[*]如果 git-http-backend.exe不能执行,提示没有找到libiconv-2.dll,该文件位于 C:\Program Files\Git\bin。复制到 C:\Program Files\Git\libexec\git-core


[*]注意中的目录位置



SetEnv GIT_PROJECT_ROOT D:/Repository
SetEnv GIT_HTTP_EXPORT_ALL 1
ScriptAliasMatch"(?x)^/(.*/(HEAD | info/refs | objects/(info/[^/]+ | {2}/{38} |pack/pack-{40}.(pack|idx)) | git-(upload|receive)-pack))$""C:/Program Files/Git/libexec/git-core/git-http-backend.exe/$1"

OptionsIndexesFollowSymLinks
AllowOverrideAuthConfig
Order allow,deny
Allowfrom all

  完成上述操作就已完成Git的基本配置,可以通过命令行创建库。


[*]创建文件夹D:Reposiotry
[*]用命令行进入Reposiotry
[*]执行git init --bare Test.git
  Test的空库创建好后,可以用我们的Source Tree获取测试。

授权

  配置好基本Git后,需要做授权设置,首先也是需要在config中加入以下内容:


[*]注意AuthUserFile后面的内容是不加引号的




AuthType Basic
AuthName “Repository”
AuthBasicProvider file
AuthUserFile C:/htpasswd/.passwd
Require valid-user


[*]在C:\Program Files\Apache Software Foundation\Apache2.2\bin中找到.passwd和htpassword,复制到C:/htpasswd/
[*]创建用户名和密码,有两种方式
[*]通过命令行行创建
[*]需要在C:\Program Files\Apache Software Foundation\Apache2.2\bin目录中,或者设置这个目录到环境变量中
[*]执行命令htpasswd -cmb htpassword abc 123456可以获得.passwd和htpassword
[*]关于更多的htpasswd 命令参考apache htpasswd命令用法详解http://suzsoft-2003:8080/OnCenter/images/out.png

[*]通过在线的工具生成
[*]HTPASSWD GENERATOR – CREATE HTPASSWDhttp://suzsoft-2003:8080/OnCenter/images/out.png
[*]把生成出来的内容考到.passwd和htpassword中


[*]重启服务器用Source Tree 测试

其他学习资源



[*]Git详解系列http://suzsoft-2003:8080/OnCenter/images/out.png 学习Git相关内容
页: [1]
查看完整版本: 用Apache配置Git服务器