学习+实践:
1.apache2安装。
step1: ./configure --enable-dav --enable-so --prefix=/usr/local/apache2
step2: make
step3: make install
step4: 检查成功否:
启动服务: /usr/local/apache2/bin/apachectl -k start
在浏览器里输入:http://locahost
正常情况下应该出现It works!
2.svn安装
要在载svnversion1.* and svnversion-deps1.*。svnversion-deps中包含了:
apr,
apr-util,
neon,
self,
zlib。
在安装前要安装:expat2,其下载地址为:
。
这主要neon中要用到。
step1:
./configure --with-apxs=/usr/local/apache2/bin/apxs
--with-apr=/usr/local/apache2
--with-apr-util=/opt/apache2
--prefix=/usr/local/subversion
注:1)--with-apxs=/opt/apache2/bin/apxs:生成两个so,mod_authz_svn.so, mod_dav_svn.so
2)--with-apr=/opt/apache2 --with-apr-util=/opt/apache2 为了防止 apr不匹配
3.配置.
svn配置说明(此配置是使用svnserve 服务时才有效):
1)svnserve.conf :svnserve 服务器进程的配置文件
1.1) password-db = passwd.conf 用户名与密码放在 passwd.conf 文件中。
1.2)anon-access = none 匿名访问权限。
1.3)auth-access = write 认证用户权限。
权限有三种:read,write,none
1.4)authz-db = authz.conf 访问权限配置。
2)authz.conf :权限配置文件
1.1)配置段可以分成两类:一类是[group],放置用户分组信息.其余形式如[***:/]是一类,每一段对应
项目的一个目录,放置目录访问权限。
1.2)[group]配置例子:
[groups]
组名 = 用户名1,用户名2,用户名3.....
1.3)目录权限配置:
[****:/] ////////目录名
@*****=rw //组权限
1.4)若子目录没有设置权限,则表示它和其父目录有同样的权限。
*****=rw //用户权限
*=rw //除以上外的权限 r:read w : write
**** = //表示无任何权限
3.配置http访问的SVN。
在/usr/local/apache2/conf下,修改httpd.conf:
step1:
编辑httpd.conf
LoadModule dav_svn_module modules/mod_dav_svn.so
LoadModule authz_svn_module modules/mod_authz_svn.so
DAV svn
SVNParentPath /data/svn
step2:
运行htpasswd添加用户和密码
/usr/local/apache2/bin/htpasswd -cm /data/svn/svn-auth-file chenmin
/usr/local/apache2/bin/htpasswd -m /data/svn/svn-auth-file admin
step3:
再次编辑httpd.conf
DAV svn
SVNParentPath /data/svn
AuthType Basic
AuthName "Subversion repository"
AuthUserFile /data/svn/svn-auth-file
Require valid-user
AuthzSVNAccessFile /data/svn/svn-access-file
其中svn-auth-file是认证文件,存储用户名和密码,svn-access-file是访问权限文件,规定各个目录的访问者的权限, 示例的权限分配的文件的格式如下。
[groups]
admin = john, kate
devteam1 = john, rachel, sally
devteam2 = kate, peter, mark
docs = bob, jane, mike
training = zak
# Default access rule for ALL repositories
# Everyone can read, admins can write, Dan German is excluded.
[/]
* = r
@admin = rw
dangerman =
# Allow developers complete access to their project repos
[proj1:/]
@devteam1 = rw
[proj2:/]
@devteam2 = rw
[bigproj:/]
@devteam1 = rw
@devteam2 = rw
trevor = rw
# Give the doc people write access to all the docs folders
[/trunk/doc]
@docs = rw
# Give trainees write access in the training repository only
[TrainingRepos:/]
@training = rw
权限配置文件中,关键的几个概念是:目标和权限,也就是为谁分配什么样的权限。读为r,写为w,如果没有权限那么什么也不写
阅读(603) | 评论(0) | 转发(0) |