Windows XP环境下搭建Git服务器

Git有四种协议传输数据:本地协议,SSH协议,Git协议和HTTP(S)协议。这四种协议各有应用场合,其中,最常用的是SSH协议,这是因为大多数环境已经支持通过SSH对服务器的访问,即便不支持,架设SSH协议也是比较容易的。而且,SSH是四种协议中唯一便于同时具有读和写功能的网络协议,这对协同开发是必要的,所以这里选择SSH协议来搭建Git服务器。

第一步:准备工具

 1.

msysgit:Windows环境下的Git,通过该工具安装Git。

2. Copssh:通过该工具在Git服务器上安装SSH协议及客户端。

第二步:安装Git和Copssh

在服务器端安装Git和Copssh。假设Git的安装目录为“C:\Git”,Copssh的安装目录为“C:\SSH”。注意在安装Copssh时,需要手动激活一个用户,假设为最高权限管理者Administrator,因为我们要使用公钥私钥方式进行认证,所以不要勾选“password authenticatin”选项。完成后,进入SSH目录,找到etc目录下的ssh_config和sshd_config文件,去除ssh_config中“# Port 22”前的#号,确认sshd_config文件中的Port也为22。同时,确保防火墙没有关闭SSH端口。

第三步:使Copssh能使用Git

经过前两步,服务器上Git和Copssh都已能正常工作,也可以通过SSH协议访问服务器了,但是还不能通过Copssh使用Git,这样还不能远程管理Git仓库。要想远程使用Git,需完成如下工作:在“C:\Git\libexec\git-core”目录下找到git.exe,git-upload-pack.exe,git-upload-archive.exe和git-receive-pack.exe四个文件,将它们复制到“C:\SSH\bin”目录下。同时,将“C:\Git\bin”目录下的“libiconv-2.dll”文件也复制到该目录下。最后,重启Copssh即可。这样,通过SSH协议连上服务器后就可以使用Git了。

第四步:配置用户环境

默认情况下,Copssh会在“C:\Documents and Settings\Administrator”目录下寻找authorized_keys文件,这是我们不希望看到的,需要配置使得authorized_keys文件位于“C:\SSH\home\Administrator\.ssh”目录下。在“C:\SSH\home\Administrator”目录下找到.bashrc文件,在“# User dependent .bashrc file”行下添加“ export HOME=/C/SSH/home/Administrator”,注意“/C/SSH”为Copssh安装目录,按照自己的情况填写。同时注意,该行前面有一个空格且斜线为Unix下的风格样式。完成修改后,将.bashrc文件复制到“C:\Documents and Settings\Administrator”目录下。

第五步:测试

打开本地Git,要想通过SSH协议与Git服务器通信,需要通过公钥私钥认证。为了检查本地是否存在公钥私钥文件对,可以通过命令“cd ~/.ssh”切换到.ssh目录查看,文件名大致为id_rsa.pub和id_rsa,前者为公钥,后者为私钥。如果不存在,则通过git命令“ssh-keygen”产生,然后将产生的公钥文件内容加入到Git服务器上的authorized_keys文件即可。

假设Git服务器上存在hello_world.git仓库,位于“C:\SSH\home\Administrator”目录下,且Git服务器IP为192.168.10.45,那么就可以在本地克隆hello_world.git仓库,命令为“git clone [email protected]:hello_world.git”,注意用户名(即:Administrator)区分大小写。

相关推荐