Centos7 安装配置 SVN
Centos7 安装配置 SVN
https://www.cnblogs.com/xioawu-blog/p/11304494.html
https://www.cnblogs.com/-mrl/p/8980244.html
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
https://svnbucket.com/posts/svn-tutorial/
==亲测===============================
如果在查看log或up等等情况时,
报错:svn: E220001: Item is not readable
这个是服务端仓库配置问题,根据我们是否需要允许匿名访问,分为两种情况解决。
1,允许匿名访问(只读)
(1) svnserve.conf 文件中 anon-access 设为 read。
(2) authz 文件中在 [/] 下添加 * = r
2,禁止匿名访问(读写都需要用户名、密码)
(1) svnserve.conf 文件中 anon-access 设为 none。
(2) authz 文件中在 [/] 下只需要配置相关的用户,不要添加 * = r 了。
==亲测===============================
多仓库,多目录,多权限配置思路
就是:把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
* =
====完成 =============================================
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 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语句:使用策略模式优化代码结构