转载链接:https://blog.csdn.net/a1104004650/article/details/82731596
收集了网上很多资料终于搭好啦。
系统环境:centOS7.0
1: rpm -qa subversion 查询SVN是否有过低版本SVN(没有安装过则不显示)
2:yum removesubversion 卸载SVN
1:yum -y install subversion 云安装命令 安装SVN相关服务
2:检查SVN是否安装成功 svnserve --version
我自己系统这边把版本库根目录 安装在了 var/svn/svnrepos/目录下
1: mkdir /var/svn/svnrepos 创建一个文件夹
2:创建SVN版本库 svnadmin create /var/svn/svnrepos/xxxx (xxxx)为目录(项目或版本库)名称,后面checkout项目时会用到。
3:>cd /var/svn/svnrepos/xxxx 进入该目录查看目录下
>ls 检查创建的文件。
4: conf,db,format,books,locks等文件或文件夹
简单介绍一下目录:
conf:SVN版本库配置文件(帐号密码权限等)
conf/authz:负责账号权限的管理,控制账号是否读写权限
conf/passwd:负责账号和密码的用户名单管理
conf/svnserve.conf:svn服务器配置文件
db:版本库数据存储
locks:跟踪目录的访问者
1:进入conf目录 >cd /var/svn/svnrepos/xxxx/conf
2: 修改authz文件 >vi authz
3: 按一下 i 键 进入VIM编辑模式
在本文末尾增加如下代码:
[\]
用户名1 = rw
用户名2 = r
* = r
[/文件夹1]
用户名2 = rw
PS:1:[\] 表示 最大权限 [/文件夹] 表示针对这个文件夹的权限
2:用户名(组)可以随意定义
3:rw 和 r分别代表 可读可写 和 只读
4:* 表示 任何用户
5:关于权限这边不做过多说明。
4: 保存并退出 esc > :wq
5: 修改passwd 文件配置 在末尾添加 账号密码(VIM模式如何处理 编写 保存退出 请看 步骤3 步骤4) vi passwd
格式是 : 账号 = 密码
6:修改svn配置文件 vi svnserve.conf
取值范围介绍:write 可读可写 read 只读 none 无权访问
anon-access:表示非授权(游客)用户访问范围 默认值:read;
auth-access: 表示授权用户访问范围 默认值:write;
password-db:passwd文件相对路径 他默认会指向你的 ../conf/passwd 不需要设置
realm:指定版本库认证域 可以随意设置一个UUID 比如:my test
去掉4行注释。
7:保存并退出。
多数情况下,配置完SVN后 无法访问通常是防火墙为配置 3690 端口(SVN默认端口)
1:>/sbin/iptables -I INPUT -p tcp --dport 3690 -j ACCEPT
2:>/etc/init.d/iptables save
3:>service iptables restart
或者(系统未安装INPUT命令 或者 centOS7 firewall 已经代替 iptables)
1: sudo firewall-cmd --permanent --add-service=telnet
2: sudo firewall-cmd --permanent --add-port=3690/tcp
3: sudo firewall-cmd --reload
centOS 7 防火墙开启 关闭 与 查看状态
systemctl start firewalld
systemctl stop firewalld
systemctl status firewalld
1:svnserve -d -r /var/svn/svnrepos (/var/svn/svnrepos 为当初svn版本库根目录)
2:启动成功后 ps aux | grep svn 可以查看svn进程
3:(如目录正常则跳过此步骤 若该目录 并非当初创建时目录 则需要停止服务并修改重启) kill 这个进程 并执行步骤1
1:进入windows 检出项目 地址栏输入 svn://项目ip:3690/xxxx
项目ip可以通过 ip addr 或者 ifconfig 查看 inet
xxxx 为当初建立的SVN版本库 可以从上文 xxxx寻找