svn 的安装

实战SVN(windows环境)1

上一篇 / 下一篇  2007-06-10 23:29:21

*个人学习笔记,首发51testing,从world粘贴过来格式有点乱,看得要耐心点哟相关的软件、文件我上传到服务器上了,下载地址:http://www.zippo365.com/others/download.htm 

***新增:快速体验,不想进行复杂配置,先体验效果的可先看第八节:<八、快速体验> ***

 欢迎自由转载,请注明出处--快乐逍遥^-^

 、学习目标:

1、 熟悉安装过程

2、 调试通过,能基本使用

3、 建立版本库,进行服务器端管理

4、 客户端连接管理

5、 练习权限分配设置

6、 练习版本库分支、合并管理

7、 设置SSH方式访问

8、 设置APACHE

方式一:subversion基于APACHE的服务器端+ TortoiseSVN客户端

方式二:subversion基于svnserve的服务器端(占用3690端口)+ TortoiseSVN客户端

 

 、工具

*注:客户端支持的版本须与服务器端版本适配

a)        SVN服务器端:Subversion 1.4.3

b)       Windows下的SVN客户端:TortoiseSVN-1.4.3中文版

c)       OpenSSH for Windows v3.8.1p1-1PUTTY 0.59中文版

d)       APACHE 2.0X (注:Subversion现只支持APACHE 2.0x版本)

e)        PUTTYpageant

安装

*注:本笔记中所有软件都将安装于D:\SVN目录下

a)        安装SubversionD:\svn\Subversion目录

b)       安装TortoiseSVNTortoiseSVN中文语言包

简单练习:

创建版本库->本地访问管理->远程访问管理->访问权限设置

a)        使用Tortoise创建版本库:

新建目录D:\svn\SVNRepository,进入SVNRepository目录,右键->TortoiseSVN->在此建立版本库。选择存储的文件类型FSFSBDB,按确定执行,你会在D:\svn\SVNRepository文件夹下发现自动生成的文件夹和文件。(*也可以使用svnadmin命令来建立版本库)

 

 

 

b)       本地访问版本库

右键->TortoiseSVN->版本库浏览器,打开版本库浏览器窗口,输入URLfile:///D:/svn/SVNRep即可访问刚创建的版本库。

 

 

 

在版本库浏览器窗口,使用右键->创建文件夹创建版本库内部目录folder1folder2folder3

 

 

c)       启动SVN服务器

在命令行窗口输入svnserve -d -r d:\svn\svnrep启动SVN服务器。

 

 

 

打开版本库浏览器窗口,输入URLsvn://localhost访问版本库。(由于还没进行权限配置,以远程方式访问只能浏览,在下面的步骤中将会配置各用户的权限。

 

 

 

d)       配置版本库,使subversion具有基本访问权限控制。

                        i.             打开d:\svn\svnrep\conf目录,svnserve.conf

                                                     [general]

                                                    #如果设为anon-access = none,则匿名用户不可以通过svn://方式访问档案库

                                                    # anon-access = read

                                                    #如果设为anon-access = none,则匿名用户不可以通过svn://方式访问档案库

                                                    # auth-access = write

                                                    #设置密码文件为passwd

                                                    password-db = passwd

                                                    #设置权限分配文件为authz

                                                    authz-db = authz

                                                    # realm = My First Repository

                      ii.             用户帐号密码文件d:\svn\svnrep\conf\Passwd

                                                    这里设置了四个用户,BossABC

                                                    [users]

                                                    Boss = bosspass

                                                    A = apass

                                                    B = bpass

                                                    C = cpass

                     iii.             权限分配文件d:\svn\svnrep\conf\authz

                                                    设置分组group_Admin,包含用户BOSSC

                                                    folder1folder2folder3分配权限:

                                                           根目录:可匿名访问(只读)

                                                            folder1group_Admin组成员拥有读写权限,A有读权限

                                                            folder2Boss有读写权限、B有读权限

                                                            folder3Boss有读写权限、C有读写权限

                                                            *=r说明没的权限只能读

                                                    [groups]

                                                    group_Admin = Boss,C

                                                    [/]

                                                    * = r

                                                    [/folder1]

                                                    @group_Admin = rw

                                                    A = r

                                                    * =

                                                    [/folder2]

                                                    Boss = rw

                                                    B = r

                                                    * =

                                                    [/folder3]

                                                    Boss = rw

                                                    C = rw

                                                    * =

e)        重新启用svn服务

    在命令行窗口输入svnserve -d -r d:\svn\svnrep

f)        Now!打开版本库浏览器,输入svn://localhost检查各文件夹权限设置是否成功。

 

 

 

g)       使用TortoiseSVN建立工作副本…..(参考TortoiseSVN使用手册)

svn+ssh(一)安装配置OpenSSH

1、 下载最新版的OpenSSH for Windows

下载地址:http://sourceforge.net/projects/sshwindows/

 

2、 安装完后生成grouppasswd文件后就可以进行简的ssh操作了

                        i.             生成grouppasswd文件(注:参数-l为本机–d为域–u username为本地/域用户名)

                                                    cd d:\svn\openssh

                                                    mkgroup -l >> etc\group

                                                    mkpasswd -l >> etc\passwd

 

 

                      ii.             启用服务

                                                    启用停止服务命令:

                                                    启用:net start opensshd

                                                    停止:net stop opensshd

 

 

                     iii.             以上两个步骤完成后就可以SSH命令访问ssh服务器了

                                                    在命令行窗口输入ssh用户名@机器名登录服务器,我在本机登录,输入命令

                                                    ssh Administrator@localhost

                                                    使用ssh首次连接一个远程ssh服务器时,会出现类似下边的信息。

                                                    The authenticity of host '10.0.0.1' can't be established.

                                                    RSA key fingerprint is c6:d4:e7:23:03:ce:15:2c:08:ec:39:7e:52:29:a5:a6.

                                                    Are you sure you want to continue connecting (yes/no)?yes

    这是因为ssh不能识别这台主机,键入yes将会把这台服务器的信息写入/.ssh/known_hosts文件,下次连入这台远程服务器时就不会出现这类信息。

    在windows的机器上可能还会出现以下提示:Could not create directory '/home/Administrator/.ssh'.这是由于目录、、/home/Administrator/.ssh不存在造成的,在下面的设置里,将会更改/home目录位置并创建用户目录

 

3、 设置/home(根目录):

    看网上的文章介绍,在Windows 2000 and XP中,/home默认是在C:\Documents and Settings;在Windows NT 4.0中,/home默认是在C:\WINNT\Profiles,但我安装完查看注册表,/home目录的默认值却为” C:\Documents and Settings\Administrator\「开始」菜

 

 

修改注册表,把它改为D:\svn\openssh\home

 [HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions\Cygwin\mounts v2\/home]

"native"="D:\\svn\\OpenSSH\\home"

"flags"=dword:0000000a

"native"改成你自己的/home所在目录,此目录就是默认的登陆目录,比如用户名:Administrator那你进入的目录是/home/Administrator(注:更改目录后要建立对应的目录,并且用户名的目录也要创建)

为了配合上面更改,还得做一些工作:在D:\svn\OpenSSH目录上创建home目录、用户目录(以administrator用户为例)

cd D:\svn\OpenSSH

md home

md home\Administrator

md home\Administrator\.ssh

 

4、 重启服务器,检查配置后运行是否正常

 

5、 进阶:设置基于密钥认证的方式访问,上面的配置登录是使用用户名、密码方式访问,安全度较弱,如果想要更高的安全度,可以采用基于密钥的安全认证。

步骤:

                        i.             生成密钥(公、私钥):ssh-keygen命令

ssh-keygen –t rsa –N “密钥密码

                      ii.             把密钥拷贝到/home/用户名/.ssh目录下(本例子中服务器、客户端都在本地,所以公钥ids_rsa.pub、私钥ids_rsa目录相同)

本例目录:D:\svn\OpenSSH\home\Administrator\.ssh

                     iii.             服务器端设置sshd_config(D:\svn\OpenSSH\etc\sshd_config)

各配置项参数说明见附录中摘录的参考文章

我的配置文件:

Protocol 2

Port 22

HostKey /etc/ssh_host_rsa_key

PermitRootLogin no

PermitEmptyPasswords no

StrictModes no

PubkeyAuthentication yes

#指定公钥文件名id_rsa.pub

AuthorizedKeysFile .ssh/id_rsa.pub

PasswordAuthentication no

UsePrivilegeSeparation no

MaxStartups 10:30:60

 

                    iv.             客户端设置ssh_config

各配置项参数说明见附录

#设置密钥文件名

IdentityFile ~/.ssh/id_rsa

                      v.             使用基于密钥方式访问ssh服务器

命令形式-- ssh用户名@机器名登录服务器,本例中用Administrator用户登录:

ssh Administrator@micro

如果制作密钥时设置了密钥密码,会提示输入密码:

 

 

                    在弹出提示后输入密钥密码登录,登录成功后,会在命令行窗口顶部显示当前登录用户

 

 

 

6、 其他

                       i.             如何限定登录目录?google+baidu了一下,似乎windows下没有办法解决,Linux下使用chroot功能,参考http://blog.oasisware.com/post/2/21

                      ii.             StrictModes:设置ssh在接收登录请求之前是否检查用户home目录和rhosts文件的权限和所有权

 

7、 windows系统下使用OpenSSH,需要注意下面这些问题

摘自:http://boean.itpub.net/post/29005/273805

1StrictModes问题

  有时运行在windows系统上的OpenSSH服务器会无法识别登录系统使用的公钥(特别是在一些windows XP系统上),如果出现这样的问题,可以进行如下处理。

  将SSHD服务器的配置文件sshd_config中的StrictModes选项设置为关闭即可以解决这个问题。

2Windows路径问题

  在使用scpsftp以及设置passwd文件中的用户登录目录里,我们都会遇到目录问题,我们知道linux的文件系统与windows的组织结构有很大差异,由于OpenSSH的使用环境主要是在Linux下,这些地方的路径模式也用的是Linux模式。在这些地方为了访问Cygwin虚拟根以外的目录,Cygwin提供了一种目录转换机制,在

 

 

============================


基于Apache的Subversion服务器安装(windows) SVN安装备忘作者:admin 日期:2007-01-13
字体大小: 小 中 大 
        Subversion 项目的初衷是为了替换现在开源社区最为流行的版

 

 

============================

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值