zoukankan      html  css  js  c++  java
  • Windows下搭建和配置Subversion服务器

    1、软件下载

    下载Subversion服务器程序。

    http://subversion.tigris.org/ 的下载二进制安装文件,Windows部分下载,http://www.collab.net/downloads/subversion/
    我下载的是CollabNetSubversion-server-1.5.4-1.win32.exe。

    2、服务器和客户端安装

    Subversion1.5版本的安装包自带了Apache2.2.8,所以无需额外安装Apache服务器。

    一路默认安装,如果需要修改仓库根目录或者Apache2.2.8端口可以自行修改为自己的信息,Apache默认端口为80,Subversion默认仓库存储路径为C:svn_repository可自由设定仓库存储路径(E:\svn_repository)。
    安装的过程中会自动将Subversion和Apache注册成服务,安装完成后重启一下电脑,运行services.msc查看服务,可以看到 “Apache2.2”和“Subversion Server”两个服务已经自动启动,如果不想让他们自动启动,可以修改为手动启动。

    3、建立版本库(Repository)

    数据存储格式:Berkeley DB 和FSFS。
    运行Subversion服务器需要首先要建立一个版本库(Repository),可以看作服务器上存放数据的数据库,在安装了Subversion服务器之后,可以直接运行,如:
    svnadmin create E:\svn_repository\svndemo
    (默认的数据存储方式FSFS,也可以通过--fs-type参数明确地制定文件系统类型,可选的值包括fsfs和dbd)。
    就会在目录E:\svndemo\repository下创建一个版本库。
    我们也可以使用TortoiseSVN图形化的完成这一步:

    在目录E:\svndemo\repository下"右键->TortoiseSVN->Create Repository here...“, 然后可以选择版本库模式, 这里使用默认即可, 然后就创建了一系列目录和文件。
    4,配置用户和权限

    配置subversion

    修改E:\svndemo\repository\conf目录下的文件svnserve.conf:

    #没通过验证,则无任何权限
    #anon-access = none
    #通过验证,最多可获得写权限
    #auth-access = write
    #验证文件的位置
    #password-db = passwd
    #权限配置文件的位置
    #authz-db = authz

    去除行开头的注释关键字,并设置为:

    anon-access = none
    auth-access = write
    password-db = passwd
    authz-db = authz

    创建权限策略文件authz:(在svnserver.conf同目录下有authz文件,修改anthz)

    [groups]

    admin = admin,root

    #关键字“@”代表组

    [svndemo:/]

    @admin = r

    guest = rw
    [/svndemo:/Trunk]
    @admin = r

    如果使用svn://localhost/方式连接版本库,则设置如下内容:
    然后修改同目录的passwd文件,去掉下面三行的注释:
    # [users]
    # harry = harryssecret
    # sally = sallyssecret
    最后变成:
    [users]
    harry = harryssecret
    sally = sallyssecret
    在passwd文件中,“=”前的字符就是用户名,后面的就是密码。还要注意“[users]”前面的注释“#”一定要删除掉

    如果使用http://localhost/svn/svndemo方式连接版本库,则设置如下内容:

    用apache htpasswd 建立用户密码文件,并添加用户密码到密码文件中:

    首次创建一个新的认证文件并在其中添加一条用户aa的记录,密码将被提示输入。

    htpasswd -c E:\svn_repository\svndemo\.htpasswd aa

    (在E:\svn_repository\svndemo目录下会生成一个.htpasswd文件,存放用户aa和aa的密码)
    添加或修改用户aa的密码。密码将被提示输入。在Windows平台上,密码将使用Apache修改过的MD5算法进行加密;在其它平台上将使用crypt()进行加密。如果指定的文件不存在,htpasswd将只返回一个错误代码,而不做其它任何事:

    htpasswd E:\svn_repository\svndemo\.htpasswd aa

    在Apache/conf/httpd.conf中注册Subversion浏览库和权限控制moudle:

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

    注意:mod_dav_fs.so 和mod_dav.so必须被打开(去掉开头的注释关键字“#”),且必须在mod_dav_svn.so
    和mod_authz_svn.so之前

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

    在Apache/conf/httpd.conf中添加Location:

    #表示访问配置库的url为:http://xxx.xxx.xxx/SVN

    <Location /svn>

    #告诉Apache哪个模块负责服务像那样的URL

    DAV svn

    #配置库路径:

    SVNParentPath E:\svn_repository

    #启用基本的验证,用户名/密码验证

    AuthType Basic

    #当一个验证对话框弹出时,告诉用户这个验证是用来做什么的

    AuthName "svn repos"

    #身份验证文件的路径

    AuthUserFile E:\svn_repository\svndemo\.htpasswd

    #指定authz来限定各个用户或组在版本库中目录的访问权限

    AuthzSVNAccessFile E:\svn_repository\svndemo\conf\authz

    #只允许https方式访问

    #SSLRequireSSL

    #Subersion自带的XSLT样式表

    #SVNIndexXSLT "/svnindex.xsl"

    #允许匿名访问

    #Satisfy Any

    #禁止匿名访问

    Require valid-user

    #允许访问/svn目录

    SVNListParentPath on

    </Location>

    5,运行独立服务器

    运行apache服务器,使用http://svn服务器IP/svn/svndemo 连接服务器

    单独运行svn服务的话在任意目录下运行: svnserve -d -r E:\svndemo\repository 我们的服务器程序就已经启动了。注意不要关闭命令行窗口,关闭窗口也会把svnserve停止。

    6Subversion控制中文目录的访问权限

    方法很简单,就是将你的权限控制文件的格式转换为无BOM的UTF-8格式,
    将权限文件改成UTF-8格式,我使用的是UltraEdit的菜单"ASCII to UTF-8 (Unicode
    Editing)"。

  • 相关阅读:
    Mvvm combobox绑定Dictionary问题
    类型转化方法(处理System.Nullable类型)
    linq 动态查询
    VS 2005 / 2008 / 2010 能否继续使用 ASP.NET 1.x版的DataGrid ????
    使用 Using...End Using区块来写程序,要非常小心!
    [习题]TreeView、Menu、SiteMapPath #2 多国语系 /当地语系 / Localization
    Repeater,不用自己写循环 (Loop)
    [习题]给初学者的范例,多重字段搜寻引擎 for GridView,兼论 SqlDataSource与SelectParameter的用法
    ASP.NET案例精编(清华大学出版社 / 作者MIS2000Lab)「勘误表」、补充习题与档案下载
    Windows Vista / 7减少不必要的服务、最佳化(优化)
  • 原文地址:https://www.cnblogs.com/MaxWoods/p/1968523.html
Copyright © 2011-2022 走看看