装好apache和subversion后接下来配置配置文件,先用命令svnadmin
svnadmin create /home/repository/svn1
svnadmin create /home/repository/svn2
在/home/repository/目录里面创建了2个仓库svn1和svn2
修改http.conf加上关于svn的配置选项
LoadModule dav_svn_module modules/mod_dav_svn.so
LoadModule dav_module modules/mod_dav.so
LoadModule authz_svn_module modules/mod_authz_svn.so#加载模块,有时报错mod_dav已经在http里面了,编译的时候加上了.注释掉即可
配置仓库
DAV svn
SVNParentPath /home/repository
使用apache的验证方式于是使用:
usr/local/httpd/bin/htpasswd –cm /home/repository/svn-auth-file username passwd
也可以先不写密码之后写
添加第二个的时候就不需要加选项c和文件里,如下
usr/local/httpd/bin/htpasswd –m username
提示输入密码
修改svn仓库配置为
DAV svn
SVNParentPath /home/repository #仓库的父级目录
AuthType Basic #链接类型设置
AuthName "Subversion repository" #链接提示
AuthUserFile /home/repository/svn-auth-file #用户配置文件
Require valid-user #采用何种认证
AuthzSVNAccessFile /home/repository/svn-access-file #权限配置文件
其中的Require valid-user是告诉apache在AuthUserfile 中的用户都可以访问,否则的话只有第一个可以访问
创建svn-access-file文件,它是用来控制权限的
格式如下:
[svn1:/] #这表示,仓库svn1的根目录下的访问权限
user1= rw # svn1仓库user1用户具有读和写权限
user2= rw # svn1仓库user2用户具有读和写权限
user3= r #svn1仓库user3用户具有读权限
[svn2:/] #svn2仓库根目录下的访问权限
harry = r #harry用户在svn2仓库根目录下只有读权限
sally = # sally用户在 svn2仓库根目录下无任何权限
#[/] # 这个表示在所有仓库的根目录下
#* = r # 这个表示对所有的用户都具有读权限
#[groups] # 这个表示群组设置
#svn1-developers = harry, sally # 这个表示某群组里的成员
#svn2-developers = sally
#[svn1:/]
#@svn1-developers = rw // 如果在前面加上@符号,则表示这是个群组权限设置重启Apache,就可以通过
2个url来访问仓库里,当然还有大名鼎鼎的TortoiseSVN
Linux下初步配置Apache+Subversion
最新推荐文章于 2018-08-11 02:06:20 发布