当前位置: 首页 > news >正文

Linux部署SVN

一.下载与安装

(1)yum安装

yum install subversion

(2)源文件编译安装

①下载svn源文件

subversion-xxx.tar.gz(subversion 源文件)

subversion-deps-xxx.tar.gz(subversion依赖文件)

文件版本必须一致

将其上传到服务器上,执行tar xfvz命令解压, 解压后生成 subversion-xxx子目录,两个压缩包解压后都会自动放到此目录下;

②进入解压目录,执行 ./configure --prefix=/opt/subversion 进行配置设定并指明安装目录;

configure命令用于检查安装平台和目标特征,prefix用于指定路径。

③执行make 编译;

④执行make install 安装;

⑤添加环境变量:

vi /etc/profile

在文件最后加入:

SVNPATH=$PATH:/opt/subversion/bin

export SVNPATH

二.查看svn版本

svnserve --version

三.建立版本库目录

建立版本库目录,命令如下:(目录可自拟)
mkdir /www/svndata
创建一个新的版本库baseData,命令如下:
svnadmin create /www/svndata/baseData
在svn版本库目录下启动svn,命令如下:
svnserve -d -r /www/svndata

-d表示以后台模式执行,svn默认在3690端口监听;-r表示root,用来指定svn服务的根目录,这样用户就可以使用相对路径访问,而不用提供完整路径

四.修改版本库配置文件

/www/svndata/baseData/conf下文件:
authz:配置权限文件
passwd:配置账号密码
svnserve:配置服务器文件
vi /www/svndata/baseData/conf/svnserve.conf
将注释打开并修改内容:

anon-access:非授权用户访问权限
none无访问权限,read只读权限,write写入权限
auth-access:授权用户访问权限
password-db:指明密码文件路径
authz-db:访问控制文件
realm:认证命名空间,subversion会在认证提示里显示,并且作为凭证缓存的关键字,其它采用默认配置。各语句都必须顶格写,左侧不能留空格,否则会出错。

五.配置用户

vi /www/svndata/baseData/conf/pwd.conf或者/www/svndata/baseData/conf/passwd

格式:

[users]

<用户1> = <密码1>

<用户2> = <密码2>

六.配置权限

vi  /conf/authz.conf 或/conf/authz

该配置文件采用“基于路径授权”的策略,中括号里指定路径,以下列出对各用户的授权。没有列出的用户,则不允许访问。可以对用户分组。
用户组格式:
[groups]
<用户组名>=<用户1>,<用户2>
1个用户组可以包含1个或多个用户,用户间以逗号分隔。
版本库目录格式:
[<版本库>:/项目/目录]
@<用户组名>=<权限>
<用户名>=<权限>
路径为“/”表示根目录(仓储目录)及以下,即对全部版本库设置权限。
权限主体可以是用户组、用户或*,用户组在前面加@,*表示全部用户。
权限可以是w、r、wr和空,空表示没有任何权限。

七.配置防火墙端口

vi /etc/sysconfig/iptables

添加以下内容:

-A INPUT -m state --state NEW -m tcp -p tcp --dport 3690 -j ACCEPT

保存后重启防火墙:service iptables restart

八.启动服务

svnserve -d -r  /www/svndata

svnserve -d -r /www/svndata
可以使用“–listen-port=”或者“–listen-host=”来指定其它端口
如果出现:


则需要关闭SVN服务:killall svnserve,然后再开启。
可以换一个端口运行:
svnserve -d -r /opt/svn/ --listen-port 3391

九.查看SVN进程,杀死进程

ps -ef|grep svn

杀死主进程,杀死进程的命令用 
kill -9 进程id
如图ID是3280,就使用 kill -9 3280 ,每个人程序不一样所以id也是不一样的

十.检测SVN 端口

netstat -ln |grep 3690

可以在linux上输入:svn checkout svn://127.0.0.1/测试配置。
客户端或Eclipse连接svn地址:svn://ip/目录
比如:我们在创建一个新的版本库baseData,svnadmin create /www/svndata/baseData
访问地址就是:svn://linux服务器部署地址IP/baseData 我们就可以在baseData这个大目录下分割很多子,访问地址:svn://ip地址/baseData/子文件夹名称

十一.同步库文件

方法一:
svn checkout svn://IP地址/baseData /www/wwwroot/165933.com
把baseData文件同步到对应的网站目录,如图,指定之后文件的内容也将同步。

方法二(建议使用此方案):
在 /www/svndata/baseData/hooks/ 目录下新建 post-commit 文件(空白文件,没有后缀)用于将svn中的文件同步到系统运行目录下,代码如下:

http://www.lryc.cn/news/383658.html

相关文章:

  • Linux高并发服务器开发(二)系统调用函数
  • rk3568 Android 11在系统怎样执行命令获取SN号
  • PostgreSQL 性能优化与调优(六)
  • win10 安装openssl并使用openssl创建自签名证书
  • 【OpenCV 图像处理 Python版】图像处理的基本操作
  • HarmonyOS应用开发学习经验
  • LLM大语言模型应用方案之RAG检索增强生成的实现步骤。
  • 【python学习】学习python的小项目
  • java-冒泡排序 1
  • 【STM32】USART串口通讯
  • Qt6中如何将QList转为QSet?
  • aspectj:AOP编程备忘录-切面定义的注意事项
  • 大数据面试题之Hive(1)
  • 【Git】分布式版本控制工具
  • 排序之插入排序----直接插入排序和希尔排序(1)
  • 快速创建条形热力图
  • go switch 与 interface
  • BaseMapper 接口介绍
  • HAL-Cubemax定时器使用记录
  • 同时使用磁吸充电器和Lightning时,iPhone充电速度会变快吗?
  • 零成本搭建个人图床服务器
  • SpringBoot 搭建sftp服务 实现远程上传和下载文件
  • IDEA中使用leetcode 刷题
  • 华为海思CPU解读
  • 中介子方程三十三
  • 今年哪两个行业可能有贝塔?
  • 嵌入式软件开发工具使用介绍
  • 【TB作品】MSP430G2553,单片机,口袋板, 交通灯控制系统
  • windows 安装 Kubernetes(k8s)
  • C语言 | Leetcode C语言题解之第189题轮转数组