安装部署手册
1. 下载SVN镜像
-
打开终端,执行以下命令:
docker search svn docker pull garethflowers/svn-server
2. 创建映射目录
-
打开终端,执行以下命令:
mkdir /data/docker/datas/svn
3. 创建YAML启动文件
-
打开终端,执行以下命令:
vim svn.yml
-
在编辑器中输入以下内容,并保存退出:
version: '3' services: redis-master: container_name: svn image: garethflowers/svn-server:latest ports: - '3690:3690' volumes: - '/data/docker/datas/svn:/var/opt/svn' restart: always
4. 配置快捷路径
-
编辑/etc/profile文件,添加以下内容:
vim /etc/profile export SVN_HOME=/data/docker/datas/svn
-
然后保存并执行以下命令使配置生效:
source /etc/profile
5. 启动SVN
-
打开终端,执行以下命令:
docker-compose -f $SVN_HOME/svn.yml up -d
6. 创建SVN存储目录与权限
-
打开终端,执行以下命令进入SVN镜像容器:
docker exec -it svn /bin/sh
-
在容器中执行以下命令创建仓储目录:
svnadmin create 仓储目录
-
修改配置文件,执行以下命令:
cd 仓储目录 vi conf/svnserve.conf
-
在编辑器中修改以下五个配置的地方:
anon-access = none # 匿名用户不可读写,也可设置为只读 read auth-access = write # 授权用户可写 password-db = passwd # 密码文件路径,相对于当前目录 authz-db = authz # 访问控制文件,相对于当前目录 realm = /var/opt/svn/仓储目录 # 认证命名空间,会在认证提示界面显示,并作为凭证缓存的关键字,可以写仓库名称比如svn
-
继续修改用户名密码的配置文件,执行以下命令:
vi passwd
-
在编辑器中,在[users]下面通过"用户名 = 密码"的方式配置用户信息,比如:
zhangsan = zhangsan
-
接着,修改权限文件,执行以下命令:
vi authz
-
在编辑器中,在[groups]下面添加组和配置权限,比如:
leader_group = zhangsan,lisi user_group = lisi [/] @leader_group = rw @user_group = r
其中,[/]代表拥有所有仓库的权限,如果要只拥有svn仓库的权限,可以使用[svn:/];@leader_group = rw代表leader_group组下所有用户拥有读和写的权限,@user_group = r代表user_group组下所有用户只有读的权限;如果要配置单个用户的权限,可以使用用户名 = 权限的格式。
-
保存文件并退出编辑器。
然后退出容器,执行以下命令:
exit;
-
最后,重启容器,执行以下命令:
docker restart svn
7. SVN客户端链接
-
打开SVN客户端工具,在URL处输入以下地址进行链接:
svn://服务器ip:3690/仓储目录
注意将"服务器ip"替换为实际的服务器IP地址,将"仓储目录"替换为实际的仓储目录名称。