linux svn配置http访问,Ubuntu配置SVN及http模式访问

假设已经安装并在80端口启动了apache服务器。所有操作都在root用户下进行,特别建立的仓库文件夹和打开svn服务器建立仓库都是在root用户权限下进行,这样会防止最后客户端操作时发生权限问题,实际使用可以新建svn专用用户并赋予读写权限进行管理。

安装SVN

apt-get install subversion

建立svn仓库

1). 建立svn目录:(使用隐藏目录)

mkdir /home/.svn

cd /home/.svn

2). 创建仓库test1:

mkdir test1

svnadmin create /home/.svn/test1

执行完毕后test1目录有svnadmin创建的目录和文件

3). 创建仓库test2:

mkdir test2

svnadmin create /home/.svn/test2

执行完毕后test2目录有svnadmin创建的目录和文件

配置和管理svn

1). 配置svnserve.conf

每个仓库的配置文件在$repos/conf/下,vim svnserve.conf,配置项在[general]下:

anon-access:匿名用户的权限,可以为read,write和none,默认值read。不允许匿名用户访问:anon-access = none

auth-access:认证用户的权限,可以为read,write和none,默认值write。

password-db:密码数据库的路径,去掉前边的#

authz-db:认证规则库的路径,去掉前边的#。

注意:这些配置项的行都要顶格,否则会报错。修改配置后需要重启svn才能生效。

2). 配置passwd文件

这是每个用户的密码文件,比较简单,就是“用户名=密码”,采用的是明码。如

adminuser = passwordxxx

user1 = 111111

user2 = 222222

3). 配置authz文件

[groups]:为了便于管理,可以将一些用户放到一个组里边,比如:

[groups]

admin = adminuser

develop = user1,uesr2

groups下边的sections表示对一个目录的认证规则,比如对根目录的认证规则的section为[/]。设置单用户的认证规则时一个用户一行,如果使用group,需要在group名字前加@

[/]

@admin=rw  #admin用户组对根目录的权限为rw

启动时如果从/home/.svn/test1启动,/就是test1目录,用如上方式以test1目录为根设置权限。

如果从/home/.svn/启动,每个仓库根还是自己的起始目录。可以采用如上方式设置test1的权限,也可以采用如下方式:

[test1:/]

@admin=rw

[test1:/trunk/test1]

@develop=rw

每个仓库的根目录(/)就是自己的起始目录;[repos:/]这种方式只适用于多仓库的情况;[/]适合于单仓库和单仓库的方式。

启动和停止svn

1). 启动:

从test1目录(某个项目仓库目录)启动

svnserve -d -r /home/.svn/test1

根目录(/)是test1,authz中规则的配置使用section[/]。访问方式为: svn://192.168.0.87/

从.svn目录启动

svnserve -d -r /home/.svn

根目录(/)是.svn,authz中对test1的配置使用section[test1:/] ,访问方式为:

svn://192.18.0.87/test1

svn://192.18.0.87/test2

如果需要svn自启动,把命令加入/etc/rc.local中

2). 检查svn服务器是否已经启动(svn默认使用3690端口):

netstat -tnl | grep 3690

1

3). 停止:

killall svnserve

配置http方式访问

将svn配置到apache中通过http web方式访问需要编辑/etc/apache2/apache.conf文件,然后将如下内容添加到apache.conf尾部

DAV svn

SVNPath /home/.svn/test1

AuthzSVNAccessFile /home/.svn/test1/conf/authz

AuthType Basic

AuthName "Subversion Repository"

AuthUserFile /home/.svn/test1/conf/passwd

Require valid-user

有多个项目时就需要添加多个上述配置项即可。

同时为了使得apache能够识别svn的权限配置项,需要加载确保apache加载了如下模块:

LoadModule dav_module modules/mod_dav.so

LoadModule dav_fs_module modules/mod_dav_fs.so

LoadModule dav_svn_module modules/mod_dav_svn.so

LoadModule authz_svn_module modules/mod_authz_svn.so

上述配置完成之后,就可以使用http://192.18.0.87/test1 的方式访问了。

0b1331709591d260c1c78e86d0c51c18.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值