本文的目的让后继之人在搭建SVN服务时不再走弯路
系统环境:Centos 8.3
第一步:卸载
检查环境是否安装低版本svn,没有安装则不返回
rpm -qa subversion
卸载subversion
yum remove subversion
第二步:安装svn
通过yum命令安装subversion
yum -y install subversion
查看svn安装位置
rpm -ql subversion | grep subversion
第三步:新建svn版本库
创建var/svn/svnrepos/
mkdir -p /var/svn/svnrepos
创建svn版本库
svnadmin create /var/svn/svnrepos/test #test为目录或版本库,后面checkout项目时会用到
cd到新建的test目录下面查看文件
conf:SVN版本库配置文件(帐号密码权限等)
conf/authz:负责账号权限的管理,控制账号是否读写权限
conf/passwd:负责账号和密码的用户名单管理
conf/svnserve.conf:svn服务器配置文件
db:版本库数据存储
locks:跟踪目录的访问者
第四步:修改配置文件
进入到conf目录修改authz文件
[root@iZuf6626al8vvry2fnqryxZ test]# cd conf/
[root@iZuf6626al8vvry2fnqryxZ conf]# ls
authz hooks-env.tmpl passwd svnserve.conf
[root@iZuf6626al8vvry2fnqryxZ conf]# vi authz
[groups]
# harry_and_sally = harry,sally
# harry_sally_and_joe = harry,sally,&joe
# [/foo/bar]
# harry = rw
# &joe = r
# * =
# [repository:/baz/fuz]
# @harry_and_sally = rw
# * = r
admin = root
test = test01,test02,test03
[\]
@admin = rw
@test = r
* = r
给admin组下面的账号赋予rw权限,表示可读写;给test组下面的账号赋予r权限,表示只可读;
请注意[]中的斜杠,一定是反斜杠,有些教程说,需添加版本库名称在括号内,我直接建议就这写,这样写允许访问的权限更大,避免一些错误
修改conf/passwd 文件配置
将authz文件添加账号的密码追加到passwd文件末尾,格式为:账号 = 密码
### This file is an example password file for svnserve.
### Its format is similar to that of svnserve.conf. As shown in the
### example below it contains one section labelled [users].
### The name and password for each user follow, one account per line.
[users]
# harry = harryssecret
# sally = sallyssecret
root = ***
test01 = ***
test02 = ***
test03 = ***
修改svn配置文件 vi svnserve.conf(重要)
去掉文件中这4行注释
第五步:打开防火墙
多数情况下,配置完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
第六步:启动svn服务
开启服务:svnserve -d -r /var/svn/svnrepos
查看进程:ps -aux | grep svn
[root@iZuf6626al8vvry2fnqryxZ conf]# svnserve -d -r /var/svn/svnrepos/
[root@iZuf6626al8vvry2fnqryxZ conf]# ps -aux | grep svn
root 26088 0.0 0.1 98728 876 ? Ss 16:15 0:00 svnserve -d -r /var/svn/svnrepos/
root 26090 0.0 0.1 12112 1096 pts/2 R+ 16:15 0:00 grep --color=auto svn
[root@iZuf6626al8vvry2fnqryxZ conf]#
第七步:checkout项目
进入windows 检出项目 地址栏输入 svn://项目ip:3690/xxxx
注意这里的项目ip是服务器的公网ip,不是服务器内部ifconfig出来的ip。