1. 安装
centos(我这里使用的是CentOS7)下yum命令即可方便的完成安装
1
|
$
sudo
yum
install
subversion
|
测试安装是否成功:
1
|
$ svnserve --version
|
2. 建立版本库
创建svn数据目录(subversion默认是把/var/svn作为数据根目录的,开机启动默认也是从这里):
1
|
$
sudo
mkdir
-p
/var/svn
|
创建版本库:
1
|
$
sudo
svnadmin create
/var/svn/wangwa
|
如果删除版本库:
1
|
$
sudo
rm
-rf
/var/svn/wangwa
|
3. 配置svn配置文件
每个版本库创建之后都会生成svnserve.conf主要配置文件。编辑它:
1
|
$
sudo
vim
/var/svn/wangwa/conf/svnserve
.conf
|
编辑示例:
1
2
3
4
5
6
|
[general]
anon-access = none
#控制非鉴权用户访问版本库的权限
auth-access = write
#控制鉴权用户访问版本库的权限
password-db =
passwd
#指定用户名口令文件名
authz-db = authz
#指定权限配置文件名
realm = wangwa
#指定版本库的认证域,即在登录时提示的认证域名称
|
4. 编辑svn用户配置文件
1
|
sudo
vim
/var/svn/wangwa/conf/passwd
|
编辑示例:
1
2
3
4
|
[
users
]
admin = admin
#用户,密码
fuhd = fuhd
#用户,密码
test
=
test
#用户,密码
|
5. 编辑svn权限控制配置文件
1
|
sudo
vim
/var/svn/wangwa/conf/authz
|
编辑示例:
1
2
3
4
5
6
7
8
9
|
[
groups
]
admin = admin
#admin为用户组,等号之后的admin为用户
test
= fuhd,
test
[wangwa:/]
#表示根目录(/var/svn/wangwa),wangwa: 对应前面配置的realm = wangwa
@admin = rw #表示admin组对根目录有读写权限,r为读,w为写
[wangwa:
/test
]
#表示test目录(/var/svn/wangwa/test)
@
test
= rw
#表示test组对test目录有读写权限
|
6. 启动,查看和停止SVN服务
启动SVN服务:
1
2
|
# -d : 守护进程 -r : svn数据根目录
$
sudo
svnserve -dr
/var/svn
#用root权限启动
|
查看SVN服务:
1
|
$
ps
aux|
grep
svnserve
#默认端口为:3690
|
7. 配置防火墙端口
首先要明确CentOS7的默认防火墙为firewallD。subversion的默认端口为3690,如果没有打开会报错:
1
2
|
$
sudo
firewall-cmd --permanent -add-port=3690
/tcp
$
sudo
firewall-cmd --reload
|
8. 设置开机启动
在centos7, 设置开机启动:
1
|
$
sudo
systemctl
enable
svnserve.service
#注意:根目录必须是/var/svn 这样才能设置成功!!
|
1
2
3
|
#设置开机启动后就可以按下面的方式开启或停止服务了
$
sudo
systemctl start svnserve.service
$
sudo
systemctl stop svnserve.service
|
保存退出,重启并从客户端进行测试。如果报这样的错:svn: E204900: Can't open file '/var/svn/wangwa/format': Permission denied的错误。那就是与SELinux有关系,目前我还不太会用SELinux,那就先把SELinux关闭吧,后面学会了,回过头来再改这一段!!!!:
临时关闭:
1
|
$
sudo
setenforce 0
|
永久关闭:
1
|
$
sudo
vim
/etc/sysconfig/selinux
|
修改:
1
|
SELINUX = disable
#值修改为disable.
|