centos7安装SVN

centos7安装SVN

精选文章moguli202025-04-10 23:19:2514A+A-

第一步:先关闭防火墙

【firewall-cmd --state 】查看防火墙的状态 关闭后显示not running,开启后显示running。【systemctl stop firewalld.service】临时关闭防火墙。

【systemctl disable firewalld.service】禁止防火墙开机启动。

第二步通过yum命令安装svnserve,命令:yum -y install subversion



第三步:创建版本库目录(此仅为目录,为后面创建版本库提供存放位置,subversion默认是把/var/svn作为数据根目录的,开机启动默认也是从这里):mkdir /var/svn/svnrepos


第四步:创建svn版本库

在第二步建立的路径基础上,创建版本库:svnadmin create /var/svn/test(test为目录(项目或版本库)名称,后面checkout项目时会用到。)

第五步:配置修改

进入conf,conf目录下,一共存放三份重要的配置文件,如下:

先进入test目录

cd /var/svn/test

cd conf/


:authz:负责账号权限的管理,控制账号是否读写权限

passwd:负责账号和密码的用户名单管理

svnserve.conf:svn服务器配置文件

第六步修改svnserve.conf

vim svnserve.conf

修改结果如下

第七步修改authz文件信息:

vim authz

rw表示赋予此账号可读写的权限,r为读,w为写,注意[/]中的斜杠,这里如果斜杠反了,authz-db = authz 一直会提示“认证失败”

第一种方式:单个添加:

# 按账号分权限

[test/]

admin = rw

test = r

第二种方式(后面采用此方式配置):用户分组,再设权限

[groups]

# 按用户组分权限

admin = admin,admin1 # admin为用户组,等号之后的为用户

test = test1, test2 # test为用户组,等号之后的为用户

[/] # 表示svn仓库目录(/var/svn/test),test: 对应前面配置的realm = test

@admin = rw # 表示admin组对仓库(/var/svn/test)目录有读写权限,r为读,w为写

@test = r # 表示test组的用户对对仓库(/var/svn/test)目录只有读的权限

[/test1] # 表示test1目录(/var/svn/test/test1)

@test = rw # 表示test组对test1目录有读写权限

* =

第八步:修改修改passwd文件信息

vim passwd

需要重启svn服务

产看svn服务:

ps -ef|grep svnserve

结束进程

ps -ef|grep svnserve

启动svnf服务

svnserve -dr /var/svn

设置开机启动

在centos7, 设置开机启动:

sudo systemctl enable svnserve.service #注意:根目录必须是/var/svn 这样才能设置成功!!

sudo systemctl enable svnserve.service

设置开机启动后就可以按下面的方式开启或停止服务了

systemctl start svnserve.service

systemctl stop svnserve.service

第九步检出项目

进入windows 检出项目 地址栏输入 svn://项目ip:3690/test

项目ip可以通过 ip addr 或者 ifconfig 查看 inet,test 为当初建立的SVN版本库 可以从上文寻找

注释掉:authz-db = authz


清除SVN记录的账号信息:SVN设置_已保存数据_清除


异常及解决:

如果提示:svnserve: Root path '/var/svn' does not exist or is not a directory.目录不存在

修改etc/sysconfig/svnserve配置文件将OPTIONS="-r /var/svn"改成自己的svndata目录 如"-r/svndata/test"

如果提示:svnserve: E000098: Can't bind server socket: Address already in use 端口被占用

先用命令 >netstat -ntlp列出所有端口占用情况,找到端口3690的PID,结束掉些进程: kill PID号;再启动

提示认证失败 注意这个括号斜杠后面的内容去掉就行了

点击这里复制本文地址 以上内容由莫古技术网整理呈现,请务必在转载分享时注明本文地址!如对内容有疑问,请联系我们,谢谢!
qrcode

莫古技术网 © All Rights Reserved.  滇ICP备2024046894号-2