前言:独立SVN服务器不结合Apache安装使用,连接独立SVN服务器也不是用HTTP协议。这是比较快捷的SVN服务器配置方法。
一。下载工具
1.subversion-1.6.17.tar.gz
2.subversion-deps-1.6.17.tar.gz
这两个都是必须下载的,否则单独下载第一个包编译时就会提示缺少模块。
这两个包下载解压后会解压到同一个目录下,不需要特别指定。
二。解压安装
1.解压两个包:
tar -xzvf subversion-1.6.17.tar.gz
tar -xzvf subversion-deps-1.6.17.tar.gz
2.编译安装
./configure --prefix=/svn 或者 ./configure --prefix=/svn --without-berkeley-db --with-zlib
本人使用的是第二个命令,至于有何不同,本人并没详细查询资料。
make
make install
3.查看是否安装成功
/svn/bin/svnserve --version 如果出现SVN的版本则证明安装成功
三。将svn的bin目录加到环境变量中去
PATH=$PATH:/svn/bin
四。建立仓库
1. mkdir -p /svndata/repos1 (加上参数P,是如果没有父目录则自动创建)
注意:/svndata在这里将是所有仓库的根目录,repos1是其中的一个仓库。
2.svnadmin create /svndata/repos1 (这里使用SVN将repos1建立为仓库。则在repos1文件夹里会生成一系列对于repos1仓库相应的配置文件)
五。配置仓库
1.进入/svndata/repos1/conf (会发现多个配置文件,如图1)
2.修改svnserve.conf
[root@localhost conf]# vi svnserve.conf
[general]
anon-access = none
auth-access = write
password-db = passwd
authz-db=authz
3.目录控制文件authz (or叫权限控制文件)
[root@localhost conf]# vi authz
[groups]
admin= sss
[repos1:/]
@admin = rw
#* = r
-------------------------格式:
[groups]
<用户组名> = <用户1>,<用户2>
[<版本库>:/项目/目录]
@<用户组名> = <权限>
<用户名> = <权限> 其中,方框号内部分可以有多种写法:
/,表示根目录及以下。根目录是svnserve启动时指定的,我们指定为/opt/svndata。这样,/就是表示对全部版本库设置权限。
repos1:/,表示对版本库1设置权限
repos2:/occi, ,表示对版本库2中的occi项目设置权限
repos2:/occi/aaa, ,表示对版本库2中的occi项目的aaa目录设置权限 权限主体可以是用户组、用户或*,用户组在前面加@,*表示全部用户。权限可以是w、r、wr和空,空表示没有任何权限。
4.修改用户密码文件passwd
[root@localhost conf]# vi passwd
[users]
sss= sss
--------------------------格式:
[users]
<用户1> = <密码1>
<用户2> = <密码2>
注意:×这里的配置文件,除了注释外每行都必须顶行,否则又会报错了。
×注意[repos1:/],这里是配置某个仓库的权限,/ 表示repos1这个仓库的根目录。
5.建立账户
useradd sss
passwd sss (因为刚才我们为SVN添加了一个账户)
6.注意LINUX的目录文件访问权限。因为SVN建立的文件仓库等,在LIUNX中都是有用户,用户组,其他人等的权限控制。因此,在你发现访问不正常的时候得注意这里,或者自己先主动修改:
chown sss:sss /svndata
六。启动SVN
1.[root@localhost www]# svnserve -d -r /svndata
注意:这里是/svndata,并非/svndata/repos1。这是SVN使所有仓库根目录都生效的命令,并非某个仓库。这里必须注意。
七。开启SVN的端口,一般3690。本人测试期间,为了方便,整个防火墙关了。嘿嘿。
八。Windows连接SVN
1.在Windows上安装TortoiseSVN-1.6.16.21511-win32-svn-1.6.17.msi。
2.地址: svn://你的SVN服务器IP或者域名/repos1
3.输入你所配置的账户密码。