Ubuntu中配置了SVN 比较全.已经调试过放心用.

2011-08-04 21:55:00 by 【6yang】, 106 visits, 收藏 | 返回
最近在Ubuntu中配置了SVN。比起REDHAT中配置要容易简单得多。
 
 
 

参考http://wiki.ubuntu.org.cn/SubVersion

安装Subversion

要安装Subversion,您只需要简单的运行:

 

$ sudo apt-get install subversion

$ sudo apt-get install libapache2-svn

 

配置SVN

 

创建SVN仓库:

1。增加组,并且把用户加到组里):

 

sudo addgroup subversion

sudo usermod -G subversion -a www-datahuubuntulinux用户)

 

2.结果看上去,像这样。

 

$ cat /etc/group|grep subversion

subversion:x:1001:www-data,exp

 

3、您需要注销然后再登录以便您能够成为subversion组的一员,然后就可以执行签入文件(Check in,也称提交文件)的操作了。

 

4、现在执行下面的命令

 

$ sudo mkdir /home/svn

$ cd /home/svn

$ sudo mkdir myproject

$ sudo chown -R root:subversion myproject

 

5、下面的命令用于创建SVN文件仓库:

 

$ sudo svnadmin create /home/svn/myproject

 

6、赋予组成员对所有新加入文件仓库的文件拥有相应的权限:

 

$ sudo chmod -R g+rws myproject

 

 

直接访问文件仓库(file://)测试

check in:

svn import -m "new_1" /optbak/httpd-2.2.17.tar.gz file:///home/svn/myproject/tar11

 

check out:

 svn checkout file:///home/svn/myproject/

A   myprojectsvn/tar11

A   myprojectsvn/tar22

Checked out revision 2.

 

 

 

 

 

启动SVN

现在,您可以在本地或者远程通过svn://访问SVN了,您可以使用“svnserve”来运行svnserver,语法如下:

 

$ sudo svnserve -d --foreground -r /home/svn

# -d -- daemon mode

# --foreground -- run in foreground (useful for debugging)

# -r -- root of directory to serve

要了解更多信息,请输入:

$ svnserve --help

通过自带协议访问(svn://)测试:

1、当您创建了SVN文件仓库,您可以修改/home/svn/myproject/conf/svnserve.conf来配置其访问控制。

 

例如,您可以取消下面的注释符号来设置授权机制:

 

# [general]

# password-db = passwd

现在,您可以在“passwd”文件中维护用户清单。编辑同一目录下“passwd”文件,添加新用户。语法如下:

 

username = password

(注意行开始不要有多余空格)

要了解详情,请参考该文件。

 

 

2、当您执行了该命令,SVN就开始监听默认的端口(3690)。您可以通过下面的命令来访问文件仓库:

 

$ svn co svn://hostname/myproject myproject --username user_name

 

安装客户端工具操作check in,out

以用户身份登录check in,out

客户端check in,commit报错:Authorization failed

 

Authorization failed

SVN:认证失败

 

如果你是客户端,就让别人给你权限。

解决:如果能改文件,则尝试以下修改:

 

/home/svn/myproject/conf# ls

authz myproject passwd svnserve.conf

 

 

svnserve.conf:

[general]

anon-access = read

auth-access = write

password-db = passwd

authz-db = authz

 

passwd:

[users]

harry = harryssecret

 

authz:

[groups]

[/]

harry = rw

 

出现authorization failed异常,一般都是authz文件里,用户组或者用户权限没有配置好,只要设置[/]就可以,代表根目录下所

有的资源,如果要限定资源,可以加上子目录即可。

----------------------------------------------------------------------

 

# anon_access = read

改为

anon_access = none

即不允许匿名用户访问

SVN备份

还有个重要问题是SVN的备份问题,参考:

http://spiritfrog.javaeye.com/blog/448578

 

 

另有windows下配置SVN

http://spiritfrog.javaeye.com/blog/250269

分享到:
share

    图片原图

    loading

    loading