一、安装与配置

1. yum install subversion -y
2. 输入rpm -ql subversion | grep bin查看安装位置,如下图:




centos下配置SVN服务 centos svn服务器_centos下配置SVN服务


3. 可以看到 svn在bin目录下生成了几个二进制文件。再输入/usr/bin/svnversion --version 就可以查看svn的版本,这样就说明svn安装成功,如下图:


centos下配置SVN服务 centos svn服务器_java_02


4. 创建svn版本库目录

mkdir -p /usr/local/svn

5. 创建版本库

svnadmin create /usr/local/svn

执行了这个命令之后会在/usr/local/svn目录下生成如下这些文件


centos下配置SVN服务 centos svn服务器_java_03


6. 进入conf目录(该svn版本库配置文件)

authz文件是权限控制文件
passwd是帐号密码文件
svnserve.conf SVN服务配置文件

7. 设置帐号密码

vi passwd
在[users]块中添加用户和密码,格式:帐号=密码,如dan=dan

8. 设置权限

vi authz
在末尾添加如下代码:
[/]
dan=rw
w=r
意思是版本库的根目录dan对其有读写权限,w只有读权限

9. 修改svnserve.conf文件

vi svnserve.conf

打开下面的几个注释:
anon-access = read # 匿名用户可读
auth-access = write # 授权用户可写
password-db = passwd # 使用哪个文件作为账号文件
authz-db = authz # 使用哪个文件作为权限文件
realm = /usr/local/svn # 认证空间名,版本库所在目录

10. 启动svn版本库

svnserve -d -r /usr/local/svn

11. 其他命令

关闭 killall svnserve
重启 svnserve -d -r /usr/local/svn

12. 连接svn报错

netstat -apn | grep svn 监听端口不是443
重新添加安全组,设定3690端流量出入

13. 启动SVN,建立svn监听目录,一般端口为3690, -d -r表示为守护进程,可以后台运行

ps aux | grep svnserve
svnserve -d -r /usr/local/svn

14. 测试SVN是否启动

ps aux | grep svnserve

14. 访问SVN,因为服务器端的svnserve所运行的进程为/usr/local/svn,所以只输入"svn://ip地址"只会代表/usr/local/svn

svn://服务器端的ip地址

一、设置svn开机启动

1. 任意目录下创建一个脚本文件, 比如"/usr/local"下:

touch svn_start.sh

2. 编辑脚本文件

vim svn_start.sh

3. 添加以下内容

#!/bin/bash
/usr/bin/svnserve -d -r /usr/local/svn

解释一下: 这里的svnserve路径保险起见,最好写绝对路径,因为启动的时候,环境变量也许没加载
绝对路径怎么查?

which svnserve

4. 改该脚本的执行权限

chmod 777 svn_start.sh

5. 加入自动运行

vi /etc/rc.d/rc.local

在末尾添加脚本的路径:
/usr/local/svn_start.sh

6. 加入自动运行重启Linux服务器,重启后查看svn服务器是否已经开启

ps -ef|grep svnserve

如果显示以下信息表示svn已经开启了:
tcp 0 0 0.0.0.0:3690 0.0.0.0:* LISTEN

此过程中遇到的问题集
  1. 开启svnserver遇到如下问题
    [root@odboy ~]# /usr/bin/svnversion --version
    /usr/bin/svnversion: error while loading shared libraries:
    libapr-1.so.0: cannot open shared object file: No such file or directory
    原因:缺少了apache的apr-util的支持
    解决方案:yum install -y apr-util