侧边栏壁纸
  • 累计撰写 73 篇文章
  • 累计创建 30 个标签
  • 累计收到 0 条评论

目 录CONTENT

文章目录

CentOS7搭建svn服务器

欧泡果奶
2022-03-12 / 0 评论 / 0 点赞 / 175 阅读 / 0 字

1. 安装subversion

yum install -y subversion

若需查看svn安装位置,可以用以下命令

rpm -ql subversion

2. 创建版本库目录

mkdir /var/svnrepos

3. 创建svn版本库

svnadmin create /var/svnrepos/xxxx

xxxx为你预期的版本库名称,可自定义

创建成功后,进入xxxx目录下

cd /var/svnrepos/xxxx

进入目录,可以看见如下文件信息:

总用量 8
drwxr-xr-x. 2 root root  54 3月  12 20:18 conf
drwxr-sr-x. 6 root root 233 3月  12 20:18 db
-r--r--r--. 1 root root   2 3月  12 20:18 format
drwxr-xr-x. 2 root root 231 3月  12 20:18 hooks
drwxr-xr-x. 2 root root  41 3月  12 20:18 locks
-rw-r--r--. 1 root root 229 3月  12 20:18 README.txt

下面是这些目录的详细讲解

路径 类型 作用
conf 目录 存放版本库所用配置文件的目录
db 目录 版本库数据存储目录
db/fs-type 文件 版本库数据真实存储格式,SVNfsfsbdb两种存储格式
db/revprops 目录 记录版本属性
db/revs 目录 版本库数据存储真实目录
db/uuid 文件 存储版本库唯一标识号
db/txn-current 文件 记录当前事务
format 文件 存储一个整数的文件,此整数代表库层次结构版本
hooks 目录 存放版本库钩子目录
locks 目录 存储库锁目录,用来跟踪库的访问者

4. 配置修改

进入已经创建好的版本库目录下,也就是前文说创建的xxxx,进入conf

cd /var/svnrepos/xxxx/conf

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

总用量 12
-rw-r--r--. 1 root root 1080 3月  12 20:18 authz
-rw-r--r--. 1 root root  309 3月  12 20:18 passwd
-rw-r--r--. 1 root root 3090 3月  12 20:18 svnserve.conf

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

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

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

4.1 编辑 authz 文件(注意:[/]也是必须的)

authz

[/] 表示根目录,即 /var/svnrepos

luo = rw 表示用户luo对根目录具有读写权限

4.2 编辑 passwd 文件

passwd

如上所示,用户名为:luo,认证密码为:luo123456

4.3 编辑 svnserve.conf 文件(注意:配置的前面不能有空格,一定要顶格写

svnserve.conf

anon-access = none:表示禁止匿名用户访问。

auth-access = write:表示授权用户拥有读写权限。

password-db = passswd:指定用户名口令文件,即 passwd 文件。

authz-db = authz:指定权限配置文件,即 authz 文件。

realm = /var/svnrepos:指定认证域,即 /var/svnrepos 目录。

5. 开放3690端口

firewall-cmd --zone=public --add-port=3690/tcp --permanent
firewall-cmd --reload

6. 启动svn服务器

svnserve -d -r /var/svnrepos

7. 客户端访问svn服务器

svn://ip地址:3690/xxxx (ip地址为你linux的ip,xxxx为前文创建的版本库名称,3690为svn默认端口)
弹出输入用户名和密码,输入即可访问

问题小结

输入账号密码后,提示 svn: Authorization failed解决办法
把authz 文件 [/] 改为 [\] 试试
0

评论区