docke 搭建 SVN服务器
基础环境
系统版本: centos-7.6(linux)
环境依赖: Docker
拉取镜像
docker pull elleflorio/svn-server
启动
docker run --name svn \
-d --restart=always \
-v /opt/app/svn/:/home/svn/ \
-p 3380:80 \
-p 3690:3690 \
elleflorio/svn-server
配置SVN
docker exec -it svn /bin/sh
#进入镜像
svnadmin create /home/svn/test_svn
#test_svn 为仓库名
cat /home/svn/test_svn/conf/svnserve.conf |grep -Ev "^#|^$"
[general]
anon-access = none
auth-access = write
password-db = passwd
authz-db = authz
[sasl]
#配置项需要顶行写,此配置文件,取消注释后,配置项行首会有一个空格,需要删除否则会报错。
#ctrl + d 退出docker终端
#在宿主机上操作映射目录
cat/opt/app/svn/test_svn/conf/passwd |grep -Ev "^#|^$"
[users]
user1 = user123
user2 = user123
cat /opt/app/svn/test_svn/conf/authz |grep -Ev "^#|^$"
[aliases]
[groups]
devteam = user1,user2
[test_svn:/]
@devteam = r
user1 = rw
重启
docker restart svn
验证
在winodws下使用 tortoisesvn进行验证
访问地址为
svn://192.168.1.1/test_svn
配置HTTP代理svn
docker exec -it svn /bin/sh
cat /etc/apache2/conf.d/dav_svn.conf
LoadModule dav_svn_module /usr/lib/apache2/mod_dav_svn.so
LoadModule authz_svn_module /usr/lib/apache2/mod_authz_svn.so
<Location /svn>
DAV svn
SVNParentPath /home/svn
SVNListParentPath On
AuthType Basic
AuthName "Subversion Repository"
AuthUserFile /home/svn/passwd
AuthzSVNAccessFile /home/svn/subversion-access-control
Require valid-user
</Location>/
chown apache:apache -R /home/svn/test_svn/db/
#ctrl + d 退出docker终端
#在宿主机上操作映射目录
yum -y install httpd-tools
#宿主机有可能没有对应命令,安装此软件包
htpasswd -b /opt/app/svn/passwd li 123456
#添加用户
cat /opt/app/svn/subversion-access-control
[groups]
[/]
* = rw
#修改权限
## 重启
docker restart svn
#重启 svn
#使用代理工具 如 nginx,转发域名到本机3380端口
验证
在winodws下使用 tortoisesvn进行验证
访问地址为 http://www.test.com/svn