- 浏览: 40211 次
- 性别:
- 来自: 北京
文章分类
最新评论
在公司一直使用 SVN 作版本控制,不过 SVN 的 branch 是在过于灵活。我们所希望的只是一种简单的分支系统:各个分支能够完全独立开来,不会牵扯到复杂的 merge 操作。因此,决定搭建一个 Git 服务器。由于目前没有合适的 Linux 服务器,因此只能尝试在 Windows 上搭建。
在 Windows 上搭建 Git 服务器一般使用 SSL + putty + msysGit 完成。不过按照网上的做法始终不能成功。所以开始选择另外的一种搭建方法:基于 Apache 服务器搭建 Git 服务器。这样做的好处是免除了 SSH 在 Windows 上的配置,同时可以使用 HTTP(S) 协议访问版本库。经过一番尝试,终于实现了在 Windows 上搭建好 Apache + Git 服务器,现在将搭建方法记录于此。
第一步:安装 Git
由于 Git 官方没有提供 Windows 上的安装程序,我们只能使用第三方实现。好在还是有不错的选择,而且其实现也算是比较完美。我选择的是 msysGit,你可以从这里下载到最新版本。在本文写作时,最新版本是 1.7.6。下载完成后直接双击安装就可以。这里需要注意的是,网上有些文章声称,需要在安装时选择 Run git from the Windows Command prompt。对此持保留意见,因为不选择这一项也是可以的。不过为了谨慎起见,还是选择此项为好。
安装完毕后,开始菜单会多出 Git 一项,里面有 Git GUI 和 Git Bash,前者是图形界面,后者是命令行界面。msysGit 默认的安装路径是 C:\Program Files\Git。下面我们可以进入 C:\Program Files\Git\libexec\git-core 目录,双击运行 git-http-backend.exe 程序。这个程序的作用就是处理 HTTP 请求。不过,此时你应该得到一个错误:
这个错误是说缺少 libiconv-2.dll。该文件位于 C:\Program Files\Git\bin。我们可以将其从这里复制到 C:\Program Files\Git\libexec\git-core 即可。
第二步:安装 Apache 服务器
下一步,你应该安装 Apache 服务器。从这里可以找到安装文件(包含 OpenSSL)。本文写作时最新稳定版本是 2.2.21。正常安装之后,Apache 会自动启动,并且占据 80 端口。你可以根据需要修改监听端口。然后我们打开浏览器,进入 http://localhost。如果浏览器页面显示 It works! 说明我们的服务器已经正确安装,那么就可以进行下一步操作了。
第三步:配置 Apache 服务器
现在,我们的 Git 和 Apache 都已经安装成功,下面就是配置 Apache 服务器。
进入 Apache 安装目录下的 conf 目录,用记事本打开 httpd.conf 文件。首先,找到 <directory />,修改如下:
<directory />
Options FollowSymLinks
AllowOverride None
Order deny,allow
Allow from all
</directory>
然后在 httpd.conf 文件末尾追加:
# Set this to the root folder containing your Git repositories.
# 指定 Git 版本库的位置
SetEnv GIT_PROJECT_ROOT C:/workspace
# Set this to export all projects by default (by default,
# git will only publish those repositories that contain a
# file named “git-daemon-export-ok”
# 该目录下的所有版本库都可以透过 HTTP(S) 的方式存取
SetEnv GIT_HTTP_EXPORT_ALL
# Route specific URLS matching this regular expression to the git http server.
# 令 Apache 把 Git 相关 URL 导向给 Git 的 http 处理程序
ScriptAliasMatch \
“(?x)^/(.*/(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))$” \
“C:/Program Files/Git/libexec/git-core/git-http-backend.exe/$1″
<Location />
AuthType Basic
AuthName “GIT Repository”
AuthUserFile “C:/Program Files/Git/htpasswd”
Require valid-user
</Location>
上面修改内容中,第一个指令设置 Git 的版本库位置;第二个指令表示,该目录下的所有版本库都可以通过 HTTP(S) 的方式存取;第三个指令则是让 Apache 把 Git 相关 URL 导向给 Git 的 HTTP 处理程序,也就是我们前面提到的 git-http-backend.exe。最后的 <Location /> 区段设定了虚拟根路径 “/” 的验证规则;C:/Program Files/Git/htpasswd 是账号密码文件,该文件可以在任何位置,也可以使任何名字,只要在这里指定即可。
完成上述修改之后,重启 Apache 服务。
如果你希望将来透过远端存取版本库时,一律使用 http://my-server/git/* 开头的 URL,则可将 ScriptAliasMatch 指令改为 “(?x)^/git/(.*/(HEAD | \ …….”
第四步:添加用户
下面,我们将向 htpassword 文件添加用户名和密码。这样,在我们提交版本是,Apache 服务器就可以根据这里我们指定的用户名和密码判断是否具有权限。
添加用户名和密码的操作应该使用 Apache 提供的 htpasswd 命令。使用命令提示符来到 Apache 安装目录下的 bin,输入命令:
htpasswd -cmb htpassword abc 123456
该命令执行后,会在当前目录下生成一个名为 htpassword 的文件,用户名为 abc,密码为 123456(加密的)。
htpasswd 命令还可以追加用户、修改用户密码、删除用户等,具体操作请查阅 htpasswd 使用手册。
第五步:测试
这里我们要建立一个测试库,以便查看我们的服务器是否能够正常运行。
我们使用 Git Bash,来到 C:/workspace 目录,运行如下命令:
git init –bare myapp.git
此时,会在 workspace 目录下建立一个空的版本库 myapp.git。然后我们运行
git clone http://localhost/myapp.git
此时,Git 会要求我们提供用户名和密码,之后就可以正常 clone。然后尝试修改文件,运行一下
git push origin master
在提供用户名和密码之后即可成功提交。
如果上面的命令都可以正常进行,则说明我们的服务器基本已经搭建完成。
在 Windows 上搭建 Git 服务器一般使用 SSL + putty + msysGit 完成。不过按照网上的做法始终不能成功。所以开始选择另外的一种搭建方法:基于 Apache 服务器搭建 Git 服务器。这样做的好处是免除了 SSH 在 Windows 上的配置,同时可以使用 HTTP(S) 协议访问版本库。经过一番尝试,终于实现了在 Windows 上搭建好 Apache + Git 服务器,现在将搭建方法记录于此。
第一步:安装 Git
由于 Git 官方没有提供 Windows 上的安装程序,我们只能使用第三方实现。好在还是有不错的选择,而且其实现也算是比较完美。我选择的是 msysGit,你可以从这里下载到最新版本。在本文写作时,最新版本是 1.7.6。下载完成后直接双击安装就可以。这里需要注意的是,网上有些文章声称,需要在安装时选择 Run git from the Windows Command prompt。对此持保留意见,因为不选择这一项也是可以的。不过为了谨慎起见,还是选择此项为好。
安装完毕后,开始菜单会多出 Git 一项,里面有 Git GUI 和 Git Bash,前者是图形界面,后者是命令行界面。msysGit 默认的安装路径是 C:\Program Files\Git。下面我们可以进入 C:\Program Files\Git\libexec\git-core 目录,双击运行 git-http-backend.exe 程序。这个程序的作用就是处理 HTTP 请求。不过,此时你应该得到一个错误:
这个错误是说缺少 libiconv-2.dll。该文件位于 C:\Program Files\Git\bin。我们可以将其从这里复制到 C:\Program Files\Git\libexec\git-core 即可。
第二步:安装 Apache 服务器
下一步,你应该安装 Apache 服务器。从这里可以找到安装文件(包含 OpenSSL)。本文写作时最新稳定版本是 2.2.21。正常安装之后,Apache 会自动启动,并且占据 80 端口。你可以根据需要修改监听端口。然后我们打开浏览器,进入 http://localhost。如果浏览器页面显示 It works! 说明我们的服务器已经正确安装,那么就可以进行下一步操作了。
第三步:配置 Apache 服务器
现在,我们的 Git 和 Apache 都已经安装成功,下面就是配置 Apache 服务器。
进入 Apache 安装目录下的 conf 目录,用记事本打开 httpd.conf 文件。首先,找到 <directory />,修改如下:
<directory />
Options FollowSymLinks
AllowOverride None
Order deny,allow
Allow from all
</directory>
然后在 httpd.conf 文件末尾追加:
# Set this to the root folder containing your Git repositories.
# 指定 Git 版本库的位置
SetEnv GIT_PROJECT_ROOT C:/workspace
# Set this to export all projects by default (by default,
# git will only publish those repositories that contain a
# file named “git-daemon-export-ok”
# 该目录下的所有版本库都可以透过 HTTP(S) 的方式存取
SetEnv GIT_HTTP_EXPORT_ALL
# Route specific URLS matching this regular expression to the git http server.
# 令 Apache 把 Git 相关 URL 导向给 Git 的 http 处理程序
ScriptAliasMatch \
“(?x)^/(.*/(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))$” \
“C:/Program Files/Git/libexec/git-core/git-http-backend.exe/$1″
<Location />
AuthType Basic
AuthName “GIT Repository”
AuthUserFile “C:/Program Files/Git/htpasswd”
Require valid-user
</Location>
上面修改内容中,第一个指令设置 Git 的版本库位置;第二个指令表示,该目录下的所有版本库都可以通过 HTTP(S) 的方式存取;第三个指令则是让 Apache 把 Git 相关 URL 导向给 Git 的 HTTP 处理程序,也就是我们前面提到的 git-http-backend.exe。最后的 <Location /> 区段设定了虚拟根路径 “/” 的验证规则;C:/Program Files/Git/htpasswd 是账号密码文件,该文件可以在任何位置,也可以使任何名字,只要在这里指定即可。
完成上述修改之后,重启 Apache 服务。
如果你希望将来透过远端存取版本库时,一律使用 http://my-server/git/* 开头的 URL,则可将 ScriptAliasMatch 指令改为 “(?x)^/git/(.*/(HEAD | \ …….”
第四步:添加用户
下面,我们将向 htpassword 文件添加用户名和密码。这样,在我们提交版本是,Apache 服务器就可以根据这里我们指定的用户名和密码判断是否具有权限。
添加用户名和密码的操作应该使用 Apache 提供的 htpasswd 命令。使用命令提示符来到 Apache 安装目录下的 bin,输入命令:
htpasswd -cmb htpassword abc 123456
该命令执行后,会在当前目录下生成一个名为 htpassword 的文件,用户名为 abc,密码为 123456(加密的)。
htpasswd 命令还可以追加用户、修改用户密码、删除用户等,具体操作请查阅 htpasswd 使用手册。
第五步:测试
这里我们要建立一个测试库,以便查看我们的服务器是否能够正常运行。
我们使用 Git Bash,来到 C:/workspace 目录,运行如下命令:
git init –bare myapp.git
此时,会在 workspace 目录下建立一个空的版本库 myapp.git。然后我们运行
git clone http://localhost/myapp.git
此时,Git 会要求我们提供用户名和密码,之后就可以正常 clone。然后尝试修改文件,运行一下
git push origin master
在提供用户名和密码之后即可成功提交。
如果上面的命令都可以正常进行,则说明我们的服务器基本已经搭建完成。
发表评论
-
王码五笔98版字根表
2013-03-05 16:10 0http://f.hiphotos.baidu.com/z ... -
房——税_秘书_志愿军
2013-03-04 16:10 0=== 据 负伤、阵亡、病故、失踪、被俘,共978122人,占 ... -
净土宗
2013-02-28 13:27 0(汉语读音释迦牟尼shì jiā móu ní,牟为多音字,在 ... -
(转)[链家_房] 放假_2013年2月7日(四)至2013年2月18日共放假12天。
2013-01-29 17:21 02013年2月7日至2013年2月18 ... -
(转) SVG 北京市环境保护监测中心_网站用SVG显示PM2.5
2013-01-29 15:53 0http://www.bjmemc.com.cn/ 显 ... -
(转)开发语言QT, 什么语言开发
2013-01-28 13:06 0悄悄的告诉楼主,Skype是用Qt开发的,Goolge Ear ... -
(转)旅馆_北京齐鲁饭店_蒙养园_
2013-01-25 12:51 0北京齐鲁饭店 北京齐鲁饭店 北京 西城区 地安门西大街103 ... -
(转)Chrome下强制http重定向到https的方法(google)
2013-01-24 13:50 0======== https://linost.com/ pr ... -
(转)鱼跃制氧机 8F-3
2013-01-28 23:41 535鱼跃制氧机 8f-3 2900 yuan -
(转) 书法笔顺 _ Word 2007_书法字帖_停止保护_密码
2013-01-23 20:27 0=============钢笔 派克51 凌美狩猎、写乐21K ... -
(转)兰亭序_永和九年
2013-01-22 15:11 0原文 怀禅微刻 ... -
(转) 网站统计_2_名词
2013-02-25 08:06 763============= Alexa 统计 ... -
(转) (网站统计)网站页面浏览数量统计指标真实意义的讨论
2013-01-22 08:48 0网站页面浏览数量统计指标真实意义的讨论 (www.mark ... -
(转) 网站统计 谷歌页面嵌入一个1像素的图片
2013-01-21 15:28 0但是在Google Analytics的Content统计中 ... -
(转) GIT WindowsXP下搭建Git服务器_4
2013-02-25 08:04 603WindowsXP下搭建Git服务器 ... -
(转) GIT 基于GitStack搭建Git核心服务器_3
2013-02-25 08:04 1118最简单的windows平台Git服务器---Gi ... -
(转)GIT 搭建 Windows上的Git服务器_2
2013-01-21 13:22 0目前在windows平台上的git服务器大多数采用CopSSH ... -
川琥宁
2013-01-21 08:44 0川琥宁.... -
(转) [GIT] Eclipse下设置github开发环境
2013-02-25 08:03 958=================== Eclipse上GI ... -
(转) [GIT] Windows 安装GIT,使用 Github 手记
2013-03-05 16:07 1375================ Windows下Git ...
相关推荐
下面我们将详细探讨如何在公司内部搭建git服务器,并通过提供的文档和资源来深入理解git的相关知识。 首先,我们需要了解git的基本概念。Git是一款分布式版本控制系统,由Linux之父Linus Torvalds开发,用于管理...
### Git服务器搭建 1. **安装Git服务器**:在服务器上安装Git,通常使用`sudo apt-get install git`(Ubuntu/Debian)或`yum install git`(CentOS/RHEL)。 2. **初始化仓库**:在服务器上选择合适的位置创建空仓库...
要搭建Windows上的本地SVN服务器,我们主要会使用Apache HTTP Server作为Web服务器,并安装Subversion作为后端服务。以下是详细步骤: 1. **安装Subversion**: 首先,我们需要下载并安装Subversion。提供的文件...
### 搭建Git服务器方法详解 随着版本控制系统在软件开发中的广泛应用,Git因其高效、灵活的特点成为首选工具之一。本文旨在为初学者提供一份全面的指南,介绍如何在CentOS 6.5环境下搭建一个基于HTTP基本认证的Git...
在Eclipse中新建一个Java项目,并将其分享到Git服务器上。 2. **建立本地Git仓库** 通过Eclipse的Source Control功能将项目添加到本地的Git仓库中。 3. **提交更改** 对项目进行修改后,通过Eclipse中的Git...
近在学Linux,终于在Linux上用Apache搭建起了Git服务器,在此记录一下。 服务器:阿里云服务器 Linux版本:CentOS 6.5 Apache版本:Apache/2.2.15 Git版本:git 1.7.1 Git访问方式:基于http的基本...
在Windows平台上搭建OpenACS测试环境是一项技术性较强的工作,OpenACS是一个开源的网络应用程序开发框架,主要用于构建社区、教育和协作应用。以下是一份详细的步骤指南,帮助你完成这一过程。 1. **环境准备** - ...
### 基于WebDAV在Tomcat中搭建Git私有服务器 在现代软件开发过程中,版本控制系统(Version Control System, VCS)是必不可少的一部分,其中Git作为最流行的分布式版本控制工具之一,被广泛应用于各类项目中。对于...
搭建基于HTTP协议的Git服务器是将Git仓库与Web服务器相结合,允许用户通过HTTP协议来克隆、推送和拉取代码。在这个过程中,我们将使用Apache作为Web服务器,Git作为版本控制系统,Gitweb作为Web接口,而身份验证则...
搭建基于HTTP协议的Git服务器是将Git仓库托管在服务器上并允许通过HTTP协议进行操作的过程。这个过程在很多情况下适用于不支持SSH协议或者为了安全性和管理便利性而选择HTTP方式的场景。以下是对该文档中描述的步骤...
本教程将详述如何在Ubuntu系统上搭建Git服务器,包括安装与配置多个组件,如X11VNC远程管理、OpenSSH服务器、Git守护进程(Git Daemon)、Gitweb以及Java。 首先,我们需要【安装Ubuntu系统】,这是一个基于Debian...
#### 一、对外GIT服务器搭建 对外GIT服务器的搭建主要涉及以下步骤: 1. **选择并配置Git与Gerrit**: - **Git与Gerrit版本**: 选用Git结合Gerrit 2.16.7进行配置。 - **访问地址**: 通过`...
3. IIS:Windows操作系统内置的Web服务器,适用于Windows环境。 4. Python的http.server模块:对于快速测试和小型项目,Python自带的http.server模块是一个简便的选择。 三、简单搭建Web服务器的步骤 1. 安装Web...
本文主要介绍在内网环境...通过这些步骤,可以成功搭建一个支持基本HTTP验证的内网Git服务器,为公司内部的开发人员提供代码托管服务。注意在实际操作中,所有的配置文件修改都需要谨慎处理,以确保系统的安全与稳定。
例如,通过集成Git,开发者可以轻松地管理代码版本,同时在Apache服务器上实时预览更改。 总的来说,Apache本地服务器软件为开发者提供了一个强大且灵活的平台,用于测试和调试网站。其开源特性、丰富的模块支持...
在 Git 实战中,了解如何在服务器上搭建 Git 服务是非常重要的一步。这通常包括以下步骤: 1. 安装 Git:在服务器上安装 Git 环境,确保所有必要的依赖都已就绪。 2. 配置 Git 用户:创建一个专门用于 Git 服务的...
3. **搭建Git服务器** 首先,确保已安装`open-ssh-server`和`openssh-client`。然后,切换到超级用户,使用`ssh-keygen -t rsa`生成SSH密钥对,存储在`~/.ssh`目录下。无需为密钥设置密码,只需一路回车即可。这样...
接下来,我们可以使用git进行版本控制,jenkins进行持续集成,而tomcat作为应用服务器部署我们的Web应用程序。这个集成环境有助于团队高效协作,确保代码质量和稳定性。在实际工作中,根据项目需求,可能还需要配置...
在开始搭建前,你需要一台运行 Linux 操作系统的服务器(例如 Ubuntu 或 CentOS),并确保该服务器已安装了 Git 和 Java 运行环境。Java 是 Gerrit 运行所必需的,而 Git 则用于仓库管理和版本控制。 三、安装 ...
以下是详细步骤,帮助你理解如何在Windows 2003上搭建SVN服务器。 **安装Apache服务器** 首先,你需要一个Web服务器来托管SVN服务。Apache是最常用的Web服务器之一,它支持SVN通过其模块mod_dav_svn。下载并安装...