在Linux上安装SVN

【参考博文https://www.cnblogs.com/puloieswind/p/5856326.html】

检查是否已安装 ------ # rpm -qa subversion

安装SVN服务器 ------ # yum install httpd httpd-devel subversion mod_dav_svn mod_auth_mysql

验证安装 ---------------# cd /etc/httpd/modules;# ls | grep svn;mod_authz_svn.so;mod_dav_svn.so

查看版本 --------------# svnserve --version

安装完成后要建立SVN库 ---------- # mkdir -p /opt/svn/repositories;# svnadmin create /opt/svn/repositories

执行后,自动建立repositories库,查看/opt/svn/repositories文件夹包含了conf,db,format,hooks,locks,README.txt等文件,说明一个SVN库已经建立。

用户密码passwd配置:进入/opt/svn/repositories/conf文件夹下, # vi + passwd //+表示光标放在文件最低端,修改passwd文件的内容,添加最后一行

[users]

# harry = harryssecret

# sally = sallyssecret

zhoulf=123456

用户的权限配置:进入/opt/svn/repositories/conf文件夹下,# vim + authz ,修改antuz文件的内容,添加如下内容:

[/]

zhoulf=rw //给该用户访问所有库的权限

或者:

[repositories:/project]

zhoulf=rw //对repositories的根目录的权限

配置svnserve.conf文件,添加如下内容:

[general]

#匿名访问的权限,可以是read,write,none,默认为read

anon-access=none

#使授权用户有写权限

auth-access=write

#密码数据库的路径

password-db=passwd

#访问控制文件

authz-db=authz

#认证命名空间,subversion会在认证提示里显示,并且作为凭证缓存的关键字

realm=/opt/svn/repositories

配置防火墙端口?

启动svn:# svnserve -d -r /opt/svn(这里需要注意,启动时候目录层级到你建立的仓库的上一级)

查看svn进程:# ps -ef|grep svn|grep -v grep

检测svn端口:# netstat -ln |grep 3690

停止svn:# killall svnserve //停止

启动svn:# svnserve -d -r /opt/svn // 启动

最后在本地启动TortoiseSVN进行测试,右键文件夹,checkout,输入连接地址svn://********;然后输入用户名密码;就可以对该仓库进行管理了。

*可以这样理解,在linux上安装svn,创建文件夹调用svnadmin指令,得到根仓库,然后修改目录下相应的配置文件,包括用户名/密码/权限。最后调用svnserve命令启动svn服务,这个命令可以在不同的文件夹启动,启动后在客户端如果要找到相应的仓库,就需要在svnurl后面加上文件夹路径svn://ip:3690+项目名