1、安装svn
ubuntu下:sudo apt-get install subversion
centos下通过yum安装:yum install subversion
要想知道是否安装成功,通过 svnserve --version 就可以检测,如果看到版本号就说明已经ok了。
2、建立代码仓库
mkdir svndata #假定创建svndata目录存放svn相关文件
svnadmin create svndata/project #project为版本库名
3、修改配置文件
创建完版本库后在conf目录下找到 svnserve.conf
vi svndata/project/conf/svnserve.conf
#取消以下四行的注释
anon-access = none (控制非鉴权用户访问版本库的权限。 )
auth-access = write (控制鉴权用户访问版本库的权限。)
password-db = passwd (指定用户名口令文件名。)
authz-db = authz (指定权限配置文件名,通过该文件可以实现以路径为基础的访问控制。 )
#添加用户
vi /svndata/project/conf/passwd
[users]
steven = steven #添加用户steven,密码为steven
#修改用户属组
vi /svndata/project/conf/authz
[groups]
user = steven #指定steven为user组
[/] #设置根目录权限(即svndata)
steven = r #赋予steven根目录可读权限
[svndata:/project] #设置svndata下project库的权限
steven = rw #赋予steven project目录的读写权限
4、启动停止svn服务
启动:svnserve -d -r /svndata/ #-d表示后台运行,-r 指定根目录
停止:ps aux | grep svn
kill -9 [进程id]
到此svn服务端的配置就已经完成。
PS:刚配置完通过客户端svn checkout时,遇到连接失败的问题,经过排查发现是防火墙端口没开,通过命令打开3690端口号即可: iptables -I INPUT -p tcp --dport 3690 -j ACCEPT,操作完重新checkout恢复正常(如果想永久开放端口,需要进入:vi /etc/sysconfig/iptables 在最后加上目标端口即可,保存退出后,使用:/sbin/service iptables restart 重启防火墙)。