- 检查是否安装了低版本的SVN
rpm -qa subversion
- 卸载旧版本SVN
yum remove subversion
- 安装SVN
yum install httpd httpd-devel subversion mod_dav_svn mod_auth_mysql
- 确认已安装了svn模块
cd /etc/httpd/modules
ls | grep svn
mod_authz_svn.so
mod_dav_svn.so
- 检验已经安装的SVN版本信息
svnserve --version
- 代码库创建
mkdir -p /data/svn/repos
svnadmin create /data/svn/repos
- 配置代码库-用户密码passwd配置
cd /data/svn/repos/conf
vi + passwd
- 修改passwd为以下内容:
[users]
# harry = harryssecret
# sally = sallyssecret
zhoulf=123456
- 权限控制authz配置
vi + authz
- 目的是设置哪些用户可以访问哪些目录,向authz文件追加以下内容:
[/]
zhoulf=rw
- 服务svnserve.conf配置
vi + svnserve.conf
- 追加以下内容:
[general]
#匿名访问的权限,可以是read,write,none,默认为read
anon-access=none
#使授权用户有写权限
auth-access=write
#密码数据库的路径
password-db=passwd
#访问控制文件
authz-db=authz
#认证命名空间,subversion会在认证提示里显示,并且作为凭证缓存的关键字
realm=/opt/svn/repositories
- 配置防火墙端口
vi /etc/sysconfig/iptables
- 添加以下内容:
-A INPUT -m state --state NEW -m tcp -p tcp --dport 3690 -j ACCEPT
- 保存后重启防火墙
service iptables restart
- 启动SVN
svnserve -d -r /data/svn/repos
- 查看SVN进程
ps -ef|grep svn|grep -v grep
root 12538 1 0 14:40 ? 00:00:00 svnserve -d -r /opt/svn/repositories
- 检测SVN 端口
netstat -ln |grep 3690
tcp 0 0 0.0.0.0:3690 0.0.0.0:* LISTEN
- 停止重启SVN
killall svnserve //停止
svnserve -d -r /data/svn/repos // 启动
测试
SVN服务已经启动,使用客户端测试连接。
客户端连接地址:svn://127.0.0.1
用户名/密码: zhoulf/123456
测试创建文件夹等操作。