现在的位置: 首页 > 综合 > 正文

Mac下配置svn服务器

2018年05月11日 ⁄ 综合 ⁄ 共 4580字 ⁄ 字号 评论关闭

Mac自带了svn服务端和客户端,所以只需要简单配置一下就可以使用。

 

1、创建svn repository

 

Shell代码  收藏代码
  1. svnadmin create /Users/qiruihua/svnserver/repository  

 

2、配置svn用户权限/Users/qiruihua/svnserver/repository/conf/目录下存在3个文件:authz、passwd、svnserve.conf

 

authz,内容如下:

 

Mac代码  收藏代码
  1. ### 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]
    test=qiruihua
    [/]
    qiruihua=rw
    # @harry_and_sally = rw
    # * = r

 

passwd,内容如下:

 

Mac代码  收藏代码
  1. ### 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]
    qiruihua=123
    # harry = harryssecret
    # sally = sallyssecret

 

svnserve.conf,内容如下:

 

Mac代码  收藏代码
  1. ### 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
    ### 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
    ### SASL support; to check, run 'svnserve --version' and look for a line
    ### reading 'Cyrus SASL authentication is available.'
    # use-sasl = true
    ### These options specify the desired strength of the security layer
    ### that you want SASL to provide. 0 means no encryption, 1 means
    ### integrity-checking only, values larger than 1 are correlated
    ### to the effective key length for encryption (e.g. 128 means 128-bit
    ### encryption). The values below are the defaults.
    # min-encryption = 0
    # max-encryption = 256

 

3、启动服务器

 

Mac代码  收藏代码
  1. svnserve -d -r /Users/qiruihua/svnserver/repository  

 

没有任何提示就说明启动成功了。

 

4、将项目导入svn库

 

Mac代码  收藏代码
  1. svn import /Users/qiruihua/projects/demo/ svn://localhost/svn/repository/demo --username qiruihua --password 123 -m "Initial import"  

 

5、签出项目

 

Mac代码  收藏代码
  1. svn checkout svn://127.0.0.1/svn/repository/demo --username=qiruihua --password=123 


启动svnserve
svnserve -d -r 
/Users/weike/svnserver/repository

结束服务可以用 killall -9 svnserve

svn地址:svn://localhost

注:很可能会遇到权限问题,可使用 sudo 命令
sudo chflags -R nouchg /opt/svn/repos

sudo chmod -R 755 /opt/svn/repos


抱歉!评论已关闭.