Summary of requirements:
The company is developing a mall system, using Svnserve source code version control, mall system including Android, iOS and Web side, the equivalent of including Project Manager 1 people, Android Development Group 2 people, iOS Development Group 2 people, web front end 2 People, Java server Side 2 people And then set the 2-bit Super Administrator (ayu and Liyang ), requires the code submitted by the Android Development Group other people (such as iOS development team members) I don't see , and so on, only super admins can see everyone's submissions
The configuration is as follows:
1) Check the Svnserve version and confirm that Svnserve is installed
[Root@localhost vsftpd-2.0.5]# Svnserve--version
Svnserve, Version 1.6.11 (r934486)
Compiled at May 31 2011,05:46:33
2) Create an SVN repository Trademall,
[root@localhost vsftpd-2.0.5]# svnadmin create/root/svndata/trademall /
Note: /root/svndata/ trademall /conf
authz file is configured as follows
### 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]svnadmin = ayu,liyangprojmanagergoup = manageriosgroup = iosdev1,iosdev2androidgroup = androiddev1,androiddev2webgroup = webdev1,webdev2servergroup = serverdev1,serverdev2[trademall:/] @svnadmin = rw@projmanagergoup = rw@iosgroup = rw@androidgroup = rw@webgroup = Rw@servergroup = rw*=[trademall:/doc] @svnadmin = rw@projmanagergoup = rw*=[trademall:/ios] @svnadmin = rw@iosgroup = rw*=[trademall:/android] @svnadmin = rw@androidgroup = rw*=[trademall:/web] @svnadmin = rw@webgroup = rw* =[trademall:/server] @svnadmin = rw@servergroup = rw*=
Note: Ayu and Liyang are super admins
4) The passwd file is configured as follows
### 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 = sallyssecretayu = ayuliyang = liyangmanager = peidianiosdev1 = peidianiosdev2 = peidianandroiddev1 = peidianandroiddev2 = peidianwebdev1 = peidianwebdev2 = peidianserverdev1 = peidianserverdev2 = peidian
5) Svnserve.conf The file is configured as follows
### 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 = read# auth-access = writeanon-access = Noneauth-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 = passwdpassword-db = /root/svndata/trademall/ conf/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 = authzauthz-db = /root/svndata/trademall/conf/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 Repositoryrealm = /root/svndata/TradeMall[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
6) Start Svnserve service
[Root@localhost conf]# svnserve-d-r/root/svndata/
7) The client installs Tortoisesvn,repo-browser and then enters in the address bar: "Svn://210.10.3.61/trademall", Log in with the Super Administrator Ayu/ayu, and create the directory as follows:
8) test with different members to checkout the same "Svn://210.10.3.61/trademall" can be found to get the directory only their own, that is, Android to get Android, iOS to get iOS, do not affect each other, separate from each other.
Enterprise-Class Svnserve configuration Scenarios