发布于 

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




Copyright © 2023 ChenWei | Powered By Stellar
本站已运行 00 小时 00