1. 安装SVN服务端
检查是否已安装
rpm -qa subversion
安装SVN服务器
yum install subversion
查看版本
svnserve --version
2. 代码库创建
安装后要创建代码库,根据自己要放置的路径创建代码库文件夹
mkdir -p /svn
svnadmin create /svn
执行后,自动建立库,查看/svn文件夹包含了conf,db,format,hooks,locks,README.txt等文件,说明一个SVN库已经建立。
3. 配置版本库
进入上面conf文件夹下,进行配置
3.1 配置用户
编辑passwd文件,如admin=admin,前面是用户名后面是密码
vi passwd
修改后如下
[users]
# harry = harryssecret
# sally = sallyssecret
admin=admin
3.2 权限控制
编辑authz文件
/ 表示根目录及以下,根目录是svnserve启动时指定的,我们指定的是/svn;
/ 就是指对全部版本库都具有权限
[/]
admin=rw #读写
test=r #可读
*= 其他用户不可读写
PS:
- 权限配置文件中出现的用户名必须已在用户配置文件中定义。
对权限配置文件的修改立即生效,不必重启svn。
3.3 服务配置
vi + svnserve.conf
[general]
#匿名访问的权限,可以是read,write,none,默认为read
anon-access=none
#使授权用户有写权限
auth-access=write
#密码数据库的路径
password-db=passwd
#访问控制文件
authz-db=authz
#认证命名空间,subversion会在认证提示里显示,并且作为凭证缓存的关键字
realm=/svn
PS:
注意标签不能错,不能有重复,不然无法连接
3.4 配置防火墙
vi /etc/sysconfig/iptables
添加以下内容
-A INPUT -m state --state NEW -m tcp -p tcp --dport 3690 -j ACCEPT
保存后重启防火墙
service iptables restart
4. 测试
- 启动svn
svnserve -d -r /svn
- 查看进程
ps -ef|grep svnserve
- 重启
killall svnserve #停止
svnserve -d -r /svn #启动
- 连接
使用TortoiseSVN进行测试:
- SVN服务启动后,需要使用客户端测试连接:
客户端连接地址:svn://ip然后,输入用户名密码;
新建一个文件夹,即本地的库文件夹,右键checkout,将会得到一个隐藏文件夹.svn;
在此文件夹中放入项目内容,然后右键点击commit,就可以上传本地项目了。