Linux下创建SVN仓库
Linux上有两种SVN运行方式:一种是Linux自带的轻量级服务器svnserve,一种是基于Apache的;
基于svnserve的默认端口为3690,使用的是svn协议
基于Apache的默认端口为80,使用的是http协议
本文是基于Linux的svnserve创建SVN仓库,命令基于CentOS系统
安装SVN
检查是否已经安装了SVN
rpm -aq subversion
若未安装SVN,rpm将查不到信息(无提示信息)
开始安装SVN
yum -y install subversion
等待安装即可,无需进行多余操作
配置并启动SVN
建立SVN版本目录
- 创建svn版本数据存储根目录
mkdir -p /svn/svndata
- 创建svn密码权限存储根目录
mkdir -p /svn/svnpasswd
启动SVN服务
- 启动SVN服务
svnserve -d -r /svn/svndata/
- 查看是否启动成功
ps -ef|grep svn
如果看到了svnserve以及运行的目录是我们所设置启动的,说明SVN启动成功
同时,也可以查看SVN端口,svnserve的SVN端口为3690,这里有两种方式:
netstat -lntup
lsof -i:3690
如果要使用lsof命令,需要提前下载:
yum -y install lsof
这些方式都可以查看svnserve的运行状况
建立项目版本库
- 创建SVN项目testsvnpeoject
snvadmin create /svn/svndata/testsvnproject
- 可以下载使用tree命令查看svn的目录结构
yum -y install tree
- 通过tree命令查看svndata的目录结构
tree /svn/svndata
- 如果能查看到一个关于testsvnproject的目录说明已经创建项目成功了,我们接下来的操作主要是调整testsvnproject的conf目录的内容
调整SVN配置
为了方便管理,我们一般会把svn项目的数据内容和权限密码控制分开,也就是最开始创建的svnpasswd目录,也就是把authz(权限)和passwd(用户信息)放到svnpasswd目录下集中管理
- 修改conf目录下的svnserve.conf文件,修改前建议进行备份
cd /svn/svndata/testsvnproject/conf
cp svnserve.conf svnserve.conf.221016
- 先安装vim,如若已安装忽略
yum -y install vim
- 修改svnserve.conf
vim svnserve.conf
将anon-access设置为none
将auth-access设置为write
将password-db设置为/svn/svnpasswd/passwd
将authz-db设置为/svn/svnpasswd/authz
- 修改完成后可通过diff命令对比修改前后的变化
diff svnserve.conf.221016 svnserve.conf
移动配置文件
- 移动文件
cp passwd authz /svn/svnpasswd
- 修改文件访问权限
cd /svn/svnpasswd
chmod 700 *
设置访问权限
- 打开用户权限目录
cd /svn/svnpasswd
- 添加用户
vim passwd
在[users]下方按照用户名 = 密码的形式进行设置用户密码
例如chenwei = chenwei
用户名为chenwei,密码为chenwei
- 授予用户权限
vim authz
按照格式输入我们需要授权的项目
下方输入用户名以及r(只读),w(只写),rw(读写)
[testsvnproject:/]
chenwei=rw
访问SVN
设置防火墙
Linux版本不同,设置防火墙的方式也不同,这边提供新版本Linux系统的防火墙设置方式,如果Linux运行在服务器上,需要在服务器中也需要对3690端口放行
- 查看防火墙状态
systemctl status firewalld
- 开启防火墙
systeamctl start firewalld
- 添加端口
firewall-cmd –zone=public –add-port=6666/tcp –permanent
- 刷新生效
firewall-cmd –reload
- 查看防火墙放行列表
firewall-cmd –list-all