Linux

SVN服务器搭建,文件上传下载
- SVN是什么:
- SVN的全称是Subversion,版本控制系统
- 是一个开放源代码的版本控制系统,通过采用分支管理系统的高校管理,简而言之就是用于多人共同开发同一个项目,实现共享资源,实现最终集中式的管理。
- SVN采用客户端/服务器体系,数据不丢失,历史可追溯
- SVN是输入C/S服务类软件,有客户端和服务端,客户端用于操作,服务端用于数据保存,服务端会管理着随时间改变的所有数据,以提交版本记录每次操作内容。
- SVN的客户端有基于WEB的webSVN和Tortoise SVN为代表的客户端软件
- 本文详细介绍了如何在Ubuntu系统上搭建Subversion服务器,包括下载安装包、创建版本库目录、配置权限和重启服务等步骤,并提到了Windows客户端的配合使用。
第一阶段:部署服务器
1)下载subversion安装包
sudo apt-get install subversion

查看已安装的subversion的版本

2)创建版本库目录
- 此仅为目录,为后面创建版本库提供存放位置
sudo mkdir svn
3)创建项目版本库
cd svn
sudo svnadmin create demo

新建版本库下有一些默认的文件或文件夹:conf \db\format\hooks\locks\README.txt

4)修改SVN配置
- 修改svnserve.conf文件
cd conf
sudo vim svnserve.conf
原始文件内容都被注释掉的,我们只需要去掉指定内容前注释即可,如下:
[general]
anon-access = read 【控制非鉴权用户访问版本库的权限】
auth-access = write 【控制鉴权用户访问版本库的权限】
password-db = passwd 【指定用户名口令文件名,即访问时要输用户名和密码】
authz-db = authz
realm = demo 【指定版本库的认证域,即在登录时提示的认证域名称,改成自己的版本库名称】

- 修改passwd文件,添加账号和密码
sudo vim passwd
添加账号:demo,密码: 123456

- 修改authz文件
sudo vim authz
在根目录下( [/] )设置用户读写权限

5)重启SVN服务
- 更改svnserver.conf时需要重启SVN服务才生效,更改authz,passwd文件不需要重启服务。
- 重启SVN服务命令:
svnserve -d -r /path/svn/
ps aux|grep svnserve

- 杀死SVN进程命令
killall svnserve

第二阶段:安装客户端拉取项目
1)安装svn客户端
- SVN客户端下载地址:下载 ·SVN (tortoisesvn.net)


- 下载两个包后,先运行安装包,安装完成后,再运行语言包,安装过程忽略…有手就行。

2)拉取项目SVN项目
- 创建SVN目录

- 新建对应项目目录名称,进入目录,然后右击左键

- 版本库URL:svn://服务器IP/项目名称
- 然后,点击确定

- 输入账号密码:demo/123456


3)上传文件
- 新建一个test文件

- 右击选择,SVN提交

- 输入commit内容,选中要提交的文件,点击确认


4)下载文件
- 把刚才文件的test文件删除

- 右击选择,SVN更新,点确认

至此,从SVN服务器搭建到文件上传/下拉已完成!如果部署遇到什么问题可以联系帅哥博主帮你解决,Contact – STARBUCKET。
补充:docker 部署 apache2 + svn,通过http协议访问SVN,可直接使用我打包好的镜像
docker pull registry.cn-shenzhen.aliyuncs.com/starbucket/svn-server:1.14.3
docker-compose up -d
- docker-compose 文件目录结构



- 访问路径:ip+/svn,这是svn的根路径,项目目录需要进入容器手动创建

- 创建项目库
docker exec -it svn /bin/bash
svnadmin create code
ls -l

- 再次网页访问,ip+/svn/+项目库名称
- 默认账号密码:admin/1

- 显示如下,表示正常访问项目库

- SVN客户端通过HTTP访问代码库


- SVN账号权限管理,可自行配置,给孩儿们一个模板!
# SVN代理配置
<Location /svn>
DAV svn
SVNParentPath /opt/svn/
SVNListParentPath On
AuthType Basic
AuthName "Subversion Repository"
AuthUserFile /opt/svn/passwd
AuthzSVNAccessFile /opt/svn/authz
Require valid-user
</Location>
# 账号配置,密码都是: 1
admin:$apr1$ZjELDugg$gL5ng6QHnmMipgVp8CDbT0
master:$apr1$ZjELDugg$gL5ng6QHnmMipgVp8CDbT0
dev:$apr1$ZjELDugg$gL5ng6QHnmMipgVp8CDbT0
# 账号权限配置
[groups]
managers = admin
users = dev, master
[/]
@managers = rw
* = r
[code:/]
@managers = rw
master = rw
dev= r
starbucket
0
Tags :