Win2012配置Git服务器

重复的轮子也是分好坏

最近朋友买了一台win服务器,准备抛弃svn用git,这个工作就交给我了。网络有一大堆关于在win服务器上配置git服务器的教程,但是如果仅仅靠某一篇,我都没成功过,综合了几篇文章才捣鼓完成。所以虽然是重复造轮子,那应该也是一个好轮子。git是什么相信不用多言。win上配置git一般配置是 Git+Copssh。下面一步一步详细记录

软硬件需求

0.服务器 – Windows server 2012 – 64bit
1.客户端 – Windows 10 – 64bit
2.服务器 – Copssh_4.1.0_Installer(注意,不保证无马)
3.服务器 – Git 1.8(官网,保证无马)
4.客户端 – Cygwin(官网,保证无马)

鉴于Xcode的挂马事件,下载这类软件的时候请大家多找几个链接,找到靠谱的才下。当然如果是局域网服务器 可以无视这句话。

创建单独的Git用户

进入你的服务器(通过客户端本地的附件 – 远程桌面连接),然后增加一个专门的用户给Git使用,这里设置为GitAdmin,如图所示,
请记住用户名和密码,等下需要用

安装软件

客户端 Cygwin – 客户端里安装Cygwin不用多言,安装的时候,记得勾选git就可以。
服务器 Git – 服务器的Git安装也非常简单,记住选择一个没空格的路径安装最好,例如我的 D:/git.
服务器 Copssh – 服务器的ssh工具安装,安装目录记住选择一个没空格的最好,例如我的 D:/Copssh,其他一路默认。

到现在你应该已经安装完毕三个软件了。除了自己创建一个安装路径之外 其他都是一路默认 这个应该没有难度的。下面说说Copssh的配置,如下系列图:

在服务器中,打开所有应用然后找到COPSSH Control Panel,打开之,切换到Users页签,点击Add

一路默认

到这里选中刚刚创建的服务器用户GitAdmin,然后一路默认。


到这里先暂停,打开服务器的任务管理器,然后切换到服务页签,找到服务名为OpenSSHServer的服务,然后右键,点击打开服务。

这个时候应该打开了服务器的服务功能页面,同样找到服务名字为Openssh SSHD的服务,然后右键打开属性,如下图操作,这个时候本文开始创建的用户名和密码就可以用上了。

设置完毕之后,回来服务功能页面这里,右键点击启动。如果没有意外,这个服务状态应该显示为启动的,如果弹窗提示错误,或者弹出任何无法启动的信息,请检查CopSSH是否正确安装,用户名是否正确,可通过重设用户名字和密码 重装Copssh来继续这步操作。

如果上一步操作成功,返回任务管理器,看到的服务状态应该是正在运行,看到的COPSSH Control Panel页面的图标 应该是绿色的。如果不是,请检查每一步操作是否正确。

到这里,服务器两个软件就安装并运行完毕,下面需要把git的几个文件复制到Copssh安装目录下:

git\libexec\git-core\git-upload-pack.exe 复制到 \Copssh\ICW\bin
git\libexec\git-core\git.exe 复制到 \Copssh\ICW\bin
git\libexec\git-core\git-receive-pack.exe 复制到 \Copssh\ICW\bin
git\libexec\git-core\git-upload-archive.exe 复制到 \Copssh\ICW\bin
git\bin\libiconv-2.dll 复制到 \Copssh\ICW\bin
// 注意路径为安装时候设置的,如果你没按照开始的设置,请到C:\Program Files/或类似的文件夹下找。

cygwin 登陆 ssh 测试是否成功

到现在可以切换会本地客户端,测试是否可以ssh登陆服务器了。打开客户端安装的Cygwin工具,命令如下:

ssh GitAdmin@xxxxx // 注意 xxxxx 是你服务器的ip地址

如果提示让你输入密码,则输入之前设置的GitAdmin的密码,如果输入密码后 显示如下图 ,那代表ssh远程登陆配置完毕!如果不是,那请根据提示的信息 寻找解决方式。一般要检查下是否开启了22端口,还有其他防火墙是否阻碍。

cygwin git 远程创建创库

ssh配置成功之后,按照上面的步骤在客户端登陆服务器。然后如下命令创建Git仓库:

// 确保在Cygwin登陆使用ssh登陆成功的状态下 输入。
mkdir TestGit
cd TestGit
git init --bare

如果出现如图所示,则代表成功了。

然后,输入exit 退出登录,在客户端本地使用Cygwin 尝试克隆刚刚创建的Git仓库,如果如图所示,则完全成功了。

命令如下

// 注意 xxxxx 是你服务器的IP
git clone GitAdmin@xxxxx:TestGit
// 然后输入GitAdmin的密码(看吧 开头设置的GitAdmin的密码 要用到很多次的)

发表评论

电子邮件地址不会被公开。 必填项已用*标注