Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

docker一键安装svn #29

Open
dalaolala opened this issue Jul 19, 2021 · 2 comments
Open

docker一键安装svn #29

dalaolala opened this issue Jul 19, 2021 · 2 comments

Comments

@dalaolala
Copy link
Owner

svn简介
SVN是Subversion的简称,是一个开放源代码的版本控制系统,相较于RCS、CVS,它采用了分支管理系统,它的设计目标就是取代CVS。互联网上很多版本控制服务已从CVS迁移到Subversion。说得简单一点SVN就是用于多个人共同开发同一个项目,共用资源的目的。

svn的docker搭建方法
请提前在服务器安装好docker服务
本篇教程选用的docker镜像为garethflowers/svn-server
安装并启动容器代码

docker run --restart always --name svn -d -v /root/dockers/svn:/var/opt/svn -p 3690:3690 garethflowers/svn-server

简析
/root/dockers/svn为宿主机的文件目录,/var/opt/svn为容器内的文件目录
--restart always命令可以实现容器在宿主机开机时自启动
-p 3690:3690表示将宿主机的3690端口映射到容器的3690端口,此端口为svn服务的默认端口,可以根据需要自行修改

创建svn仓库和账户
进入容器中进行配置

docker exec -it svn /bin/sh

创建名称为svn的资源仓库

svnadmin create svn

创建成功后svn目录内应该包含以下文件:
README.txt conf db format hooks locks
资源仓库配置,修改svnserve.conf

anon-access = none             # 匿名用户不可读写,也可设置为只读 read
auth-access = write            # 授权用户可写
password-db = passwd           # 密码文件路径,相对于当前目录
authz-db = authz               # 访问控制文件
realm = /var/opt/svn/svn       # 认证命名空间,会在认证提示界面显示,并作为凭证缓存的关键字,可以写仓库名称比如svn

配置账号与密码,修改 passwd文件,格式为“账号 = 密码”

[users]
# harry = harryssecret
# sally = sallyssecret
admin = 123456

配置账户权限,修改 authz文件

[groups]
owner = admin
[/]               # / 表示所有仓库
admin = rw        # 用户 admin 在所有仓库拥有读写权限
[svn:/]           # 表示以下用户在仓库 svn 的所有目录有相应权限
@owner = rw       # 表示 owner 组下的用户拥有读写权限

拉取svn

svn co svn://127.0.0.1:3690/svn
@dalaolala
Copy link
Owner Author

dalaolala commented Jul 19, 2021

出现SVN--Authorization failed错误原因

svnserve.conf:

[general]
#文件为可读
anon-access=none
#文件为可写
auth-access=write
password-db=passwd
authz-db=authz

passwd:

[users]
#账户=密码
u1=p1

authz:

[groups]
[/]
#rw为读写的意思,所以表示u1这个账户可读写
u1=rw

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant