1.Subrsion安装
# tar xvzf Subversion-1.3.2.tar.gz
# cd Subversion-1.3.2
# ./configure --with-apxs=/usr/local/apache2/bin/apxs --prefix=/usr/local/subversion
# make
# make install
2.Subversion的建立与使用仓库使用
$mkdir /var/repos
在这里,我们假设设置/var/repos目录下的juan和sun两个目录为仓库。
用hgz用户运行(如果用root用户,则在运行完这两个程序之后要将这两个目录的所有者权限更改为用户daemon
命令是:chown –R daemon:daemon /var/repos
svnadmin create /var/repos/juan
svnadmin create /var/repos/sun
这样,我们使用的时候,就可以向里面提交文件。
仓库的使用,必须先把服务搭建起来才行。我们等后面的服务器配置后再讲。
3、Subversion服务器的搭建
我们使用与Apache模块的方式运行。
首先,把我们需要的SVN模块加载上,修改Apache的配置文件httpd.conf:
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
然后配置仓库:
<Location /svn>
DAV svn
SVNParentPath /var/repos
</Location>
然后,配置验证方式:
这里使用Apache的验证方式:
htpasswd -cm /etc/svn-auth-file user1
然后,会提示输入密码,这里就加入了一个用户了。然后再加一个用户:
htpasswd -m /etc/svn-auth-file user2
htpasswd -m /etc/svn-auth-file user3
然后修改配置:
<Location /svn>
DAV svn
SVNParentPath /var/repos
AuthType Basic
AuthName "Subversion repository"
AuthUserFile /etc/svn-auth-file
Require valid-user
AuthzSVNAccessFile /etc/svn-access-file
</Location>
下面,就要写这个svn-access-file文件了,它是用来控制用户访问仓库的权限的,我们把说明写在后面
[juan:/] //这表示,仓库svn1的根目录下的访问权限
user1 = rw // juan仓库user1用户具有读和写权限
user2 = rw // juan仓库user2用户具有读和写权限
user3 = r // juan仓库user3用户具有读权限
[sun:/] //sun仓库根目录下的访问权限
harry = r // harry用户在sun仓库根目录下只有读权限
sally = // sally用户在 sun仓库根目录下无任何权限
#[/] // 这个表示在所有仓库的根目录下
#* = r // 这个表示对所有的用户都具有读权限
#[groups] // 这个表示群组设置
#juan-developers = harry, sally // 这个表示某群组里的成员
#sun-developers = sally
#[juan:/]
#@juan-developers = rw // 如果在前面加上@符号,则表示这是个群组权限设置
将这个设置完成后。重启Apache,就可以通过
http://localhost/svn/juan
http://localhost/svn/sun
这两个URL来访问仓库了,当然,要受权限的限制,必须是合法用户才能访问且具有相应的权限
客户端的使用,可以通过许多客户端GUI软件来用。比如TortoiseSVN就很好用。
转载于:https://blog.51cto.com/sunyu/694201