本人使用版本 svn server 1.5.6
下载地址
http://subversion.tigris.org/files/documents/15/45222/svn-win32-1.5.6.zip
下载后把软件放在你想放的目录
执行创建目录
复制内容到剪贴板 程序代码
svnadmin create 有:e:\wwwroot\
这时E盘会多一个wwwroot的目录,里面存放的是SVN server的配置文件
打开conf目录
打开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
把自己的用户加入一个组,我加入的是sohu的组
sohu=voilet,29,ip100
复制内容到剪贴板 程序代码
# [/foo/bar]
# harry = rw
# &joe = r
# * =
给这个组一个权限,记住组前面要用@符,第一个[/]表示目录
[/]
# @harry_and_sally = rw
# * = r
@sohu=rw
在打开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
以下是我建的用户,格式:用户名=密码
voilet=shuang
29=9999999
ip100=100000010
3 打开svnserverconf
### 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 = 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
[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
取消以下几个注释
password-db = passwd
authz-db = authz
4 开机自动启动SVN
sc create MySVNServer binpath= "\"C:\Program FilesSubversion\svnserve\svnserve\" --service -r H:\homerepos" displayname= "SVNService" depend= Tcpip start= auto
pause
注意之处:
(1)sc是windows自带的服务配置程序,MySVNServer 是服务的名称,似乎没什么用。
(2)参数binPath表示svnserve可执行文件的安装路径,由于路径中的"Program Files"带有空格,因此整个路径需要用双引号引起来。而双引号本身是个特殊字符,需要进行转移,因此在路径前后的两个双引号都需要写成\" 。
(3)--service参数表示以windows服务的形式运行,--r指明svn repository的位置,service参数与r参数都作为binPath的一部分,因此与svnserve.exe的路径一起被包含在一对双引号当中,而这对双引号不需要进行转义。
(4)displayname表示在windows服务列表中显示的名字, depend =Tcpip 表示svnserve服务的运行需要tcpip服务,start=auto表示开机后自动运行。安装服务后,svnserve要等下次开机时才会自动运行。 (5)binPath的等号前面无空格,等号后面有空格 displayname depend start也都一样
service前面是--,不是- ,而r前面是-
(6)若要卸载svn服务,则执行 sc delete svnserve 即可。
(7)从“sc”到“auto”是在同一个命令sc,必须写在同一行。
创建成功后,可以在运行中键入service.msc察看系统服务,找到SVNService项,查看这项服务的属性,可以使用Windows提供的界面操作SVNService服务了。
也可以使用命令行启动、停止服务。
启动服务:
C:\>net start svnservice
SVNService 服务正在启动 .
SVNService 服务已经启动成功。
停止服务:
C:\>net stop svnservice
SVNService 服务正在停止.
SVNService 服务已成功停止。
删除创建的服务
C:\>sc delete svn svnservice