SVN服务端安装与配置

我用的SVN服务端是SubVersion,版本:Setup-Subversion-1.6.6.msi,在我查资料的时候,发现有一个配置方法比较简单的SVN服务端VisualSVN Server,详细搭建方法请点击:SVN 版本服务器搭配全过程详解(含服务端、客户端),这个留在以后再尝试吧,毕竟SubVersion的搭建确实有些麻烦。

关于SubVersion的搭建,这里就简单总结一下。其实比较复杂的只是与apache的结合。

1,安装Subversion,TortoiseSVN:

Subversion的下载地址:http://subversion.tigris.org/

TortoiseSVN的下载地址如下:http://tortoisesvn.tigris.org

逐个安装,没什么好说的。

2,安装apache

我安装的是apache2.2版本,这里要特别说明一下,用集成的xampp开发包里面的apache配置SVN问题比较多,建议另外安装.单独安装apache可能会导致原来的xampp开发包不可用,apache+php+mysql的搭建方法可以参考《安装配置apache+php+mysql小结》

3,Subversion和apache结合:

安装好apache后,进入SubVersion的安装目录,在bin目录下,选中mod_authz_svn.so与mod_dav_svn.so两个文件,选择拷贝 进入Apache的安装目录modules目录下,回到Apache安装目录的conf目录,打开httpd.conf文件,找到

LoadModule dav_module modules/mod_dav.so
LoadModule dav_fs_module modules/mod_dav_fs.so

去掉签名的#注释。在<IfModule !mpm_netware_module>的前面,#LoadModule vhost_alias_module modules/mod_vhost_alias.so(大概127行)的后面添加:

 

LoadModule dav_svn_module modules/mod_dav_svn.so 
LoadModule authz_svn_module modules/mod_authz_svn.so

 

表示将我们之前拷贝的模块导入到Apache中,转到该文件的最后,增加如下内容:

<Location /svn>
DAV svn 
SVNPath D:/svn/lianyu      
AuthType Basic
AuthName "Subversion Repository" 
AuthUserFile D:/svn/passwd/passwords
Require valid-user
</Location>

该语句块的作用是将svn的服务器目录映射到访问Apache的虚拟路径svn,就好象我们在配置 Tomcat时,增加一个Context一样。即用户访问/svn地址时,Apache会自动将该请求转到E:\svn\repository目录下。

0,SVNPath D:/svn/lianyu   :仓库的路径。

1. AuthType表示验证类型,这里我们采用BASIC即基本方式,也是最常用的验证方式。

2. AuthName表示出现登录对话框时,窗口的标题名。

3. AuthUserFile表示用户登录信息的存放文件,这里我们将该文件保存为E:/passwd/passwords,目前该文件还不存在,不过不要着急,我们稍后就会创建该文件。

4. Require valid-user 表示只有认证的用户才能访问,否则匿名用户也可以访问。

4,创建用户权限:

在前面的配置中,我们知道我们将把存放用户名与密码的文件放在E:/passwd/passwords,即E盘passwd目录下的passwords文件中。那么首先我们需要在E盘根目录下创建名字叫passwd的文件夹。

用命令行的方法创建密码:htpasswd –c E:/passwd/passwords hello

我们看到该命令已经成功执行,其中参数-c的作用就是create,即创建一个新文件,因为在这之前passwords文件还并不存在,所以我们需要首先创建它。而后面的文件路径就表示创建文件的位置以及文件名,这里叫passwords,要注意的是其父目录passwd一定要事先创建好,否则htpasswd命令会报错。最后的hello表示我们将要创建一个用户名为hello的用户。 接下来的提示要求输入hello用户的密码,其中密码默认使用MD5方式加密。 我们在这里输入world作为密码,并再确定一次。密码创建成功。

重启一次apache,整个SVN服务端就算是搭建好了。

整个SVN的搭建,还有很多其他的高级应用,可以参考风中叶的书籍《深入浅出系列之二_SubVersion》,由于文件比较大,所有没法上传,大家可以到百度上搜一下。


参考资料:

《深入浅出系列之二_SubVersion》作者:风中叶(此书写得很详细,所以我就不多说了)

 

BY 橡树小屋 from http://www.cnblogs.com/babyzone2004/

SVN服务端安装与配置

本文地址:http://www.cnblogs.com/babyzone2004/archive/2010/08/07/1794594.html

Subversion

转载于:https://www.cnblogs.com/babyzone2004/archive/2010/08/07/1794594.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
1、 到svn官方网站http://subversion.trigris.org/下载服务安装svn-win32-1.6.1.zip,将该压缩包解压到D:\subversion目录下,出现D:\subversion\bin。建立D:\svn,在命令行该目录(D:\subversion\bin\)下输入svnadmin create D:/svn/repos1,如果创建成功,D:\svn下将会多一个repos1目录。 2、 让svnservice服务随Windows系统一起启动,在命令行下输入:sc create svnservice binPath= "\"D:\subversion\bin\svnserve.exe\" --service -r D:\svn" start= auto 3、 权限配置: 在进行权限配置前,所有的用户都能进行任何操作,在很多情况下是不允许的。在创建仓库时,仓库目录(如:D:\svn\repos1)下都会生成好几个文件夹,其中conf里面存储的是配置信息,包括三个文件: authz:访问权限配置 passwd:用户名和密码配置 svnserve.conf:基本配置信息 ⑴先配置svnserve.conf,将里面几项配置前的注释去掉,最后的内容如下: [general] #anon-access = read #auth-access = write password-db = passwd authz-db = authz 这些参数的含义文件里都有详细说明,其中,anon-access和auth-access分别是对匿名用户以及认证用户的访问控制,password- db指明用户密码文件路径,authz-db指明权限配置文件路径。另外还有一个参数realm用于指明仓库所属的认证域,默认情况下每个仓库位于不同的域(每个仓库有一个唯一的uuid),因此我们可以不设置该项,除非多个仓库需要共用同一份passwd配置。 ⑵passwd文件的配置很简单,格式如下(等号前面为用户名,后面为密码): [users] #harry = 123 #sally = 123 sunxiaoyong = 11111111[A1] ⑶authz则可以创建用户组并精确配置某个用户或用户组对某个文件或目录的访问权限,下面是一个例子: [groups] #harry_and_sally = harry,sally [/] sunxiaoyong = rw * = r[A2] #[/project1] #* = #harry = rw #sally = r #[/project1/foo] #sally = #[/project2] #@harry_and_sally = rw #guest = r 文件内容其实很简单易懂,groups用于定义用户组,后面便是对资源的具体访问控制,/表示仓库根目录,*表示所有用户,用户组前面需加上@符号,r表示可读,w表示可写,等号右边为空则表示没有权限。注意对于目录结构,当用户访问某个资源时,SVN会先看有没有直接针对该资源的访问控制,如果没有找到,则会继承上一级目录的访问权限,如此递推。 补充再提一点,当我们有多个仓库时,我们会发现这些仓库的用户帐号在大多数情况下都是相同的,因此,我们可以将passwd文件放到公共的地方,然后将所有仓库的password-db配置都指向该文件。相应的,authz-db也可以共用一个文件,不过需要在配置具体的访问控制时指明所属的仓库,如下: [/] * = r [repos1:/project1] * = r harry = rw [repos2:/project1] * = r sally = rw 上述配置表明,所有人对所有仓库的根目录都有读权限,但只有harry对仓库repos1里的project1有读写权限,只有sally对仓库repos2里的project1有读写权限。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值