install svn server in Ubuntu

1. #安装服务

apt-get install subversion
apt-get install libapache2-svn
apt-get install apache2
apt-get install apache2-utils

2.添加svn管理用户及subversion组
$ sudo adduser test
$ sudo addgroup subversion
$ sudo addgroup test subversion
$ sudo addgroup root subversion

2. #创建项目目录
$ sudo mkdir /home/svn
$ sudo cd /home/svn
$ sudo mkdir project
/** create group if the subversion is not existing**/
$ sudo chown -R root:subversion project
$ sudo chmod -R g+rws project

3. #创建SVN文件库
svnadmin create /home/svn/project

4. #设置访问权限

修改/home/svn/project目录下:
svnserver.conf文件,(行最前端不允许有空格)

编辑svnserver.conf 文件, 把下面两行的注释取消
password-db = passwd #用户保存文件的名称
authz-db = authz #权限管理文件
//passwd and authz 为/home/svn/project/config的文件passwd 和 authz

//说明
#[general]
anon-access=none
auth-access=write
password-db=passwd
其中anon-access 和auth-access分别为匿名和有权限用户的权限,默认给匿名用户只读的权限,但如果拒绝匿名用户的访问,只需要把read 改成none 就可以


5、创建访问用户
最后一步就是创建访问用户,建议将用户名密码文件存放在当前版本仓库下的conf文件夹下,这样版本仓库多的时候就不至于太乱。
因为conf文件夹下已经存在passwd文件了,所以直接添加用户就可以:
htpasswd -c /home/svn/project/conf/passwd test #test就是用户名
会提示输入两次密码后,这个用户就创建完成了。

用户信息保存在以下文件中
/home/svn/project/conf/passwd
test:evnmR/fZEDGZY #test:后面加的是加密后的密码

也可以手动添加用户到文件中,如:
[users]
test = your_password(明文)

6. 权限设置
a) 将用户test 添加到 subversion group
[groups]
subversion = test
如果有多个用户可以用逗号隔开,如下
subversion = test,test2

b) 授权test用户 访问库
[/]
test = rw

c) 授权test用户 访问project
[project:/]
@test = rw

或者按group 授权
[/]
@subversion = rw
[project:/]
@subversion = rw


7. 启动SVN服务
svnserve -d -r /home/svn
说明:-d 表示svnserver 以“守护”进程模式运行
-r 指定文件系统的根位置(版本库的根目录),这样客户端不用输入全路径,就可以评头访问版本库
确定服务已经启动:
$ netstat -ntlp|grep 3690
tcp 0 0 0.0.0.0:3690 0.0.0.0:* LISTEN 2026/svnserve

8. import project
cd c:/test/svn/testProject
svn import -m ‘init import‘ svn://xxx.xxx.xxx/project/

9. checkout from another client

cd c:/test2/testproject
svn checkout svn://xxx.xxx.xxx/project/ --username test --password your_password


reference documents

http://cnubuntu.com/forum.php?mod=viewthread&tid=8898
http://www.cnblogs.com/shitouer/archive/2012/07/20/2601231.html
http://www.cnblogs.com/wuhenke/archive/2011/09/21/2184127.html

 

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。