因个人学习需要,转载本文。只用作学习参考,感谢原作者。
1.配置httpd.conf文件
假设我们有如下需求,J2ME组需要用svn管理本组几个项目的代码和文档。前提是我们已经搭建好了SVN服务器(可以参考"Windows下安装和配置SVN Server"一文)。
首先在Apache2/conf/httpd.conf文件的末尾添加如下内容,后面将做解释说明。
<Location /j2me>
DAV svn
SVNParentPath F:/svnlib/j2me
AuthzSVNAccessFile F:/svnlib/j2me/accessfile
Require valid-user
AuthType Basic
AuthName "身份验证"
AuthUserFile F:/svnlib/passwd
</Location>
SVNParentPath 所指定的目录表示J2ME组所有的"库"所在的根路径。
<Location /j2me>表示用户可以通过http://svnserver/j2me/"库名" 的方式来访问指定的库,注意现在我们还没为J2ME组建立任何库。
AuthUserFile所指定的文件用来存放用户名密码,稍后将说明如何生成和管理这个文件。
AuthzSVNAccessFile所指定的文件用来管理用户组和用户的权限。稍后将说明的使用。
2.建库
假设J2ME组现在有两个项目project1和project2,下面分别为这两个项目分别建库,在DOS窗口中输入
svnadmin create f:/svnlib/j2me/project1
svnadmin create f:/svnlib/j2me/project2
若要上面的命令没能够正确执行,请确认%SVN_HOME%/bin是否已经被添加环境变量PATH中,在本例中是C:/svn-win32-1.4.2/bin,如果没有也可以先进入到%SVN_HOME%/bin目录下,然后再执行上面的命令。建好后project1和project2文件夹下会生成一些文件和目录。
3.创建用户
假设J2ME组现在有开发人员developer1, developer2,配置管理员renee,打开DOS窗口,先创建第一个用户:
htpasswd -c F:/svnlib/passwd developer1
htpasswd是Apache提供的生成密码文件的命令,默认使用MD5给密码加密,所以即使用文件编辑器打开F:/svnlib/passwd文件,也看不到用户的密码信息,执行前也需要确认%APACHE_HOME%/bin是否已经被添加环境变量PATH中,在本例中是C:/Apache Group/Apache2/bin,如果没有也可以先进入到%APACHE_HOME%/bin目录下,然后再执行上面的命令。
-c 这个参数只在第一次创建用户时使用,表示生成一个密码文件,以后添加用户时就不再需要这个参数了。
F:/svnlib/passwd 这个参数必需与前面的AuthUserFile所指定的参数一致,表示密码文件所在的路径是F:/svnlib/,文件名为passwd。
developer1 表示要创建名为developer1的用户
回车后会两次提示输入密码,两次的密码一致后变成功创建了用户。接下来再创建两个用户
htpasswd F:/svnlib/passwd developer2
htpasswd F:/svnlib/passwd renee
4.配置权限
这里就要用到AuthzSVNAccessFile 所指定的文件了,首先需要在F:/svnlib/j2me路径下创建名为accessfile的文件(注意,没有扩展名),然后用文件编辑器打开这个文件,输入下面内容:
#组信息
[groups]
#这里分为两个组,一个是开发组,一个是配置管理员组
g_developer = developer1, developer2
g_conf = renee
#配置project1库的权限
[project1:/]
#这里需要注意的是为组赋权限的时候,需要在组名前面加上一个"@",而为用户赋权限的时候则直接使用用户名既可。
#开发人员有读写权限
@g_developer = rw
#配置管理员有只读权限
@g_conf = r
#配置project2库的权限
[project2:/]
@g_developer = rw
renee = r
5.补充
假设如果以后需要为Brew组库,可以在Apache2/conf/httpd.conf文件的末尾添加如下内容,基本与为J2ME组建时的操作一样。只是AuthUserFile 可以使用同一个文件,而AuthzSVNAccessFile 最好每个组有自己的文件,方便管理。
<Location /brew>
DAV svn
SVNParentPath F:/svnlib/brew
AuthzSVNAccessFile F:/svnlib/brew/accessfile
Require valid-user
AuthType Basic
AuthName "身份验证"
AuthUserFile F:/svnlib/passwd
</Location>
Brew组的用户可以通过http://svnserver/brew/"库名"来访问指定的库。
本文来自优快云博客,转载请标明出处:http://blog.youkuaiyun.com/hebaochen/archive/2007/01/29/1496838.aspx