查看系统版本,安装SVN软件及创建目录

[root@A-linux ~]# uname -r
2.6.32-431.el6.x86_64
[root@A-linux ~]# cat /etc/redhat-release
CentOS release 6.5 (Final)
[root@A-linux ~]# rpm -qa subversion #<===查看是否安装了SVN软件包,如果没有安装,使用下面的命令安装即可
subversion-1.6.11-9.el6_4.x86_64
[root@A-linux ~]# yum -y install subversion
[root@A-linux ~]# mkdir -p /application/{svndata,svnpasswd} #<===创建SVN目录
[root@A-linux ~]# ll /application/
总用量 12
drwxr-xr-x 2 root root 4096 2月 15 16:04 svndata
drwxr-xr-x 2 root root 4096 2月 15 16:04 svnpasswd

SVN常用的参数

[root@A-linux ~]# svnserve --help               #<===以下为常用参数
用法: svnserve [-d | -i | -t | -X] [options] 有效选项:
-d [--daemon] : 后台模式
-r [--root] ARG : 服务的根目录
--log-file ARG : svnserve 日志文件
--pid-file ARG : 写进程 PID 到文件 ARG

启动SVN服务(注意:不能使用service svnserve start 此种方式启动服务,否则会导致svn下载时出错,报svn: No repository found in 'svn://*.*.*.*/*

[root@A-linux ~]# svnserve -d -r /application/svndata/ --pid-file=/application/svndata/svn.pid
[root@A-linux ~]# ps -ef|grep svn|grep -v grep
root 6880 1 0 16:11 ? 00:00:00 svnserve -d -r /application/svndata/ --pid-file=/application/svndata/svn.pid
[root@A-linux ~]# netstat -lntup|grep svn
tcp 0 0 0.0.0.0:3690 0.0.0.0:* LISTEN 6880/svnserve

查看SVN其他相关命令

[root@A-linux ~]# svn
svn svnadmin svndumpfilter svnlook svnserve svnsync svnversion
[root@A-linux ~]# svnadmin help #<===查看子命令
一般用法: svnadmin SUBCOMMAND REPOS_PATH [ARGS & OPTIONS ...]
使用“svnadmin help <subcommand>” 得到子命令的帮助信息。
使用“svnadmin --version”查看程序的版本号和文件系统模块。 可用的子命令:
crashtest
create
deltify
dump
help (?, h)
hotcopy
list-dblogs
list-unused-dblogs
load
lslocks
lstxns
pack
recover
rmlocks
rmtxns
setlog
setrevprop
setuuid
upgrade
verify
[root@A-linux ~]# svnadmin help create
create: 用法: svnadmin create REPOS_PATH
在 REPOS_PATH 创建一个新的空版本库。 有效选项:
--bdb-txn-nosync : 在提交事务时禁用fsync [BDB]
--bdb-log-keep : 禁用自动删除日志文件 [BDB]
--config-dir ARG : 从目录 ARG 读取用户配置文件
--fs-type ARG : 版本库类型: “fsfs”(默认)或“bdb”
--pre-1.4-compatible : 使用与1.4之前版本兼容的格式
--pre-1.5-compatible : 使用 Subversion 1.5 之前版本的格式
--pre-1.6-compatible : 使用与 1.6 之前版本兼容的格式

创建新的空的版本档案库

[root@A-linux ~]# svnadmin create /application/svndata/test      #<===注意,这里不能用mkdir创建此目录
[root@A-linux ~]# tree /application/svndata/test
/application/svndata/test
├── conf #<===配置文件目录
│?? ├── authz
│?? ├── passwd
│?? └── svnserve.conf
├── db #<===数据库目录
│?? ├── current
│?? ├── format
│?? ├── fsfs.conf
│?? ├── fs-type
│?? ├── min-unpacked-rev
│?? ├── rep-cache.db
│?? ├── revprops
│?? │?? └── 0
│?? │?? └── 0
│?? ├── revs
│?? │?? └── 0
│?? │?? └── 0
│?? ├── transactions
│?? ├── txn-current
│?? ├── txn-current-lock
│?? ├── txn-protorevs
│?? ├── uuid
│?? └── write-lock
├── format
├── hooks #<===钩子脚本目录
│?? ├── post-commit.tmpl
│?? ├── post-lock.tmpl
│?? ├── post-revprop-change.tmpl
│?? ├── post-unlock.tmpl
│?? ├── pre-commit.tmpl
│?? ├── pre-lock.tmpl
│?? ├── pre-revprop-change.tmpl
│?? ├── pre-unlock.tmpl
│?? └── start-commit.tmpl
├── locks #<===锁目录
│?? ├── db.lock
│?? └── db-logs.lock
└── README.txt 10 directories, 28 files

对SVN目录进行调整,授权

[root@A-linux conf]# pwd
/application/svndata/test/conf
[root@A-linux conf]# ll
总用量 16
-rw-r--r-- 1 root root 1080 2月 15 16:30 authz #<===权限管理文件
-rw-r--r-- 1 root root 309 2月 15 16:30 passwd #<===用户及密码文件
-rw-r--r-- 1 root root 2317 2月 15 16:49 svnserve.conf #<===项目档案库主配置文件
[root@A-linux conf]# \cp svnserve.conf svnserve.conf.$(date +%F)
[root@A-linux conf]# vim svnserve.conf #主要修改以下4项
# anon-access = read
# auth-access = write
# password-db = passwd
# authz-db = authz
[root@A-linux conf]# egrep -v "^#|^$" svnserve.conf #去掉注释和前面空格,更改为以下一致,然后需要杀死svnserve进程,重启其服务(此处没有写步骤)
#anon-access = read #<===匿名访问=read,即允许匿名访问(为了安全,还是不开启)
anon-access = none #<===不允许匿名访问(生产环境不允许匿名访问)
auth-access = write #<===打开访问权限验证
password-db = /application/svnpasswd/passwd #<===统一使用此文件作为账号密码文件,最好使用全路径,开头不能有空格(必须顶格写)
authz-db = /application/svnpasswd/authz #<===统一使用此文件作为权限控制文件,最好使用全路径,开头不能有空格(必须顶格写)
[root@A-linux conf]# cp authz passwd /application/svnpasswd/ #<===为了方便统一管理,把用户及密码放在svnpasswd
[root@A-linux conf]# ll /application/svnpasswd/
总用量 8
-rw-r--r-- 1 root root 1080 2月 15 17:39 authz
-rw-r--r-- 1 root root 309 2月 15 17:39 passwd
[root@A-linux conf]# chmod 700 /application/svnpasswd/authz /application/svnpasswd/passwd
[root@A-linux conf]# ll /application/svnpasswd/
总用量 8
-rwx------ 1 root root 1080 2月 15 17:39 authz
-rwx------ 1 root root 309 2月 15 17:39 passwd

为SVN版本库创建用户授权并指定可访问的项目档案库

[root@A-linux svnpasswd]# pwd
/application/svnpasswd
[root@A-linux svnpasswd]# ll
总用量 8
-rwx------ 1 root root 1080 2月 15 17:39 authz
-rwx------ 1 root root 309 2月 15 17:39 passwd
[root@A-linux svnpasswd]# vim passwd #<===添加用户及设置密码(注意添加格式和示例要一致)
[users] #<===此模块定义用户及其密码,等号前是用户,等号后是密码
# harry = harryssecret
# sally = sallyssecret
test1 = test123456
test2 = test123456 注意:更改svnserve.conf需要重启服务,更改authz和passwd无需重启服务(以下非必须步骤)
[root@A-linux svnpasswd]# kill -USR1 `cat /application/svndata/svn.pid` #<===或使用下面的方式杀死svnserve进程
[root@A-linux svnpasswd]# killall svnserve
[root@A-linux svnpasswd]# ps -ef|grep svn
[root@A-linux svnpasswd]# svnserve -d -r /application/svndata/ --pid-file=/application/svndata/svn.pid #<===重新启动服务
[root@A-linux svnpasswd]# cp authz authz.bak
[root@A-linux svnpasswd]# vim authz
[aliases] #<===这里是别名设置
# joe = /C=XZ/ST=Dessert/L=Snake City/O=Snake Oil, Ltd./OU=Research Institute/CN=Joe Aver
age
[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
###以下是对用户授权示例(用户必须在passwd存在)
sagroup = test1,test2 #<===定义组示例(注意顶格写,前面不能有空格)
[test:/] #<===这里可以设置为其他具体的版本项目档案库,可以不用从根 / 开始,也可以从根开始
test1 = rw #<===读写权限,也可以单单只给r或w权限,如果为空,则没有任何权限
test2 = r #<===只读权限
@sagroup = r #<===如果单独对组授权,前面加@即可,如果前面是 * ,则表示所有用户
[root@A-linux svnpasswd]# tail -12 authz
sagroup = test1,test2
[sadoc:/] #<===这里可以设置为具体一个版本库,可以不用从根开始
test1 = rw
test2 = r
@sagroup = r

加入开机自动启动

[root@A-linux svnpasswd]# echo "/usr/bin/svnserve -d -r /application/svndata" >>/etc/rc.local

以上即是配置单个项目档案库的步骤,如需配置多个项目档案库,更改名称,重复以上某些必需步骤即可。 

Windows版本SVN客户端访问服务端方法:安装windows版本svn客户端软件TortoiseSVN,官方地址 https://tortoisesvn.net/downloads.html ,安装完成后

其使用方法可以看自述文件或者Google,百度,此处忽略。。。

主要的访问方式是基于TCP/IP协议,格式:  svn://10.0.0.2:test    ,输入用户名及密码验证即可

有关Windows下SVN客户端的使用,主要是以下几点:

  1. 提交commit
  2. 更新update
  3. 下载checkout
  4. 对比log,不同版本之间的差异

linux下SVN客户端使用待补充。。。

CentOS6.5下部署SVN的更多相关文章

  1. CentOS6.8下部署Zabbix3.0

    Centos6.8下部署安装zabbix3.0: 环境要求 PHP >= 5.4  (CentOS6默认为5.3.3,需要更新) curl >= 7.20 (如需支持SMTP认证,需更新) ...

  2. Centos6.8下搭建SVN服务器

    1.Centos6.8下搭建SVN服务器 Subversion是一个自由,开源的版本控制系统.Subversion将文件存放在中心版本库里.这个版本库很像一个普通的文件服务器,不同的是,它可以记录每一 ...

  3. Ubuntu下部署SVN+SVNManager

    本文参考了一下博客,特此感谢: 灰烬之灵    一米阳光做IT.测试 环境描述:ubuntu 13.04 1.先创建svn组和svn用户: sudo addgroup svnsudo useradd ...

  4. linux下部署svn服务器

    系统Linux debian 2.6.32-5-686 先安装svn工具:apt-get install subversion,耐心等待安装完成.安装完成后svn客户端.服务器都有了. 接者建立svn ...

  5. CentOS6.5下搭建SVN服务器

    1.检查是否已安装 rpm -qa | grep subversion 如果要卸载旧版本: yum remove subversion 2.安装 yum install subversion PS:y ...

  6. centos6.5下安装svn并且实现多项目管理配置方案

    #安装SVN服务器 yum install subversion #在home下创建svn根目录 mkdir /home/svn #在 /home/svn下创建pro1 , pro2, pro3 三个 ...

  7. Linux环境下部署svn服务详解

    说明 环境: 操作系统:centos 8.0 IP:39.100.228.13 安装 用ROOT账号登录,在控制台执行以下命令,一直默认安装就好可以了. [root@localhost ~]#yum ...

  8. CentOS 7 环境下部署 SVN 并实现自动更新(版本库放在Tomcat下)

    1.安装 SVN 1.1先检查是否有安装 svn rpm -qa subversion #没有什么显示就说明没有安装过yum remove subversion #如果有安装就运行删除老版本yum i ...

  9. 腾讯云centos6.5下部署django环境

    基于腾讯云CentOS6.5的环境 首先说下需要用到的软件 1.gcc环境 腾讯云默认是没有gcc编译器的,需要手动安装一下:yum install gcc 2.python环境 因为我用的cento ...

随机推荐

  1. 【X86】---X86处理器大小端的数据存储验证

    之前也关注过大小端的存储,可能时间久了,加之又之前的电脑抽象换成了当前的处理器寄存器的值判断,导致自己总是有点蒙圈.看Spec手册的时候,有时会无法与手册中某个Bit的值与RU/RW工具读出来的对应上 ...

  2. wannafly camp day1

    题目描述: 恬恬的生日临近了.宇扬给她准备了一个大 蛋糕. 正如往常一样,宇扬在蛋糕上插了nnn支蜡烛,并把蛋糕分为mmm个区域.因为某种原因,他必须把第iii根蜡烛插在第aia\_iai​个区域或第 ...

  3. 逆元(inv)

    推荐博客 : http://blog.csdn.net/baidu_35643793/article/details/75268911 通常我们在计算除法取模时,并不能直接的取模后再去相除,答案会有问 ...

  4. pymysql 增

    1.重点:数据库插入数据需要进行---------事物提交 其它:事物回滚 import pymysql # 注册用户 print("=========注册用户===========&quo ...

  5. C#图片采集软件 自动翻页 自动分类(收集美图必备工具)(一)

    网站管理员希望将别人的整站数据下载到自己的网站里或者将别人网站的一些内容保存到自己的服务器上.从内容中抽取相关的字段,发布到自己的网站系统中.有时需要将网页相关的文件也保存到本地,如图片.附件等. 图 ...

  6. spring boot配置spring-data-jpa的时候报错CannotCreateTransactionException: Could not open JPA EntityManager for transaction; nested exception is java.lang.NoSuchMethodError

    org.springframework.transaction.CannotCreateTransactionException: Could not open JPA EntityManager f ...

  7. 推荐几个高质量图片网站,再也不怕没图装X了

    这几个图片网站都是高质量的图片网站,建议收藏! 找个高逼格的图片发票圈,不再难了. Unsplash 网址:https://unsplash.com Unsplash是一个免费高质量照片的网站,照片都 ...

  8. SIR模型预测新冠病毒肺炎发病数据

    大家还好吗? 背景就不用多说了吧?本来我是初四上班的,现在延长到2月10日了.这是我工作以来时间最长的一个假期了.可惜哪也去不了.待在家里,没啥事,就用python模拟预测一下新冠病毒肺炎的数据吧.要 ...

  9. JS-02-js的变量

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  10. CTF--HTTP服务--暴力破解

    开门见山 1. 扫描靶机ip,发现PCS 192.168.1.103 2. 用nmap扫描靶机开放服务和服务版本 3. 再扫描全部信息 4. 用nikto探测敏感文件 5. 打开敏感网页发掘信息 6. ...