yum install subversion -y
[root@centos01 ~]# mkdir -p /application/svndata #数据存储目录
[root@centos01 ~]# mkdir -p /application/svnpasswd #用户密码 目录
[root@centos01 ~]# svnserve -d -r /application/svndata/
[root@centos01 ~]# ps -ef |grep svn
root 6041 1 0 08:39 ? 00:00:00 svnserve -d -r /application/svndata/
root 6043 5612 0 08:39 pts/0 00:00:00 grep svn
[root@centos01 ~]# netstat -lntup |grep 3690
tcp 0 0 0.0.0.0:3690 0.0.0.0:* LISTEN 6041/svnserve
[root@centos01 ~]#
#########################################
#创建版本库
[root@centos01 ~]# svnadmin create /application/svndata/daima
[root@centos01 ~]# tee /application/svndata/daima/
tee: /application/svndata/daima/: Is a directory
^C
[root@centos01 ~]# tree /application/svndata/daima/
/application/svndata/daima/
├── conf
│ ├── authz
│ ├── passwd
│ └── svnserve.conf
├── db
│ ├── current
│ ├── format
│ ├── fsfs.conf
│ ├── fs-type
│ ├── min-unpacked-rev
│ ├── rep-cache.db
│ ├── revprops
│ │ └── 0
│ │ └── 0
│ ├── revs
│ │ └── 0
│ │ └── 0
│ ├── transactions
│ ├── txn-current
│ ├── txn-current-lock
│ ├── txn-protorevs
│ ├── uuid
│ └── write-lock
├── format
├── hooks
│ ├── post-commit.tmpl
│ ├── post-lock.tmpl
│ ├── post-revprop-change.tmpl
│ ├── post-unlock.tmpl
│ ├── pre-commit.tmpl
│ ├── pre-lock.tmpl
│ ├── pre-revprop-change.tmpl
│ ├── pre-unlock.tmpl
│ └── start-commit.tmpl
├── locks
│ ├── db.lock
│ └── db-logs.lock
└── README.txt
10 directories, 28 files#修改配置文件
[root@centos01 ~]# cd /application/svndata/daima/conf/
[root@centos01 conf]# ls
authz passwd svnserve.conf
[root@centos01 conf]# cat 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.tigris.org/ for more information.
[general]
### These options control access to the repository for unauthenticated
### and authenticated users. Valid values are "write", "read",
### and "none". The sample settings below are the defaults.
anon-access = none
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 = /application/svnpasswd/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 = /application/svnpasswd/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
[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
[root@centos01 conf]# diff svnserve.conf svnserve.conf.bak
12,13c12,13
< anon-access = none
< auth-access = write
---
> # anon-access = read
> # auth-access = write
20c20
< password-db = /application/svnpasswd/passwd
---
> # password-db = passwd
27c27
< authz-db = /application/svnpasswd/authz
---
> # authz-db = authz
#拷贝认证文件模板
[root@centos01 conf]# pwd
/application/svndata/daima/conf
[root@centos01 conf]# ls
authz passwd svnserve.conf svnserve.conf.bak
[root@centos01 conf]# cp passwd authz /application/svnpasswd/
[root@centos01 conf]#
[root@centos01 conf]# cd /application/svnpasswd/
[root@centos01 svnpasswd]# ll
total 8
-rw-r--r--. 1 root root 1080 Dec 29 09:00 authz
-rw-r--r--. 1 root root 309 Dec 29 09:00 passwd
[root@centos01 svnpasswd]# chmod 700 *
[root@centos01 svnpasswd]# ll
total 8
-rwx------. 1 root root 1080 Dec 29 09:00 authz
-rwx------. 1 root root 309 Dec 29 09:00 passwd
[root@centos01 svnpasswd]#
#创建用户并授权访问指定项目版本库
[root@centos01 svnpasswd]# ll
total 8
-rwx------. 1 root root 1080 Dec 29 09:00 authz
-rwx------. 1 root root 309 Dec 29 09:00 passwd
[root@centos01 svnpasswd]# vim passwd
[root@centos01 svnpasswd]# cat 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
admin = admin
yancong = yancong
[root@centos01 svnpasswd]# cat 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
[daima:/]
admin = rw
yancong = r
[root@centos01 svnpasswd]# ps -ef|grep svn
root 6041 1 0 08:39 ? 00:00:00 svnserve -d -r /application/svndata/
root 6095 5612 10 09:26 pts/0 00:00:00 grep svn
[root@centos01 svnpasswd]# kill 6041
[root@centos01 svnpasswd]# ps -ef|grep svn
root 6097 5612 0 09:26 pts/0 00:00:00 grep svn
[root@centos01 svnpasswd]# ls
authz passwd
[root@centos01 svnpasswd]# svnserve -d -r /application/svndata/
[root@centos01 svnpasswd]# ps -ef|grep svn
root 6100 1 0 09:27 ? 00:00:00 svnserve -d -r /application/svndata/
root 6102 5612 0 09:27 pts/0 00:00:00 grep svn
[root@centos01 svnpasswd]#