### 第一步:通过yum命令安装svnserve,命令如下:
```
yum -y install subversion
```
此命令会全自动安装svn服务器相关服务和依赖,安装完成会自动停止命令运行
若需查看svn安装位置,可以用以下命令:
```
rpm -ql subversion
```
### 第二步:创建版本库目录(此仅为目录,为后面创建版本库提供存放位置)
选择在var路径下创建版本库,当前处于根目录下,一次性创建如下:
```
cd /usr/local/software/datamkdir -p svn/svnrepos
```
### 第三步:创建svn版本库
在第二步建立的路径基础上,创建版本库,命令如下:
```
cd /usr/local/software/data/svn/svnrepossvnadmin create xxxx (xxxx为你预期的版本库名称,可自定义)
```
创建成功后,进入xxx目录下
```
cd xxxx
```
进入目录,可以看见如下文件信息:
```
[root@iZwz9c9oypf6ww3smnxu5oZ mysvn]# lltotal 24drwxr-xr-x 2 root root 4096 Mar 31 11:17 confdrwxr-sr-x 6 root root 4096 Mar 31 11:17 db-r--r--r-- 1 root root 2 Mar 31 11:17 formatdrwxr-xr-x 2 root root 4096 Mar 31 11:17 hooksdrwxr-xr-x 2 root root 4096 Mar 31 11:17 locks-rw-r--r-- 1 root root 229 Mar 31 11:17 README.txt
```
### 第四步:配置修改
```
cd config
```
有如下三个配置文件
```
[root@iZwz9c9oypf6ww3smnxu5oZ conf]# lltotal 12-rw-r--r-- 1 root root 1080 Mar 31 11:17 authz-rw-r--r-- 1 root root 309 Mar 31 11:17 passwd-rw-r--r-- 1 root root 3090 Mar 31 11:17 svnserve.conf
```
- authz:负责账号权限的管理,控制账号是否读写权限
- passwd:负责账号和密码的用户名单管理
- svnserve.conf:svn服务器配置文件
#### 1、修改authz文件
在最后添加如下内容即可
```
[\] # \ 表示所有仓库root = rw # 用户 admin 在所有仓库拥有读写权限
```
经过我的验证,上面用/或者\都是可以的。
#### 2、修改 passwd文件
在最后添加用户密码
```
root = forever
```
#### 3、修改svnserve.conf
修改对应如下对应内容
```
[general]anon-access = none # 匿名用户不可读写,也可设置为只读 readauth-access = write # 授权用户可写password-db = passwd # 密码文件路径,相对于当前目录realm = mysvn # 认证命名空间,会在认证提示界面显示,并作为凭证缓存的关键字,可以写仓库名称比如mysvn
```
请注意下面这条一定不要放开,否在远程连接不会弹出叫你输入用户密码的,然后一直显示认证失败!
```
#authz-db = authz # 访问控制文件
```
### 第五步:启动SVN
```
svnserve -d -r /usr/local/software/data/svn/svnrepos
```
### 第六步:防火墙开启3690端口
```
firewall-cmd --zone=public --add-port=3690/tcp --permanentfirewall-cmd --reload
```
如果是
### 第七步:客户端连接
在windows客户端,输入地址:svn://ip地址:3690/xxxx (iP地址为你linux的ip,xxxx为前文创建的版本库名称,3690为svn默认端口),弹出输入用户名和密码,输入即可访问。