SVN 安装

3/24/2021 SvnToolLinux

摘要

Centos7.8 - 2009
TortoiseSVN:1.14.1

# 一:安装SVN

  1. 使用yum安装svm
yum -y install subversion
1

安装svn1

  1. 新建目录和仓库:在/home目录下新建一个svn目录,目录下新建一个仓库
mkdir /home/ccjSvn
svnadmin create /home/ccjSvn/test
1
2
cd /home/ccjSvn/test/		# 进入仓库目录
ls							# 展示仓库文件
1
2

安装svn2

# 三:配置SVN

配置主要分为三步,权限管理、人员管理、人员权限管理。以上其实为三个文件, 在/home/ccjSvn/test/conf 下管理。查看conf文件夹下的内容。

conf文件内容

# 3.1. 权限管理

vi svnserve.conf
1

找到以下内容,将每行前的#全部去掉即可

anon-access = none                #非授权用户无法访问(也可以设置为read只读)
auth-access = write               #授权用户有写权限
password-db = passwd              #密码数据所在目录
authz-db = authz                  #svn授权文件设置为authz
1
2
3
4

# 3.2. 人员管理

vi passwd
1

在[users]中输入以下示例:

[users]
# harry = harryssecret
# sally = sallyssecret
chencaijun@kungeek.com = 123456                 #输入此行进行人员配置,账号=密码
1
2
3
4

# 3.3. 人员权限管理

vi authz
1

在最后输入以下内容:

[/]
chencaijun@kungeek.com = rw                    #用户登录账号=权限(r为读w为写)
1
2

# 四:启动svn服务

启动SVN

svnserve -d -r /home/ccjSvn
1

查看服务是否启动

ps aux | grep svnserve
1

启动svn

# 五:电脑连接SVN

一般填写地址为:

svn://ip地址/test
svn://ip地址/svn/test
1
2

checkout checkout成功

# 六:可能遇到问题

# Q1:启动若遇到E000098问题,可以关闭进程重新开启,命令如下:

killall svnserve
svnserve -d -r /opt/svn/
1
2

# Q2:若连接SVN一直不成功,可以尝试关闭防火墙,命令如下:

# 停止 firewall:
systemctl stop firewalld

# 禁止 firewall:
systemctl disable firewalld

# 关闭 selinux 永久【重启生效】
vi /etc/selinux/config

# 关闭 selinux 临时【非重启生效】
setenforce 0

# 查看selinux状态
getenforce
1
2
3
4
5
6
7
8
9
10
11
12
13
14

selinux关闭

# Q3:提示没有权限

svn:Can't open file 'xxxxx/txn-current-lock': Permission denied. 出现这种原因在于搭建SVN服务器,包括创建Repository目录,一切子目录和文件都是在root用户下进行的,所以在root用户下检出,提出都没有问题。可在Windows PC上从客户端访问就有问题了,因为是只有拥有管理器权限的人才能对Repository目录进行完全控制,而在Windows从客户端访问的话,因为是 Users用户组的,对Repository没有修改权限,所以不能提交。 解决办法: 在服务器上把Users对Repository的完全控制权限加上就可以了,执行如下命令对xxxxx目录下的所有文件和子目录添加Users的读写权限

chmod -R o+rw /home/ccjSvn/test
1

# Q4:svn: E170001: 认证失败

本地保留了之前输入认证信息,在Linux端口直接删除本地的认证记录

rm -rf  ~/.subversion/auth/
1

认证失败

# 七:参考链接

最后更新: 9/23/2023, 3:55:03 PM