CentOS 7 安装 Subversion (SVN)
验证机器上是否已经安装了SVN
1、检查是否安装:
```bash
rpm qa subversion
```
2、如果存在则显示 svn 包及版本号信息等:
```text
subversion1.7.1414.el7.x86_64
```
3、卸载(如果已安装):
```bash
yum remove subversion
```
安装 Subversion
1、安装:
```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
服务以使更改生效。