1、安装
1.1、安装svn服务器
使用yum方式安装
yum install subversion
1.2、查看安装位置
输入:
# rpm -ql subversion
如下图:
可以看到 svn在bin目录下生成了几个二进制文件。
1.3、查看svn的版本
输入:
# /usr/bin/svnversion --version
如下图:
这样就说明svn安装成功。
2、配置
2.1、创建svn仓库
我们这里在 /home 下建立一个名为 svn 的仓库(repository),以后所有代码都放在这个下面,创建成功后在svn下面多了几个文件夹。
# cd /home
# mkdir svn
# svnadmin create /home/svn
# ls svn
conf db format hooks locks README.txt
我们这里特别关注一下 conf 文件夹,这个是存放配置文件的
# cd svn/conf
# ls
authz passwd svnserve.conf
其中:
- authz 是权限控制文件
- passwd 是帐号密码文件
- svnserve.conf 是SVN服务配置文件
接下来我们依次修改这3个文件。
2.2、配置passwd
# vim passwd
[users]
phper=phper
jser=jser
上面的例子中我们创建了2个用户,一个phper,一个jser
####2.3、配置authz
# vim authz
[/] //仓库下所有文件
phper=rw //可读可写
js=r //只读
*= //其他用户无任何权限
2.4、拓展:使用用户分组
这个我一般不用,但是记录下来
还是这个文件:
# vim authz
[groups]
php = phper
js= jser,jser2
[/]
@php= rw
@js= r
* =
上面配置中创建了2个分组,分组1的用户可读可写,分组2的用户只读。
格式说明:
版本库目录格式:
[<版本库>:/项目/目录]
@<用户组名> = <权限>
<用户名> = <权限>
3、配置svnserve.conf
# vim svnserve.conf
打开下面的5个注释
anon-access=read #匿名用户可读
auth-access=write #授权用户可写
password-db=passwd #使用哪个文件作为账号文件
authz-db=authz #使用哪个文件作为权限文件
realm=/home/svn # 认证空间名,版本库所在目录
注意:
- 最后一行的realm记得改成你的svn目录
- 打开注释时切记前面不要留有空格,否则可能有问题(我亲测过)
4、启动、停止和查看
4.1、启动svn服务器
# svnserve -d -r /home/svn
上述启动命令中, -d 表示守护进程, -r 表示在后台执行。
####4.2、停止svn服务器
# killall svnserve
停止还可以采用杀死进程的方式:
# ps -ef|grep svnserve
root 4908 1 0 21:32 ? 00:00:00 svnserve -d -r /home/svn
root 4949 4822 0 22:05 pts/0 00:00:00 grep svnserve
# kill -9 4908
####4.3、查看svn服务器进程
# ps -ef | grep svn | grep -v grep
root 3516 1 0 01:55 ? 00:00:00 svnserve -d -r /home/svn
####4.4、查看svn服务器端口
# netstat -ln | grep 3690
tcp 0 0 0.0.0.0:3690 0.0.0.0:* LISTEN
5、配置3690防火墙端口
这里我就不详细配置了
6、客户端连接
这里使用TortoiseSVN,输入地址 svn://你的IP 即可,不出意外输入用户名和密码就能连接成功了。
默认端口3690,如果你修改了端口,那么要记得加上端口号。