当前位置 主页 > 服务器问题 > Linux/apache问题 >

    Linux下安装SVN服务端的方法步骤

    栏目:Linux/apache问题 时间:2019-12-06 20:48

    一、yum 安装

    yum install subversion
    

    二、配置

    1、创建仓库

    我们在/home下建立一个名为svn的仓库(repository),以后所有代码都放在这个下面,创建成功后在svn下面多了几个文件夹。

    [root@localhost /]# cd /home
    [root@localhost home]# mkdir svn
    [root@localhost home]# svnadmin create /home/svn
    [root@localhost home]# ls svn
    conf db format hooks locks README.txt
    

    conf文件夹,是存放配置文件的

    [root@localhost home]# cd svn/conf
    [root@localhost conf]# ls
    authz passwd svnserve.conf
    
    authz 是权限控制文件 passwd 是帐号密码文件 svnserve.conf 是SVN服务配置文件

    2、配置passwd 文件

    [root@localhost conf]# vim passwd 
    
    ### This file is an example password file for svnserve.
    ### Its format is similar to that of svnserve.conf. As shown in the
    ### example below it contains one section labelled [users].
    ### The name and password for each user follow, one account per line.
    [users]
    # harry = harryssecret
    # sally = sallyssecret
    
    user1=123456
    user2=123456
    
    

    3、配置authz

    [root@localhost conf]# vim authz 
    
    ### This file is an example authorization file for svnserve.
    ### Its format is identical to that of mod_authz_svn authorization
    ### files.
    ### As shown below each section defines authorizations for the path and
    ### (optional) repository specified by the section name.
    ### The authorizations follow. An authorization line can refer to:
    ### - a single user,
    ### - a group of users defined in a special [groups] section,
    ### - an alias defined in a special [aliases] section,
    ### - all authenticated users, using the '$authenticated' token,
    ### - only anonymous users, using the '$anonymous' token,
    ### - anyone, using the '*' wildcard.
    ###
    ### A match can be inverted by prefixing the rule with '~'. Rules can
    ### grant read ('r') access, read-write ('rw') access, or no access
    ### ('').
    
    [aliases]
    # joe = /C=XZ/ST=Dessert/L=Snake City/O=Snake Oil, Ltd./OU=Research Institute/CN=Joe Average
    
    [groups]
    # harry_and_sally = harry,sally
    # harry_sally_and_joe = harry,sally,&joe
    
    # [/foo/bar]
    # harry = rw
    # &joe = r
    # * =
    
    # [repository:/baz/fuz]
    # @harry_and_sally = rw
    # * = r
    
    [/]
    user1=rw
    user2=r
    *=
    ~ 

    4、配置svnserve.conf

    [root@localhost conf]# vim svnserve.conf 
    
    ### This file controls the configuration of the svnserve daemon, if you
    ### use it to allow access to this repository. (If you only allow
    ### access through http: and/or file: URLs, then this file is
    ### irrelevant.)
    
    ### Visit http://subversion.apache.org/ for more information.
    
    [general]
    ### The anon-access and auth-access options control access to the
    ### repository for unauthenticated (a.k.a. anonymous) users and
    ### authenticated users, respectively.
    ### Valid values are "write", "read", and "none".
    ### Setting the value to "none" prohibits both reading and writing;
    ### "read" allows read-only access, and "write" allows complete 
    ### read/write access to the repository.
    ### The sample settings below are the defaults and specify that anonymous
    ### users have read-only access to the repository, while authenticated
    ### users have read and write access to the repository.
    anon-access = read
    auth-access = write
    ### The password-db option controls the location of the password
    ### database file. Unless you specify a path starting with a /,
    ### the file's location is relative to the directory containing
    ### this configuration file.
    ### If SASL is enabled (see below), this file will NOT be used.
    ### Uncomment the line below to use the default password file.
    password-db = passwd
    ### The authz-db option controls the location of the authorization
    ### rules for path-based access control. Unless you specify a path
    ### starting with a /, the file's location is relative to the the
    ### directory containing this file. If you don't specify an
    ### authz-db, no path-based access control is done.
    ### Uncomment the line below to use the default authorization file.
    authz-db = authz
    ### This option specifies the authentication realm of the repository.
    ### If two repositories have the same authentication realm, they should
    ### have the same password database, and vice versa. The default realm
    ### is repository's uuid.
    # realm = My First Repository
    realm = /home/svn
    ### The force-username-case option causes svnserve to case-normalize
    ### usernames before comparing them against the authorization rules in the
    ### authz-db file configured above. Valid values are "upper" (to upper-
    ### case the usernames), "lower" (to lowercase the usernames), and
    ### "none" (to compare usernames as-is without case conversion, which
    ### is the default behavior).
    # force-username-case = none
    
    [sasl]
    ### This option specifies whether you want to use the Cyrus SASL
    ### library for authentication. Default is false.
    ### This section will be ignored if svnserve is not built with Cyrus