Windows2008R2下安装gitosis服务器(基于cygwin)
来源:互联网 发布:java 运维管理系统 编辑:程序博客网 时间:2024/04/30 03:40
公司最近买了新的服务器,由于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权威指南》-蒋鑫
- Windows2008R2下安装gitosis服务器(基于cygwin)
- Win 7下安装 Gitosis (Windows下的 git 服务器) Cygwin
- Win7下使用Cygwin+Gitosis搭建GIT服务器
- windows2008R2下安装ipython3
- 基于gitosis管理git服务器
- 在centos 下安装配置基于gitosis 的git 服务
- 在centos 下安装配置基于gitosis 的git 服务
- 在centos 下安装配置基于gitosis 的git 服务
- 在centos 下安装配置基于gitosis 的git 服务
- 在Linux下使用gitosis配置安装Git服务器
- CentOS6.4下Git服务器Gitosis安装配置
- CentOS6.4下Git服务器Gitosis安装配置
- Git服务器Gitosis安装设置
- Git服务器Gitosis安装设置
- Git服务器Gitosis安装设置
- Git服务器Gitosis安装设置
- Git服务器Gitosis安装设置
- Git服务器Gitosis安装设置
- GIS管理者启示:新时代下的新策略
- Trie树 --- 查找,删除,搜索
- 算法及其分析简介
- Des加密(JS Edition)
- lk及其流程分析
- Windows2008R2下安装gitosis服务器(基于cygwin)
- Wireshark命令行应用
- 程序员编程艺术第三十九~四十章:最近公共祖先LCA、打印螺旋矩阵
- 黑马程序员——学习日记5——死锁和同步
- 利用归并排序思想求数组中的逆序对
- 标准字符串std::string和System::String, CString之间的转换
- Java的多线程
- 打开/查找xcode6的沙盒地目录
- CVE-2014-6271 Bash 安全漏洞 MAC OS X 10.9 修复过程