|
网上资料,以备后查。
网上还有许多资料是改仓库中的配置文件,不过下面方法直接改httpd中SVN插件的配置文件显得简单,毕竟与httpd结合的SVN使用更方便。
1、安装svn和httpd#yum install Subversion
#yum install httpd 2、建立主目录和项目仓库#mkdir /opt/svn/repos
#chown -R apache:apache /opt/svn/repos **建立仓库主目录,并将权限给apache用户 ** #svnadmin create /opt/svn/repos/doc
#svnadmin create /opt/svn/repos/netbeans **建立项目仓库**doc放工作文档文件,netbeans放java源码
3、配置 /etc/httpd/conf.d/subversion.conf文件
确认文件中有以下二条LoadModule dav_svn_module modules/mod_dav_svn.so
LoadModule authz_svn_module modules/mod_authz_svn.so 并将其它内容改为如下
<Location /repos> [color="Red"]说明"/repos"表明在主目录在网页中地址为 http://localhost/repos
DAV svn
SVNParentPath /opt/svn/repos/ [color="Red"] 主机中主目录为 /opt/svn/repos/
#
# # Limit write permission to list of valid users.
# <LimitExcept GET PROPFIND OPTIONS REPORT>
# # Require SSL connection for password protection.
# # SSLRequireSSL
#
AuthType Basic
AuthName "Authorization Realm"
AuthUserFile /etc/svn-auth-file
Require valid-user
AuthzSVNAccessFile /etc/svn-access-file
# </LimitExcept>
</Location>
4、建立帐户文件和权限文件
htpasswd -cm /etc/svn-auth-file work 建立帐户文件,帐户为"work",然后,会提示输入密码,这里就加入了一个用户了,并且在/etc下创建了svn-auth- file文件。htpasswd -m /etc/svn-auth-file Username2
htpasswd -m /etc/svn-auth-file Username3 然后再加别的用户可以用以下命令(也可作为修改密码来使用,实在不想要这几个用户了,删掉重建就是,不过要对应修改svn- access-file):
建立svn-access-file文件,它是用来控制用户访问仓库的权限的#vi /etc/svn-access-file
[doc:/] //这表示,仓库doc的根目录下的访问权限
work=rw // doc仓库work用户具有读和写权限,r可读 ,W可写
Username2=r // doc仓库Username2用户具有读和写权限
Username3=r // doc仓库Username3用户具有读和写权限
[netbeans:/]
work=rw
Username2=r
Username3=r
#[/] // 这个表示在所有仓库的根目录下
#* = r // 这个表示对所有的用户都具有读权限
#[groups] // 这个表示群组设置
#doc-developers = harry, sally // 这个表示某群组里的成员
#netbeans-developers = sally
#[svn1:/]
#@doc-developers = rw // 如果在前面加上@符号,则表示这是个群组权限设置
5、重启Apache,就可以通过
http://localhost/repos/doc
http://localhost/repos/netbeans
这两个URL来访问二个项目仓库了,当然,要受权限的限制,必须是合法用户才能访问且具有相应的权限
另注:
1、修改SELINUX权限,当然你关了selinux或降为警告级别时可不考虑此问题
# chcon -R -h -u system_u -t httpd_sys_content_t /opt/svn/repos/
如果不进行这样的修改,客户端访问时就会报错“Could not open the requested SVN filesystem.”。
2、Linux下清除.svn目录
进入项目目录后,运行 find . -name ".svn" | xargs rm -rf
[color="Red"]以上方法经实际验证,能正常使用。 |
|