Windows2008R2下安装gitosis服务器(基于cygwin)

公司最近买了新的服务器,由于git的大趋势,公司决定将原来的tfs代码管理改为git,而且tfs只限于studio,其他的开发环境基本不适用,所以就最近研究了下git和git的权限管理。

看了《Git 权威指南》这本书,上面说了Git下权限管理有两个比较好的软件Gitosis和Gitolite,其中Gitolite是基于Gitosis开发的,功能更加强大。由于是刚刚入门,所以选择了一个功能较少的开始学习,下面是一些安装和配置的经验,分享给大家,大体上步奏分为以下几步:

(1)安装cygwin和相关软件。

(2)配置ssh服务。

(3)生成公钥和私钥。

(3)安装gitosis。

(4)使用gitosis。

下面具体说明。

1, 首先是安装cygwin,在这里可以下载cygwin的最新版本,基于操作系统的类型选择x86还是x64进行安装。

2,双击安装,出现如下页面,单击下一步安装。


3, 选择Install from Internet,单击下一步。


4, 选择安装路径,这里我们选择D:\cygwin,然后选择All User。


5,选择package的存储目录,这里我们选择D:\Tools\cygwin\package。


6,选择网络的连接方式,这里我们选择Direct Connection。


7,选择镜像下载地址,选择不同的会有不同的速度,这里我们选择了http://mirros.163.com,也可以选择自己输入URL,单击下一步。


8, 选择需要下载的软件。这里我们要安装3个软件:git、openssh和python。在Search对话框中输入对应的名字就可以找到。

(1)git是在Devel目录下。


(2)openssh在Net目录下。


(3)python在python目录下。

9,等待软件下载,安装完成。




10,安装ssh。以管理员运行cygwin的终端,首先修改/etc/passwd和/etc/group的文件权限,输入:

chmod +r/etc/passwd

chmodu+w /etc/passwd

chmod +r/etc/group

chmodu+w /etc/gourp

11,输入ssh-host-config进行sshd服务安装。

在Should privilege separation be used? (yes/no),输入yes。

在new local account 'sshd'? (yes/no),输入yes,如果装了360等杀毒软件会提示风险,这里我们选择允许。

在(Say "no" if it is already installedas a service) (yes/no) ,输入yes。

在Enter the value of CYGWIN for the daemon: [] ,输入ntsec tty。

在Do you want to use a different name? (yes/no),输入no。

在Create new privileged user account'cyg_server'? (yes/no),输入yes,在下面弹出的地方输入密码,由于我们使用的是Windows2008所以密码需要由大小写字母和数字组成。

如果出现*** Info: Host configuration finished. Havefun!字样表示安装成功了。

12,以管理员运行cmd,然后输入net start sshd,开启ssh服务。


13,配置ssh。ssh可以使用公钥和私钥认证,也可以通过密码进行登录。由于使用密码登录容易被攻击者暴力破解,所以我们这里管理禁用密码登录和root用户登录。如果使用密码登陆,在客户端输入:ssh yourname@your-server-ip,在输入密码就能够登录,如图。

14,用你喜欢的方式修改/etc/sshd_config文件,进行配置。

修改端口:

将Port 22改为Port 22386(后面这个port的值随你定)

修改禁用密码和root登录(注意去掉了前面的#号):

         #PermitRootLoginyes 改为 PermitRootLogin no

#ChallengeResponseAuthenticationyes 改为 ChallengeResponseAuthenticationno

         #PasswordAuthenticationyes 改为 PasswordAuthentication no

#UsePAMno 改为 UsePAM yes

15,修改完成后,重启sshd服务才能生效,现在发现就不能用密码远程登录。PS:如果有防火墙,记得打开端口的上下行。

16,安装python工具包,我们这里安装的是python2.7,所以要下载对应的工具包。百度搜索setuptools-0.6c11-py2.7.egg,下载工具包,将工具包拷贝到/home/Administrator下。

17,输入chmod 755 /lib/python2.7/ -R修改读写权限。

18,输入./setuptools-0.6c11-py2.7.egg安装工具包。当出现Finished processing dependenciesfor setuptools==0.6c11字样表示安装成功。

19,安装gitosis。在/home/Administrator下新建一个sources目录,进入sources目录,然后输入git clonehttps://github.com/res0nat0r/gitosis.git,进行克隆。

20,进入gitosis目录,输入python setup.py install进行安装。出现Finished processing dependenciesfor gitosis==0.2字样表示安装成功。

21,在“控制面板”中新建一个git用户,标准用户,密码自定义。

22,将git用户添加到cygwin的passwd中,输入mkpasswd -l -u git >> /etc/passwd,查看/etc/passwd下git用户是否添加上了,输入vi /etc/passwd。

23,,新建一对公钥和私钥,输入ssh-keygen –C “youname@email.com” –t rsa,注意这个公钥和私钥一定要在cygwin中新建,不然会造成无法匹配,比如说使用windows下的Git Bash下输入上面同样的命令,再将公钥放入公钥匹配库,就无法进行匹配。

24,将/home/Administrator/.ssh下的id_rsa.pub(公钥)拷贝到/tmp目录下,并输入:

                  chmod 755 /tmp/id_rsa.pub

进行读写权限的修改。

25,关闭cygwin终端,shift+右键点击cygwin桌面快捷方式“以其他用户身份运行”。

26,在该终端下输入:

gitosis-init < /tmp/id_rsa.pub

         进行gitosis的安装,如果出现如图字样,表示安装成功。

27,gitosis的使用和配置。这里客户端采用的是windows8的64位系统,安装了git。

28,将预先生成的私钥文件id_rsa文件拷贝,C:\Users\Administrator\.ssh\目录下。

29,启动Git Bash,在你喜欢的位置输入:

                   git clone ssh://git@192.168.126.254:22386/gitosis-admin.git

这样我们就可以将gitosis的权限管理仓库克隆岛本地,进行修改。

30,在gitosis-admin目录下,有一个gitosis.conf文件,打开进行编辑,添加如下语句:

         [group test]

         members = youname@email.com

         writable = test

然后保存。

31,在Git Bash下输入:

         git add .

         git commit –m “just for test”

         git push

出现以下字样表示提交成功。

32,在你喜欢的位置新建一个test目录,在里面新建一个test .txt。然后输入:

         git init

         git add .

         git remote add originssh://git@192.168.126.254:22386/test.git

         git commit –m “just for test”

         git push origin master

成功会出现以下字样。

33,现在我们可以再服务器上的D:\cygwin64\home\git\repositories目录下看到一个test.git。

34,删除[group test]下members行,这样我们就不能push到远程服务器了,至此达到了管理git仓库用户的目的。

参考文献:

实战Win7下安装Gitos http://is(Windows下的git服务器)

《Git权威指南》-蒋鑫


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是在CentOS中源码安装Gitosis的步骤: 1. 安装Git 首先,您需要安装Git。可以使用以下命令安装: ``` sudo yum install git ``` 2. 创建Git用户 接下来,您需要创建一个Git用户,它将拥有Gitosis存储库的所有权和访问权限。可以使用以下命令创建Git用户: ``` sudo useradd git ``` 3. 下载Gitosis 切换到Git用户并下载Gitosis: ``` sudo su git git clone git://github.com/tv42/gitosis.git ``` 4. 安装Gitosis 进入Gitosis目录并运行安装脚本: ``` cd gitosis sudo python setup.py install ``` 5. 初始化Gitosis 使用以下命令初始化Gitosis: ``` sudo -H -u git gitosis-init < /path/to/admin/public/key ``` 其中,/path/to/admin/public/key是管理员的公钥路径。 您将被要求输入管理员密码,然后Gitosis将在/home/git/repositories目录下创建一个配置存储库。 6. 添加存储库和用户 您可以使用Gitosis管理员公钥克隆配置存储库。在此存储库中,您可以添加存储库和用户。例如: ``` git clone git@your_server:gitosis-admin.git ``` 然后,您可以编辑gitosis.conf文件并添加存储库和用户。例如: ``` [group test] members = user1@example.com user2@example.com writable = testrepo [repo testrepo] owner = user1@example.com ``` 在此示例中,test组包含两个成员:user1@example.com和user2@example.com。该组具有对testrepo存储库的写访问权限,并且user1@example.com是该存储库的所有者。 7. 提交更改并推送到Gitosis服务器 在完成更改后,您需要将它们提交并推送到Gitosis服务器。例如: ``` git add . git commit -m "Added testrepo and user1@example.com" git push origin master ``` 这样,您就可以在CentOS中通过源码安装Gitosis了。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值