SVN安装 docker-compose方式

1、编辑 docker-compose-svn.yml 文件

version: '3.8'
services:
  svn-server:
    image: elleflorio/svn-server:latest
    container_name: svn-server
    restart: always
    privileged: true  # 解决容器内权限问题
    ports:
      - "31081:3690"   # SVN 默认协议端口
      - "31080:80"      # 管理界面端口(Web UI):cite[2]:cite[5]
    volumes:
      - /mnt/d/doc/svn/repo:/home/svn
      - /mnt/d/doc/svn/passwd:/etc/subversion/passwd
    environment:
      TZ: Asia/Shanghai  # 设置时区
    networks:
      - svn-network

networks:
  svn-network:
    driver: bridge  # 使用桥接网络

2、初始化文件


初始文件 `passwd` : touch passwd

touch passwd # 初始文件
mkdir repo # svn仓库目录

chmod 777 passwd
chmod 777 repo


## 3、进入设置

| Subversion 授权文件                  | /etc/subversion/subversion-access-control |
| -------------------------------- | ----------------------------------------- |
| 用户身份验证文件                         | /etc/subversion/passwd                    |
| 代码仓库的父目录                         | /home/svn                                 |
| svn.exe' 或 'svn'可执行文件            | /usr/bin/svn                              |
| svnadmin.exe' 或 'svnadmin' 可执行文件 | /usr/bin/svnadmin                         |
保存


## 4、设置管理员账号密码

docker exec -t svn-server htpasswd -cb /etc/subversion/passwd admin admin@2025


## 5、添加仓库

在 `代码仓库` 中添加仓库 test 。

## 6、授权

可以从单独的仓库中授权,/docker/svn/repo/test/conf/ 目录下 
- 新增用户
vi passwd

[users]

用户

test = 123456


- 授权
vi auth 

[groups]

用户组

gp1 = test

用户组所对应的目录

[/]

库目录权限

@gp1 = rw

用户组权限

*=r

- 配置文件
vi 

[general]

force-username-case = none

匿名访问的权限 可以是read、write,none,默认为read

anon-access = none

使授权用户有写权限

auth-access = write

密码数据库的路径

password-db = passwd

访问控制文件

authz-db = authz

认证命名空间,SVN会在认证提示里显示,并且作为凭证缓存的关键字

realm = /docker/svn/repo/test


## 7、访问验证

svn://ip:31081/test

搞定

stic9527
1 声望0 粉丝

« 上一篇
03版word转pdf