天天看点

Ubuntu下搭建SVN服务器(Subversion)

1、首先安装SVN这个软件

sudo apt-get install subversion

2、在lankou用户的home目录下创建一个名为svn的文件夹(文件夹的名字随便起)

mkdir /home/lankou/svn

(也可以sudo mkdir /home/svn,此时svn文件夹的所有者是root)

3、创建数据仓库(可以根据需要创建多个)

svnadmin create /home/lankou/svn/test-repo

这个test-repo就是存放项目的仓库了

4、启动svn网络服务

svnserve -d -r /home/lankou/svn      
其中:      
-d 参数让 svnserve 运行在后台;      
-r 参数限定了数据仓库,在网络上可以访问的地址。
/home/lankou/svn 指定svn数据仓库存放的目录位置,这时该目录是svn的根目录      
5、设置svn: 方式的访问权限      
在每个数据仓库目录下都有一堆目录,其中conf 存放的配置文件,      
hooks下的钩子程序用于同步仓库的代码到工作副本(www),很方便测试,这块后文会有讲述。      
Ubuntu下搭建SVN服务器(Subversion)
authz 用于配置账号对项目乃至于项目下各部分文件夹的权限,注意指定无法细到某个文件      
passwd 配置账号和密码      
svnserve.conf是svn服务的功能权限配置      
进入 conf 并打开 svnserve.conf 这个文件,找到以下几行,
 并把前面的注解符号 ‘#’ 去掉,注意千万在每行的前面别留任何空格。      
anon-access = read
 auth-access = write
 password-db = passwd


        
Ubuntu下搭建SVN服务器(Subversion)
其中 anon-access 和 auth-access 分别为匿名和有权限用户的权限,默认给匿名用户只读的权限。 但如果想拒绝匿名用户的访问,只需把 anon-access的read 改成 none 就能达到目的。 password-db 后的 passwd 则为定义用户名及密码的文件路径。这个文件默认跟 snvserve.conf 在 同一个目录,下面看看怎么配置 passwd文件中的内容。
[user]
# harry = harryssecret
# sally = sallyssecret
harry 和 sally 这两行分别定义了可以对 repo 进行写入的用户的用户名和密码。我们可以在下面加上
自己的用户名和密码,比如:svn = 123456      
Ubuntu下搭建SVN服务器(Subversion)
这样就给了 账号svn 往 repo 中写的权限。注意,这里的账号svn并不是系统用户! 而是你commit和checkout代码时需要的用户名和密码,并且可以随意定义。 存盘退出后,svn 服务器就算正式可以运行了! 把所有需要管理的项目都放在 /home/lankou/svn这个目录下,像正常那样用 svnadmin create 命令建立数据仓库。 这样就可以使用svn客户端通过 “svn co svn://IP地址/数据仓库目录” 的方式把服务器上的数据仓库拉到本地了。 不过我一般使用TortoiseSVN客户端。 备注:本文很大程度参考了http://blog.163.com/liu_wen_xin123/blog/static/112248632201412285556662/,只是结合我的实际操作多做一些解释。

继续阅读