HCRM博客

如何在CentOS上安装和配置Subversion(SVN)服务器?

CentOS 7 安装 Subversion (SVN)

验证机器上是否已经安装了SVN

1、检查是否安装

如何在CentOS上安装和配置Subversion(SVN)服务器?-图1
(图片来源网络,侵权删除)

```bash

rpm qa subversion

```

2、如果存在则显示 svn 包及版本号信息等

```text

subversion1.7.1414.el7.x86_64

如何在CentOS上安装和配置Subversion(SVN)服务器?-图2
(图片来源网络,侵权删除)

```

3、卸载(如果已安装)

```bash

yum remove subversion

```

安装 Subversion

1、安装

如何在CentOS上安装和配置Subversion(SVN)服务器?-图3
(图片来源网络,侵权删除)

```bash

sudo yum install y subversion

```

2、检查是否安装成功

```bash

svnserve version

```

3、出现类似以下版本号等信息说明安装成功

```text

svnserve, version 1.7.14 (r1542130)

Subversion is open source software, see http://subversion.apache.org/

```

创建版本库

1、创建版本库根目录

```bash

sudo mkdir /var/svn/svnrepos

```

2、创建分支目录

```bash

sudo mkdir /var/svn/svnrepos/trunk

```

trunk 文件夹主干,一般把项目提交到此文件夹里面,在 trunk 中开发。

```bash

sudo mkdir /var/svn/svnrepos/branches

```

branches 文件夹分支,一般把那些需要打分支但有可能会修改的项目代码,打分支到此目录。

```bash

sudo mkdir /var/svn/svnrepos/tags

```

tags 文件夹分支,一般把那些阶段性(如迭代各期)的项目代码,打分支到此目录。

3、创建版本库

```bash

sudo svnadmin create /var/svn/svnrepos/trunk/demo

```

* demo 为新建的版本库目录(可以是项目名称或公司名称)。

4、目录介绍

```bash

cd /var/svn/svnrepos/trunk/demo/

```

配置文件

1、authz

编辑authz 文件来设置用户组和权限:

```bash

sudo vi conf/authz

```

删除所有内容并粘贴如下

```ini

[groups]

# 为用户组,admin = frank, maggie, benny

admin = frank

# 代表所有

[/]

# 表示 admin 用户组的成员可以对 / 读写操作

@admin = rw

# 针对某个库进行配置

[/doc]

# 表示 admin 用户组的成员可以对 / 读写操作

@admin=rw

```

* 保存并退出。

2、passwd

编辑passwd 文件来设置用户账号和密码:

```bash

sudo vi conf/passwd

```

删除所有内容并粘贴如下

```ini

[users]

# 格式:用户名 = 密码

frank = 123456

```

* 保存并退出。

3、svnserve.conf

编辑svnserve.conf 文件来配置 SVN 服务器:

```bash

sudo vi conf/svnserve.conf

```

删除所有内容并粘贴如下

```ini

[general]

# 匿名用户权限(none:拒绝, write:读写, read:只读权限)

anonaccess = none

# 鉴权用户访问

authaccess = write

# 用户信息配置文件(也可以是绝对路径)

passworddb = passwd

# 权限配置文件

authzdb = authz

# ...

realm = My First Repository

# forceusernamecase = none

```

* 保存并退出。

开启防火墙

1、配置防火墙开放 3690 端口

```bash

sudo firewallcmd permanent addservice=telnet

sudo firewallcmd permanent addport=3690/tcp

sudo firewallcmd reload

```

启动服务

1、启动 SVN 服务

```bash

svnserve d r /var/svn/svnrepos

```

2、查看进程,检验是否启动成功

```bash

ps ef | grep svn

```

Windows checkout

TortoiseSVN 安装配置略,检出地址格式:

svn://项目ip:3690/xxxx

CentOS 8 安装 Subversion (SVN)

验证机器上是否已经安装了SVN

同 CentOS 7。

安装 Subversion

1、安装

```bash

sudo yum install y subversion

```

或者在 CentOS 8 上使用dnf

```bash

sudo dnf install y subversion

```

2、检查是否安装成功

```bash

svnserve version

```

创建版本库

同 CentOS 7。

配置文件

同 CentOS 7。

开启防火墙

同 CentOS 7。

启动服务

同 CentOS 7。

Windows checkout

同 CentOS 7。

FAQs(常见问题解答)

1、Q: 如果忘记SVN密码怎么办?

A: 可以通过重新编辑passwd 文件来重置用户的密码,具体步骤如下:

1. 打开passwd 文件:sudo vi /var/svn/svnrepos/trunk/demo/conf/passwd

2. 找到对应用户的密码行,修改为新的密码并保存,将frank = 123456 改为frank = newpassword

3. 重启svnserve 服务以使更改生效。

4. 客户端更新密码后即可继续使用。

2、Q: 如果需要限制某些用户的访问权限怎么办?

A: 你可以通过编辑authz 文件来配置不同用户的访问权限,具体步骤如下:

1. 打开authz 文件:sudo vi /var/svn/svnrepos/trunk/demo/conf/authz

2. 根据需求添加或修改用户组及其权限,创建一个名为developers 的用户组,并赋予其读写权限;创建一个名为readers 的用户组,并赋予其只读权限:

```ini

[groups]

developers = user1, user2, user3

readers = user4, user5

[/]

@developers = rw

@readers = r

```

3. 保存并退出编辑器。

4. 重启svnserve 服务以使更改生效。

分享:
扫描分享到社交APP
上一篇
下一篇