SVN 配置和安装

本文详细介绍了如何配置和安装 SVN 服务器,包括创建 SVN 仓库、配置用户权限、启动 SVN 服务以及使用 http 协议访问。重点讲述了在 `svnserve.conf`、`passwd` 和 `authz` 文件中的配置修改,以确保安全的匿名访问控制和多库管理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、安装

shellyum install -y subversion### 二、创建一个 SVN 仓库**创建一个仓库 Documents/svn/learn **shellsvnadmin create ~/Documents/svn/learn目录结构如下bash➜ learn pwd /Users/yang/Documents/svn/learn➜ learn tree .├── README.txt├── conf│ ├── authz│ ├── hooks-env.tmpl│ ├── passwd│ └── svnserve.conf├── db│ ├── current│ ├── format│ ├── fs-type│ ├── fsfs.conf│ ├── min-unpacked-rev│ ├── revprops│ │ └── 0│ │ └── 0│ ├── revs│ │ └── 0│ │ └── 0│ ├── transactions│ ├── txn-current│ ├── txn-current-lock│ ├── txn-protorevs│ ├── uuid│ └── write-lock├── format├── hooks│ ├── post-commit.tmpl│ ├── post-lock.tmpl│ ├── post-revprop-change.tmpl│ ├── post-unlock.tmpl│ ├── pre-commit.tmpl│ ├── pre-lock.tmpl│ ├── pre-revprop-change.tmpl│ ├── pre-unlock.tmpl│ └── start-commit.tmpl└── locks ├── db-logs.lock └── db.lock10 directories, 28 files➜ learn### 三、配置用户权限在 svn/learn/conf 文件夹中有如下文件,我们需要分别进行修改。bash├── conf│ ├── authz│ ├── hooks-env.tmpl│ ├── passwd│ └── svnserve.conf1. 修改 svnserve.conf - 将下面标注出来的 4 个配置项前面的 #空格 都去掉 - anon-access 改成 none。表示禁止匿名访问,需要帐号密码才能访问 bash ### 去掉注释,不允许匿名访问 anon-access = none auth-access = write ### 使用密码 password-db = passwd ### 使用 用户配置 authz-db = authz2. 修改 passwd。在 [users] 下面添加帐号和密码(这里我配置了两个用户) bash # 添加两个用户,用户名 = 密码 root = root yang = yang3. 修改 authz bash # 创建一个 root 群组,用用户 root ,创建了一个 dev 开发者群组,有 yang root = root dev = yang # root 用户 和 root 群组 对所有的资源都有读写的权限 [/] @root = rw root =rw # dev 群组 和 root 用户都有对 learn 库的所有读写权限 [learn:/] root = rw @dev = rw ### 四、启动 SVN 服务> 使用命令 svnserve 启动服务>> svnserve -d -r 目录 --listen-port 端口号>> * -r: 配置方式决定了版本库访问方式。> * –listen-port: 指定 SVN 监听端口,不加此参数,SVN 默认监听 3690>> 方式一:-r 直接指定到版本库 (称之为单库 svnserve 方式)>> svnserve -d -r ~/Documents/svn/learn>> 在这种情况下,一个 svnserve 只能为一个版本库工作。>> authz 配置文件中对版本库权限的配置应这样写:>> bash> [groups]> admin=user1> dev=user2> [/]> @admin=rw> user2=r>>> 使用类似这样的 URL:svn://127.0.0.1/ 即可访问 runoob 版本库>> 方式二:指定到版本库的上级目录 (称之为多库 svnserve 方式)>> svnserve -d -r ~/Documents/svn>> 这种情况,一个 svnserve 可以为多个版本库工作>> authz 配置文件中对版本库权限的配置应这样写:>> bash> [groups]> admin=user1> dev=user2> [runoob:/]> @admin=rw> user2=r> > [runoob01:/]> @admin=rw> user2=r>> 如果此时你还用 [/],则表示所有库的根目录,同理,[/src] 表示所有库的根目录下的 src 目录。>> 使用类似这样的 URL:svn://192.168.0.1/runoob 即可访问 runoob 版本库。我们可以在终端中运行如下命令启动 svn 服务器:多库bashsvnserve -d -r ~/Documents/svnidea 连接URL : svn://localhost/learn或者运行如下命令也可以启动:单库bashsvnserve -d -r ~/Documents/svn/learn### 五、使用 http 协议> https://www.vultr.com/docs/how-to-setup-an-apache-subversion-svn-server-on-centos-7

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值