安装说明

系统环境:CentOS-6.3
安装方式:yum install (源码安装容易产生版本兼容的问题)
安装软件:系统自动下载SVN软件

检查已安装版本

1
2
3
4
5
6
7
8
9
10
11
#检查是否安装了低版本的SVN
[root@zck /]# rpm -qa subversion
#卸载旧版本SVN
[root@zck modules]# yum remove subversion
安装SVN
[root@zck modules]# yum install httpd httpd-devel subversion mod_dav_svn mod_auth_mysql
确认已安装了svn模块
[root@zck /]# cd /etc/httpd/modules
[root@zck modules]# ls | grep svn
mod_authz_svn.so
mod_dav_svn.so


验证安装

检验已经安装的SVN版本信息 
[root@zck modules]# svnserve --version 
svnserve,版本 1.6.11 (r934486) 
编译于 Jun 23 2012,00:44:03

版权所有 (C) 2000-2009 CollabNet。 
Subversion 是开放源代码软件,请参阅 http://subversion.tigris.org/ 站点。 
此产品包含由 CollabNet( http://www.Collab.Net/) 开发的软件。

下列版本库后端(FS) 模块可用: 
* fs_base : 模块只能操作BDB版本库。 
* fs_fs : 模块与文本文件(FSFS)版本库一起工作。 
Cyrus SASL 认证可用。

代码库创建

SVN软件安装完成后还需要建立SVN库

1
2
[root@zck modules]# mkdir -p /opt/svn/repositories
[root@zck modules]# svnadmin create /opt/svn/repositories

执行上面的命令后,自动建立repositories库,查看/opt/svn/repositories 文件夹发现包含了conf, db,format,hooks, locks, README.txt等文件,说明一个SVN库已经建立。

配置代码库

进入上面生成的文件夹conf下,进行配置 
[root@zck modules]# cd /opt/svn/repositories/conf

用户密码passwd配置

1
2
[root@zck password]# cd /opt/svn/repositories/conf
[root@admin conf]# vi + passwd

修改passwd为以下内容:

1
2
3
4
[users]
# harry = harryssecret
# sally = sallyssecret
zhoulf=123456

权限控制authz配置

[root @admin conf]# vi + authz 
目的是设置哪些用户可以访问哪些目录,向authz文件追加以下内容: 
#设置[/]代表根目录下所有的资源 
[/] 
zhoulf=rw 
服务svnserve.conf配置

[root @admin conf]# vi + svnserve.conf

追加以下内容:

1
2
3
4
5
6
7
8
9
10
11
[general]
#匿名访问的权限,可以是read,write,none,默认为read
anon-access=none
#使授权用户有写权限
auth-access=write
#密码数据库的路径
password-db=passwd
#访问控制文件
authz-db=authz
#认证命名空间,subversion会在认证提示里显示,并且作为凭证缓存的关键字
realm=/opt/svn/repositories

配置防火墙端口

1
2
3
4
5
[root@zck conf]# vi /etc/sysconfig/iptables
添加以下内容:
-A INPUT -m state --state NEW -m tcp -p tcp --dport 3690 -j ACCEPT
保存后重启防火墙
[root@zck conf]# service iptables restart

启动SVN

1
svnserve -d -r /opt/svn/repositories

查看SVN进程

1
2
[root@zck conf]# ps -ef|grep svn|grep -v grep
root 12538 1 0 14:40 ? 00:00:00 svnserve -d -r /opt/svn/repositories

检测SVN 端口

1
2
[root@zck conf]# netstat -ln |grep 3690
tcp 0 0 0.0.0.0:3690 0.0.0.0:* LISTEN

停止重启SVN

1
2
[root@zck password]# killall svnserve //停止
[root@zck password]# svnserve -d -r /opt/svn/repositories // 启动

测试

SVN服务已经启动,使用客户端测试连接。 
客户端连接地址:svn://192.168.15.231 
用户名/密码: zhoulf/123456 
测试创建文件夹等操作。

另附:

CentOS下svn的安装配置和使用

一,安装必须的软件包

$ yum install subversion 
        $ yum install mod_dav_svn 

 
二,基本的SVN服务器配置

        1,新建一个目录用于存储SVN所有文件
                # mkdir /home/svn
 
        2,新建一个版本仓库
                # svnadmin create /home/svn/test
 
        3,初始化版本仓库中的目录,导入原始代码
                如果原代码已经有svn的相关文件,则切换到原代码目录,先删除这些svn相关的文件和文件夹。假定/home/user/code/src存放源代码
                # cd /home/user/code/src
                # find ./ -name "*.svn" | xargs rm -rf
                # svn import /home/user/code/src file:///home/svn/test/ -m "init test code"
 
        4,添加用户
                在/home/svn/test/conf/passwd文件添加形如“username=password"的条目。
                [users]
                admin = adminpass
                user1 = 123456
 
         5,修改用户访问策略
                /home/svn/test/conf/authz记录用户的访问策略:
                        [groups]
                        
                        [test:/]
                        admin = rw
                        user1 = r
                        * =
                        
                        [test:/modue]
                        admin = rw
                        user1 = rw
                        * =
                以上表示admin具有所有的读写权限,user1在modue文件夹下可读可写,根目录下只读。也可以配置组的权限。
 
        6,修改/home/svn/test/conf/svnserve.conf文件,让用户和策略配置生效.
                svnserve.conf内容如下:
                        [general]
                        anon-access = none
                        auth-access = write
                        password-db = passwd
                        authz-db = authz
                        realm = test
不能有空格,空格就报错
 
        7,启动服务器
                # svnserve -d -r /home/svn
 
        8,测试服务器
                # svn co svn://192.168.1.5/test
                按提示先输入用户密码,再输入svn的用户名、密码,就可以了。
                # cd test
                # vim main.c
                # svn add main.c 
                # svn commit main.c -m "comment"
                Adding         main.c
                Transmitting file data .
                Committed revision 2.  ( 测试提交成功 )
 
三,配置SVN服务器的HTTP支持(可以用浏览器看代码)

       1,修改httpd.conf,添加关于SVN服务器的内容
                修改/etc/httpd/conf/httpd.conf。
 
        2,重启HTTPD服务器
                # service httpd restart
 
        3,用浏览器访问http://192.168.1.5/test
 
四,可能出现的问题

1. 如果外网不能正常访问,可能还需要作端口映射,对外网开放3690端口。
    检查端口是否打开,可以用命令: telnet xxx.xxx.xxx.xxx 3690
 
2. 在windows下checkout的时候,如果出现类似以下的错误:

原因是linux下有同名但大小写不同的文件。一种解决办法是尽量避免这种情况,改成不同的名称。


http://my.oschina.net/junn/blog/164041

centOS 安装 svnserve的更多相关文章

  1. 【推荐】CentOS安装Subversion-1.8.11+HTTP协议支持配置

    注:以下所有操作均在CentOS 6.5 x86_64位系统下完成. 我们需要搭建一个自己的SVN服务器. 此外,搭建好的SVN服务器除了需要支持svn协议外,最好还需要支持HTTP协议和HTTPS协 ...

  2. 阿里云centos安装svn和submin

    概述 没有找到可以让团队方便使用的云盘,暂时搭建一个svn凑合用一下 svn有三种安装方式 安装方式 服务程序 服务协议 用户和密码 授权 系统配置 svn独立安装 svnserve svn pass ...

  3. 阿里云服务器Linux CentOS安装配置(二)yum安装svn

    阿里云服务器Linux CentOS安装配置(二)yum安装svn 1.secureCRT连接服务器 2.先创建一个文件夹,用来按自己的习惯来,用来存放数据 mkdir /data 3.yum安装sv ...

  4. CentOS安装TortoiseSVN svn 客户端

    CentOS安装TortoiseSVN svn 客户端   一.CentOS安装TortoiseSVN yum install -y subversion 二.SVN客户端命令 1.查看帮助 命令:s ...

  5. 【推荐】CentOS安装Subversion-1.8.17+HTTP协议支持配置

    注:以下所有操作均在CentOS 6.5 x86_64位系统下完成. 我们需要搭建一个自己的SVN服务器. 此外,搭建好的SVN服务器除了需要支持svn协议外,最好还需要支持HTTP协议和HTTPS协 ...

  6. Centos 安装SVN

    Centos 安装SVN  centos(我这里使用的是CentOS7)下yum命令即可方便的完成安装 $ sudo yum install subversion 测试安装是否成功: $ svnser ...

  7. CentOS安装gitlab,gerrit,jenkins并配置ci流程

    CentOS安装gitlab,gerrit,jenkins并配置ci流程 By Wenbin juandx@163.com 2016/4/9 这是我参考了网上很多的文档,配置了这三个软件在一个机器上, ...

  8. 【推荐】CentOS安装PHP-5.6.4+扩展安装+安全配置+性能配置

    注:以下所有操作均在CentOS 6.5 x86_64位系统下完成. #准备工作# 前段时间PHP官方发布了一个重要的安全升级公告,修复了两个unserialize函数的严重漏洞,目前受影响的版本有: ...

  9. CentOS安装Apache-2.4.10+安全配置

    注:以下所有操作均在CentOS 6.5 x86_64位系统下完成. #准备工作# 在安装Nginx之前,请确保已经使用yum安装了各基础组件,并且配置了www用户和用户组,具体见<CentOS ...

随机推荐

  1. c# socket 解决粘包,半包

    处理原理: 半包:即一条消息底层分几次发送,先有个头包读取整条消息的长度,当不满足长度时,将消息临时缓存起来,直到满足长度再解码 粘包:两条完整/不完整消息粘在一起,一般是解码完上一条消息,然后再判断 ...

  2. Making Your ActionBar Not Boring

    这篇文章转自国外一个技术大牛的博客,首先感谢这位大牛的无私奉献. Android应用中有一名位 Google书报摊的应用,他实现了一种新的ActionBar风格.当用户初始进入该界面的时候,为一个透明 ...

  3. SSH: 本地.ssh目录下的公钥文件最好删掉

    这次ssh amazon ec2的instance,在家里电脑登录OK,到了公司电脑登录失败(只支持公钥机制).私钥已经拷贝到公司的ubuntu上了,奇怪. 后来发现是.ssh目录下存在一些公钥文件导 ...

  4. Js调用Java方法并互相传参

    Js通过PhoneGap调用Java方法并互相传参的. 一.JAVA代码 写一个类,该类继承自Plugin并重写execute方法. import org.json.JSONArray; import ...

  5. Clipping Magic – 帮助你轻松删除图片背景

    Clipping Magic 让您轻松去除图片的背景,可以根据路径进行裁剪.操作很简单,只需拖动图像到放置区,或使用按钮选择文件.标记前景为绿,背景为红色,然后标记算法会帮助你处理好细节.处理后的图片 ...

  6. 就这样获取文件的MD5和大小

    纠结真蛋疼 判断一件事值不值得去做的唯一标准是这件事是不是令我纠结.如果纠结了,就不去做了!但是,人总要活着,又能怎样.谁说男人就没有那么几天...... 从极速妙传说起 在现在各大厂商都推出免费云盘 ...

  7. css知识

    margin和padding是什么意思 margin外边距,padding内边距,外边距表示一个元素的边到相邻元素的距离,内边距表示元素之间的内容和元素边框的距离. font:12px/1.5 表示什 ...

  8. HT for Web中3D流动效果的实现与应用

    流动效果在3D领域有着广泛的应用场景,如上图中医学领域可通过3D的流动直观的观察人体血液的流动,燃气领域可用于监控管道内流动的液体或气体的流向.流速和温度等指标. 如今企业数据中心机房普遍面临着设备散 ...

  9. NVelocity的基本用法

    NVelocity常用语法指令 默认情况下,NVelocity解析是不分大小写的,当然可以通过设置runtime.strict.math=true,采用严格解析模式. 严格区分大小写有时候还是挺有用途 ...

  10. Java向前引用容易出错的地方

    所谓向前引用,就是在定义类.接口.方法.变量之前使用它们,例如, class MyClass { void method() { System.out.println(myvar); } String ...