linux下svn服务器搭建及使用
文章目录
- 1. 安装svn客户端
- 2. 安装svn服务器
- 3. 在svn目录下创建版本库
- 4. 修改版本库配置文件
- 4.1 修改 authz 文件
- 4.2 设置密码 passwd
- 4.3 修改 svnserve.conf 文件(重要)
- 5. 启动svn服务器
- 6. 客户端访问svn服务器
- 7. SVN CheckOut
- 8. 设置SVN开机自启动
1. 安装svn客户端
若需要使用svn服务,首先本地需要安装svn客户端。
svn客户端下载地址为:http://tortoisesvn.net/downloads.html
安装过程此处略过。
2. 安装svn服务器
安装svn服务器:
yum install subversion
查看下载后的信息,安装位置及详细信息:
rpm -ql subversion
3. 在svn目录下创建版本库
可以在版本库目录下放置多个项目,不必为每个项目创建一个版本库。下面是我的版本库:
# 创建版本库目录
mkdir /home/svn/groupRepos
# 创建版本库
svnadmin /home/svn/groupRepos
查看并分析生成的文件:
ls /home/svn/groupRepos
可以看到如下文件:
- conf目录:版本库的配置文件,包含用户访问账号、权限等
- db目录:存放数据
- format文件:是一个文本文件,里面只放了一个整数,表示当前文件库配置的版本号(可以用vi打开看一下)
- hooks目录:放置hook脚本文件的目录
- locks目录:用来放置subversion的db锁文件和db_logs锁文件的目录,用来追踪存取文件库的客户端
- README.txt文件:说明文档
注:这里生成文件可能有一定的滞后,如果未看到文件可以稍微等一会再查看。
4. 修改版本库配置文件
版本库的配置文件位于 /home/svn/groupRepos/conf/ 路径下,包含有以下几个文件:
- authz:负责账号权限的管理,控制账号是否读写权限
- passwd:负责账号和密码的用户名单管理
- svnserve.conf:svn服务器配置文件
4.1 修改 authz 文件
vim /home/svn/groupRepos/conf/authz
添加账号及权限后的 authz 文件如下:
### This file is an example authorization file for svnserve.
### Its format is identical to that of mod_authz_svn authorization
### files.
### As shown below each section defines authorizations for the path and
### (optional) repository specified by the section name.
### The authorizations follow. An authorization line can refer to:
### - a single user,
### - a group of users defined in a special [groups] section,
### - an alias defined in a special [aliases] section,
### - all authenticated users, using the '$authenticated' token,
### - only anonymous users, using the '$anonymous' token,
### - anyone, using the '*' wildcard.
###
### A match can be inverted by prefixing the rule with '~'. Rules can
### grant read ('r') access, read-write ('rw') access, or no access
### ('').[aliases]
# joe = /C=XZ/ST=Dessert/L=Snake City/O=Snake Oil, Ltd./OU=Research Institute/CN=Joe Average[groups]
# harry_and_sally = harry,sally
# harry_sally_and_joe = harry,sally,&joe# [/foo/bar]
# harry = rw
# &joe = r
# * =# [repository:/baz/fuz]
# @harry_and_sally = rw
# * = r
[/]
Jack = rw
只需在末尾添加,无需在文件其他部分修改和添加任何东西末尾内容如下:
[\]
然后设置 账号 = 权限
r:读
w:写
:wq 保存退出即可
4.2 设置密码 passwd
### This file is an example password file for svnserve.
### Its format is similar to that of svnserve.conf. As shown in the
### example below it contains one section labelled [users].
### The name and password for each user follow, one account per line.[users]
# harry = harryssecret
# sally = sallyssecret
Jack = 123456
4.3 修改 svnserve.conf 文件(重要)
vi /home/svn/groupRepos/conf/svnserve.conf
修改后的文件如下:
注:
- 大多数网络资料,都会让大家将authz-db = authz这条给去掉注释,经过我本人多次被坑经验,此条去掉后,虽然svn服务器可以连接,但一直会提示“认证失败”,注释掉即可正常。
- 还有多数资料会让大家在realm = My First Repository处填写服务器ip,经过测试,填写后并无什么用处,所以大家去掉注释即可,无需做任何修改到此,配置已经全部完成,账号信息已经添加成功
【注意】:开启防火墙的状态下需要开放 svn 端口:3690,Linux下添加对外端口可参考博客:Linux下防火墙开启外网端口
5. 启动svn服务器
启动svn服务器:
svnserve -d -r /home/svn/groupRepos
启动成功后,可用ps -aux查看服务启动是否成功,这个是显示所有的运行进程:
ps -ef |grep svn
# xxx 22052 1 0 15:59 ? 00:00:00 svnserve -d -r /home/svn/groupRepos
# xxx 28962 20465 0 16:19 pts/1 00:00:00 grep --color=auto svn
pid=22052 就是svn服务器对应的进程id,若要关闭该进程可使用 kill -9 pid 命令。
6. 客户端访问svn服务器
在svn客户端,输入地址:svn://ip地址:3690/groupRepos
(iP地址为你的svn服务器ip,groupRepos为前文创建的版本库名称,3690为svn默认端口)
svn://xxx.xxx.xxx.xxx:3690/groupRepos
弹出输入用户名和密码,输入即可访问。
7. SVN CheckOut
本地新建一个目录,鼠标右键点击 SVN CheckOut选项,输入用户名及密码,即可CherkOut版本库中已有的资源。
CherkOut 后可看到本地文件中新增一个 .svn 的文件。
本地新增文件上传,选择 SVN Commit。
拉取版本库中最新的文件,选择 SVN Update。
8. 设置SVN开机自启动
本机系统版本为Ubuntu 18.04,设置SVN服务开机自启动步骤如下:
(1)在目录 /etc/init.d/ 下添加svn启动脚本startsvn.sh
cd /etc/init.d
vim startsvn.sh
脚本内容如下(脚本中前面那段说明必须加上):
#!/bin/sh
### BEGIN INIT INFO
# Provides: startsvn.sh
# Required-Start:
# Required-Stop:
# Default-Start: 2 3 4 5
# Default-Stop:
# Short-Description: start svn service
### END INIT INFOsvnserve -d -r /home/svn/groupRepos
(2)修改脚本权限:
sudo chmod 755 startsvn.sh
(3)将脚本添加到自启动项目中:
sudo update-rc.d startsvn.sh defaults 100
(4)重启机器:
shutdown -r now
(5)重启后查看svn服务是否自动启动了:
ps -aux|grep svnserve
如果还是没有启动, 运行: runlevel
查看当前启动level, 会打印一个数字, 把这个数字加到脚本 startsvn.sh 的 Default-Start 后面, 然后从步骤 3再执行一遍试试.
【参考博客】:
linux下svn服务器搭建及使用(包含图解): https://blog.csdn.net/u011280484/article/details/50499534
Linux下的SVN服务器搭建: https://blog.csdn.net/qq_35241080/article/details/87875142
linux下svn服务器搭建及使用相关推荐
- Linux下SVN服务器搭建(CentOS+Subversion)
svn(subversion)是近年来崛起的版本管理工具,是CVS的接班人.目前,绝大多数开源软件都使用svn作为代码版本管理软件.svn服务器有2种运行方式:独立服务器和借助apache等web服务 ...
- linux svn 面板,Linux下SVN服务器搭建(CentOS+Subversion)
安装 (centos下yum即可方便的完成安装) # yum install subversion 测试安装是否成功: # svnserve --version 回车显示版本说明安装成功 建立版本库 ...
- linux下 svn服务器搭建及使用
1.安装svn 命令:sudo apt-get install subversion 2.创建目录和svn仓库 1) mkdir /home/zx/test_svn 2)svnadmin create ...
- Linux centos7 下 svn 服务器搭建
摘自:https://www.cnblogs.com/mymelon/p/5483215.html 鉴于在搭建时,参考网上很多资料,网上资料在有用的同时,也坑了很多人 本文的目的,也就是想让后继之人在 ...
- linux 中 svn 服务器搭建 重启
鉴于在搭建时,参考网上很多资料,网上资料在有用的同时,也坑了很多人 本文的目的,也就是想让后继之人在搭建svn服务器时不再犯错,不再被网上漫天的坑爹作品所坑害,故此总结 /******开始****** ...
- linux 中 svn 服务器搭建 重启
鉴于在搭建时,参考网上很多资料,网上资料在有用的同时,也坑了很多人 本文的目的,也就是想让后继之人在搭建svn服务器时不再犯错,不再被网上漫天的坑爹作品所坑害,故此总结 /******开始****** ...
- svn服务器配置文件添加用户后需要重启吗,linux 中 svn 服务器搭建 重启
鉴于在搭建时,参考网上很多资料,网上资料在有用的同时,也坑了很多人 本文的目的,也就是想让后继之人在搭建svn服务器时不再犯错,不再被网上漫天的坑爹作品所坑害,故此总结 /******开始****** ...
- Linux下SVN服务器的搭建
Linux下SVN服务器的搭建 宗旨:技术的学习是有限的,分享的精神是无限的. 1.下载工具(下载地址:) subversion-1.6.1.tar.gz subversion-deps-1.6.1. ...
- Linux下svn服务器迁移
Linux下svn服务器迁移 1.介绍迁移方式: 1.由于项目工作需要进行svn服务器的迁移,对此简要介绍svn服务器的迁移方案. 2.主要迁移方式: svnadmin dump svnadmin h ...
最新文章
- 添加Page_Init事件
- 【Android TV 开发】焦点处理 ( 父容器与子组件焦点获取关系处理 | 不同电视设备上的兼容问题 | 触摸获取焦点 | 按键获取焦点 )
- 1.7 Java到底有没有多维数组?
- HTML中文字布局,HTML文字布局
- 浅谈企业MES与ERP系统集成
- 使用装饰器时带括号与不带括号的区别
- LeetCode MySQL 1623. 三人国家代表队
- python实现邮件发送功能
- unity获取电磁笔压感_电磁屏技术如何实现真实笔锋精准点触
- matlab直观数据处理,霍尔效应实验的MATLAB数据处理
- qcqa是什么职位_qc经理是什么职位
- Nginx简单配置转发
- Word更新所有域的代码
- 单精度浮点数转化为十进制数的原理
- 《复杂系统突现论》读后
- RTX51 Tiny用户指南(一)
- Linux - nm命令
- 易语言三款浏览器支持库哪款支持页游更好?
- 技术体系构建_构建出色的技术简历的简单指南
- hta 窗口_如何指定 HTA 的窗口大小?