Centos7 安装配置 SVN

Centos7 安装配置 SVN

https://www.cnblogs.com/xioawu-blog/p/11304494.html

https://www.cnblogs.com/-mrl/p/8980244.html

SVN命令---官方介绍

https://svnbucket.com/posts/svn-commands-tutorial/

 

启动与停止。

 

svnserve -d -r /data/svn/ #启动

 

ps -aux |grep svn #查询进程号,用kill -9 干掉

 

root 55575 0.0 0.0 180836 svnserve -d -r /data/svn/
root 83484 0.0 0.0 112824 grep --color=auto svn

 

kill -9 55575

或者killall svnserve

 

SVN基本操作---官方介绍

https://svnbucket.com/posts/svn-tutorial/

==亲测===============================

如果在查看log或up等等情况时,

报错:svn: E220001: Item is not readable

这个是服务端仓库配置问题,根据我们是否需要允许匿名访问,分为两种情况解决。

 1,允许匿名访问(只读)

 (1) svnserve.conf 文件中   anon-access 设为   read。

 原文:代码更新时报“svn: E220001: Item is not readable”错误的解决

 (2) authz  文件中在  [/] 下添加  * = r

 原文:代码更新时报“svn: E220001: Item is not readable”错误的解决

2,禁止匿名访问(读写都需要用户名、密码)

 (1) svnserve.conf 文件中   anon-access  设为   none。

 原文:代码更新时报“svn: E220001: Item is not readable”错误的解决

 (2) authz  文件中在   [/] 下只需要配置相关的用户,不要添加   * = r 了。

 原文:代码更新时报“svn: E220001: Item is not readable”错误的解决

 ==亲测===============================

多仓库,多目录,多权限配置思路

就是:把authz,passwd文件放到主目录,

     把每个svnserve.conf里的authz,passwd路径指向主目录里的相应配置文件就行。

password-db = ../../passwd
authz-db = ../../authz

3.创建SVN仓库目录

 mkdir /data/svn/

4.创建SVN仓库

svnadmin create /data/svn/one       #仓库1
svnadmin create /data/svn/two       #仓库2

5.复制配置文件到上一级目录

cd /data/svn/one/conf
cp authz ../../
cp passwd ../../

6.配置仓库1的配置文件

vim /data/svn/one/conf/svnserve.conf      # 主要内容如下
[general]
anon-access = none #必须配置为none,不然没有日志显示。
auth-access = write
password-db = ../../passwd
authz-db = ../../authz
realm = /data/svn/one #说明文字,可以任意,建议写绝对路径
[sasl]

7.配置仓库2的配置文件

 vim /data/svn/two/conf/svnserve.conf    #配置和仓库一1样
[general]
anon-access = none #必须配置为none,不然没有日志显示。
auth-access = write
password-db = ../../passwd
authz-db = ../../authz
realm = /data/svn/two #说明文字,可以任意,建议写绝对路径
[sasl]

 8.用户密码

vim /data/svn/passwd 
[users]
# harry = harryssecret
# sally = sallyssecret
admin = admin #一行一个用户名密码
user1 = 123456
user2 = 123456
user3 = 123456

9. 用户组及用户组授权。

vim /data/svn/authz 
[aliases]
# joe = /C=XZ/ST=Dessert/L=Snake City/O=Snake Oil, Ltd./OU=Research Institute/CN=Joe Average

[groups]
team0 = admin #表示组0 包含admin用户,多个用户用英文逗号隔开,
team1 = admin,user1
team2 = admin,user2
team3 = admin,user3

[/] #表示根目录的权限,一般给管理员权限
@team0 = rw #\@ team0 表示 组授权,rw 表示读、写,
* = #*= 表示 没有权限。

[one:/] #表示仓库1 的权限设置
@team1 = rw
* =

[one:/abc] #表示仓库1下的 abc文件夹的权限。
@team3 = rw
* =

[two:/] #表示仓库2的权限。
@team2 = rw
* =
====完成 =============================================
posted @   大道至简,各有其道。  阅读(66)  评论(0编辑  收藏  举报
编辑推荐:
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
点击右上角即可分享
微信分享提示