Linux下SVN服务器搭建(CentOS+Subversion)svn(subversion)是近年来崛起的版本管理工具,是CVS的接班人。目前,绝大多数开源软件都使用svn作为代码版本管理软件。svn服务器有2种运行方式:独立服务器和借助apache等web服务器。两种方式各有利弊。svn存储版本数据也有2种方式:BDB和FSFS。因为BDB方式在服务器中断时,有可能锁住数据,所以还是FSFS方式更安全一点。

本文主要介绍SVN独立服务器的的安装和简单配置:

安装(centos下yum即可方便的完成安装) 
# yum install subversion 
测试安装是否成功: 
# svnserve --version      回车显示版本说明安装成功

建立版本库 
# mkdir /svndata              创建svn数据目录(目录可自行制定) 
# svnadmin create /svndata/kuming                  kuming就是版本库的名字,可以改变!

配置svn配置文件(为了方便管理,这里多个库调用相同的配置文件。)

#每个版本库创建之后都会生成svnserve.conf主配文件 
# vim /svndata/kuming/conf/svnserve.conf

[general] 
anon-access = none 
auth-access = write 
password-db = /svndata/conf/passwd 
authz-db = /svndata/conf/authz 
realm =kuming 
# mkdir /svndata/conf 
# vim /svndata/conf/passwd      //svn用户配置文件

[users] 
user1 = password1 
user2 = password2 
user3 = password3 
user4 = password4 
# vim /svndata/conf/authz      //svn权限控制配置文件

[groups] #设置组 
group1 = user1,user2 #多用户用逗号隔开

[/] #根目录权限设置(就是“kuming”这个文件夹) 
user3 = rw #用户1权限是:可读写 
user4 = r #用户2权限是:可读,不可写 
user = #什么都没写代表没有任何权限

@group1 = rw #设置组权限

[kuming:/123] #设置根目录下“123”文件夹的权限 
#说明“123”这个文件件怎么创建?这是在SVN服务器配置好之后,创建一个权限很高的用户在客户端登录SVN 
#然后创建一个文件夹“123”。 
启动服务器 
# svnserve -d -r /svndata 
-d表示以daemon方式(后台运行)运行 
-r /svndata指定根目录是/svndata 
关闭SVN 服务器 
# killall svnserve

# ps aux | grep svnserve    查看服务,端口:3690

客户端使用的软件是TortoiseSVN 
浏览方法: 
打开版本库浏览器输入:svn://ip-addr/kuming/文件夹名

下面是随便折腾一个小脚本用来管理服务器的启动、重启、停止等操作 
# vim svn 
# chmod +x svn

#!/bin/bash 
case "$1" in 
start) 
svnserve -d -r /svndata 
svnport=`netstat -natp | grep svnserve | awk -F: '{print $4}' | awk 'NR==1'` 
if [ $svnport -eq 3690 ] 
then 
echo "SVN Server Already Runnning. Port:3690" 
else 
echo "SVN Server Does Not Start" 
fi 
;; 
reload) 
svnport=`netstat -natp | grep svnserve | awk -F: '{print $4}' | awk 'NR==1'` 
if [ $svnport -eq 3690 ] 
then 
killall svnserve && svnserve -d -r /svndata 
echo "Reload OK" 
else 
echo "SVN Server Is Not Running" 
fi 
;; 
stop) 
killall svnserve 
echo "SVN Server Has Been Stopped" 
;; 
status) 
svnport=`netstat -natp | grep svnserve | awk -F: '{print $4}' | awk 'NR==1'` 
pid=`ps aux | grep svnserve | grep -v "grep" | awk '{print $2}'` 
if [ $svnport -eq 3690 ] 
then 
echo "SVN Server (pid:$pid) 正在运行..." 
else 
echo "SVN Server 停止运行..." 
fi 
;; 
*) 
echo "$0: Usage: $0 {start|status|stop|reload}" 
exit 1 
;; 
esac 
该脚本使用方法我想应该不用多说了,全文完。

转载于:https://www.cnblogs.com/SmartNing/p/5226242.html

CentOS+Subversion相关推荐

  1. Linux下SVN服务器搭建(CentOS+Subversion)

    svn(subversion)是近年来崛起的版本管理工具,是CVS的接班人.目前,绝大多数开源软件都使用svn作为代码版本管理软件.svn服务器有2种运行方式:独立服务器和借助apache等web服务 ...

  2. linux svn 面板,Linux下SVN服务器搭建(CentOS+Subversion)

    安装 (centos下yum即可方便的完成安装) # yum install subversion 测试安装是否成功: # svnserve --version 回车显示版本说明安装成功 建立版本库 ...

  3. SVN版本管理系统的安装 CentOS + Subversion + Apache + Jsvnadmin

    CI服务器:192.168.4.221 root用户操作 建议安装前更新操作系统 yum update 更新完成后重启 reboot 安装apache yum install httpd httpd- ...

  4. SVN版本管理系统的使用(CentOS+Subversion+Apache+Jsvnadmin+TortoiseSVN)

    1.服务器: 192.168.4.221 root 用 户操作 安装 装 apache # yum install httpd httpd-devel # service httpd start # ...

  5. 【备忘】JavaEE系统架构师学习路线图

    转载自:http://www.javaxxz.com/thread-286706-1-1.html 第1阶段(Java程序员) - Java语言基础     - 101 JavaSE:[101]JAV ...

  6. 最新JavaEE系统架构师学习路线之基础篇

    大纲: 第1阶段(Java程序员) - Java语言基础 第2阶段(Java初级软件工程师) - JSP.Servlet.HTML.CSS.JS.Bootstrap.XML.AJAX.MySQL.SQ ...

  7. JavaEE系统架构师学习路线之基础篇

    大纲: 第1阶段(Java程序员) - Java语言基础 第2阶段(Java初级软件工程师) - JSP.Servlet.HTML.CSS.JS.Bootstrap.XML.AJAX.MySQL.SQ ...

  8. Java菜鸟到大牛学习路线培训视频

    百度网盘下载 这是一套java菜鸟到大牛学习路线培训教程,由工作了10年的资深Java架构师整理.主要分5个阶段:Java程序员->Java初级软件工程师->Java中级软件工程师-> ...

  9. 【备忘】Java从零到精通学习路线培训教程

    第1阶段(Java程序员) - Java语言基础      - 101 JavaSE        -01-常见Dos命令.Java历史.Java跨平台.配置Path环境变量.第一个HelloWorl ...

最新文章

  1. Python爬虫利器之Beautiful Soup的全世界最强用法 五百行文章!
  2. UML之构件图和部署图
  3. 上海肯特选用Ultimus 提升企业管理
  4. asp.net 导出Excel 设置格式
  5. 线程的局部变量ThreadLocal概念
  6. 程序员的“黄金时代”,死去又重来?
  7. 轨道坐标系_天文坐标系分类
  8. Error: listen EACCES: permission denied 0.0.0.0:80
  9. fluent二维叶型仿真_FLUENT太阳能热水器仿真
  10. php 类 抽象方法,「php抽象类和抽象方法」- 海风纷飞Blog
  11. saas系统和传统服务器的区别,传统CRM与SaaS模式的区别
  12. Python 爬虫从入门到入坑全系列教程(详细教程 + 各种实战)
  13. unity添加天空盒的两种方式
  14. 微信小程序体验(1):携程酒店机票火车票
  15. PSNR-峰值信噪比(原理及Python代码实现)
  16. Kettle实验 (三)
  17. 《思维力—高效的系统思维》
  18. Lombok插件的安装以及使用
  19. 微信收到消息很慢无法连接服务器,为什么微信接收消息总会延迟?4个原因要注意,解决方法在这里...
  20. PS 软件操作应用处理——粒子化任务效果

热门文章

  1. 学前端可以做哪些功能?
  2. 分享一年定级资深前端,与你分享他的完整学习过程
  3. 海南计算机考研和培训哪个比较好,海南考研集训营前十排名
  4. layui鼠标放上图片局部放大_老照片修复教程之—裁剪图片大小
  5. 根目录_ubuntu 18.04 server版根目录只有4G?
  6. 单元格内多个姓名拆分成一列_把订单按货品拆分成多行
  7. python 进度条_6种酷炫Python运行进度条
  8. pca 矩阵 迹_再谈协方差矩阵之主成分分析PCA
  9. Linux中安装开源JDK(windows的JDK只能安装半开源)
  10. 【虹膜识别】+【开源代码】虹膜识别--步骤讲解及算法复现,虹膜表征:基于虹膜反映点的健康监测