您的位置:首页 > 其它

suse 安装及配置subversion

2010-10-21 17:48 309 查看
1. 准备
svnbook(比较详细的svn文档)http://svnbook.red-bean.com/

安装包下载地址 http://subversion.tigris.org/downloads/subversion-1.6.6.tar.gz 依赖包下载地址 http://subversion.tigris.org/downloads/subversion-deps-1.6.6.tar.gz
subversion 可以用两种服务器可以使用svnserve(自带的)也可以使用apache,svnserve配置简单,速度快,所以在这里使用。

2.解压缩:
把安装包和依赖包放在同一目录下,执行以下命令解压缩
tar –xvf subversion-1.6.6.tar.gz
tar –xvf subversion-deps-1.6.6.tar.gz
两个压缩包解压后会在同一个目录下,目录名称叫subversion-1.6.6,里边的INSTALL是安装说明文件。

3.安装
a.依赖包介绍和安装
svnserve依赖包包括libarp libapr-util sqlite libz等(其中libarp是Apache portable Run-time libraries,Apache可移植运行库)。以上依赖包都在subversion-deps-1.6.0.tar.gz中,解压缩到安装包同一目录下,安装时自动安装,不需要单独安装。
subversion需要openssl,下载的依赖包里没有,安装方法是打开Yast2->软件管理,勾选openssl、openssl-devel和openssl-doc,插入suse安装光盘,点击接受即可。如果不安装openssl和openssl-devel,运行./configure会报错:
configure: error: We require OpenSSL; try --with-openssl
configure failed for serf
b.安装
由于不使用apache做服务器,所以跳过apache的安装。
进入subversion-1.6.6目录
$ ./configure
$ make
# make install
4.运行
首先建立一个版本库(svn_test1) 例如 svnadmin create /opt/subversion/svn_test1
启动: svnserve -d -r /opt/subversion/svn_test1 --listen-port 3610 &
--我把我的版本库命名为svn_test1,并且放在目录/opt/subversion下,其中如有需要多个版本库,那么就可以把这个版本库直接复制,生成一个新的版本库:如:
cp –r /opt/subversion/svn_test1 /opt/subversion/svn_test2
那启动命令为 svnserve -d -r /opt/subversion/svn_test2 --listen-port 3620 &
通过端口来区分各个版本库,在windows中的运行中输入:svn://192.168.84.204:3610

就可以打开查看了,其中192.168.84.204是我的服务器地址

在windows中安装TortoiseSVN-1.6.5.16974-win32-svn-1.6.5.msi工具,就可以更新版本库里面的内容,汲及到TortoiseSVN-1.6.5.16974-win32-svn-1.6.5.msi傻瓜式,下一步下一步

在服务器中,还有三个重新的文件:
Svn的配置文件主要是conf目录三个文件。Authz,passwd,svnserver,配置文件中每行有效配置前不能有空格,事则会失效。其中conf目录在各版本库目录下,如:/opt/subversion/svn_test1/conf
1.服务器配置文件svnserver.conf,该文件仅由一个[general]配置段组成.
[general]配置段中配置行格式如下:
<配置项> = <值>
例子:

[general]
anon-access = none
auth-access = write
password-db = passwd
authz-db = authz
realm = svn_test1

2.权限控制文件authz.conf
权限配置文件由svnserve.conf的配置项authz-db指定,缺省为conf目录中的authz。该配置文件由一个[groups]配置段和若干个版本库路径权限段组成。
[groups]配置段中配置行格式如下:
<用户组> = <用户列表>
用户列表由若干个用户组或用户名构成,用户组或用户名之间用逗号","分隔,引用用户组时要使用前缀"@"(如:引用用户组"all"要使用字符串"@all")。
版本库路径权限段的段名格式如下:
[<版本库名>:<路径>]
如版本库abc路径/tmp的版本库路径权限段的段名"[abc:/tmp]"。
可省略段名中的版本库名。若省略版本库名,则该版本库路径权限段对所有版本库中相同路径的访问控制都有效。如:段名为"[/tmp]"的版本库路径权限段设置了所有引用该权限配置文件的版本库中目录"/tmp"的访问权限。
版本库路径权限段中配置行格式有如下三种:
<用户名> = <权限>
<用户组> = <权限>
* = <权限>
其中,"*"表示任何用户;权限的取值范围为''、'r'和'rw',''表示对该版本库路径无任何权限,'r'表示具有只读权限,'rw'表示有读写权限。
注意:每行配置只能配置单个用户或用户组。

例子:
[groups]
root=root,zhangqiao
oracle=oracle

[/opt/svbversion/svn_test1/test]
@root = rw
@oracle = r
* =
[/]
@root = rw
@oracle = r
* =

3.用户名口令文件passwd.conf
用户名口令文件由svnserve.conf的配置项password-db指定,缺省为conf目录中的passwd。该文件仅由一个[users]配置段组成。
[users]配置段的配置行格式如下:
<用户名> = <口令>
注意:配置行中的口令为未经过任何处理的明文。
特别注意配置文件中每个有效行前面不能有空格,否则会报错。
a.如果在用户名口令文件中有空格则报:认证失败
b. 如果在权限控制文件中有空格则报:认证配置失败
c.如果在服务器配置文件有空格则报:

[users]
root=root
zhangqiao=zhangqiao
oracle=oracle111
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: