svn存储版本数据也有2种方式:
1.bdb;
2.fsfs。
因为BDB方式在服务器中断时,有可能锁住数据(搞ldap时就深受其害,没法根治),所以还是FSFS方式更安全一点,我也选择这种方式。
 
 
下载相关软件
wget http://subversion.tigris.org/downloads/subversion-1.6.6.tar.gz
 
二 解压两个包:
  1.在此之前,我已经创建了一个用户svnroot专门用来安装管理svn的,就解压在/root/sur/local/svn/目录下
  

     tar zxvf subversion-1.6.6.tar.gz
    tar zxvf subversion-deps-1.6.6.tar.gz

  2. 编译安装 

  1.  ./configure --prefix=/root/usr/local/svn/subversion-1.6.6 --without-berkeley-db
2.
3. //prefix指定安装的目录,without-berkeley-db表明不使用berkeley数据库
4.
5. //在这一步有可能不成功,是因为有一些依赖的软件没装,具体见下面“遇到的问题”
6.
7. make
8.
9. make install

  3.添加环境变量

  1. 查看是否安装成功
2.
3. /root/usr/local/svn/subversion-1.6.6/bin/svnserve --version
4.
5. //如果出现SVN的版本则证明安装成功

  

  1. 可以在/etc/profile中添加
2. vi /etc/profile
3. export PATH=$PATH:/root/usr/local/svn/subversion-1.6.6/bin
4. 添加后保存退出
5. 修改完成后,使用source /etc/profile 命令进行更新;
  1. 在看看配置的环境起作用了没有 svnserve --version

  错误汇总

1、 configure: error: We require OpenSSL; try --with-openssl
  1. 错误提示需要安装openssl,所以我就安装了一个openssl,安装方法如下:
2.
3.
4. cd /root/usr/local/ssl
5.
6. tar -zxvf openssl-1.0.0a.tar.gz
7.
8. cd openssl-1.0.0a
9.
10. ./config
11.
12. ./config -t
13.
14. make depend
15.
16. make
17.
18. make test
19.
20. make instal
21.
22. 安装之后会在/usr/local下生成一个ssl目录,配置SVN时加上openssl路径
23.
24. ./configure --prefix=/root/usr/local/svn/subversion-1.6.6 --without-berkeley-db --with-openssl=/usr/local/ssl

  2./usr/local/ssl/lib/libssl.a: could not read symbols: Bad value

  1. 加上–without-serf
2. ./configure --prefix=/root/usr/local/svn/subversion-1.6.6 --without-berkeley-db --with-openssl=/usr/local/ssl -without-serf

  三 建立仓库

  1. 创建目录
  1. mkdir  -p  /root/usr/local/svn/svndata/inc
2.
3. 加上参数P,是如果没有父目录则自动创建
4.
5. 注意: /root/usr/local/svn/svndata在这里将是所有仓库的根目录,innc是其中的一个仓库。

  2. 创建仓库

  1. svnadmin create  /root/usr/local/svn/svndata/inc
2.
3. 这里使用SVN将inc建立为仓库。则在inc文件夹里会生成一系列对于inc仓库相应的配置文件

四 配置仓库

    1. 查看创建仓库后的文件

进入/svndata/inc/conf,会发现有几个配置文件

    2. 修改svnserve.conf

  1. vi svnserve.conf
2.
3. 打开这个配置文件,可以看到很多配置项已经注释掉了,只需要按下面这几项修改就可以了
4.
5. [general]
6.
7. anon-access = none
8.
9. auth-access = write
10.
11. password-db = passwd
12.
13. authz-db=authz

  3. 目录控制文件authz (or叫权限控制文件)

  1. vi authz
2.
3. 默认是没有配置的,要参照下面示例来配置
4.
5. [groups]
6.
7. admin = svnadmin
8.
9. [repos1:/]
10.
11. @admin = rw
12.
13. svnadmin = rw
14.
15. 上面的配置权限控制文件的配置格式如下:
16.
17. [groups]
18.
19. <用户组名> = <用户1>,<用户2>, ……
20.
21. [<版本库>:/项目/目录]
22.
23. @<用户组名> = <权限>
24.
25. <用户名> = <权限>
26.
27. 其中,方框号内部分可以有多种写法:
28.
29. /,表示根目录及以下。根目录是svnserve启动时指定的,我们指定为/root/usr/local/svn/svndata 这样,/就是表示对全部版本库设置权限。
30.
31. inc:/,表示对版本库1设置权限
32.
33. inc2:/occi,表示对版本库2中的occi项目设置权限
34.
35. inc2:/occi/aaa,,表示对版本库2中的occi项目的aaa目录设置权限
36.
37. 权限主体可以是用户组、用户或*,用户组在前面加@,*表示全部用户。权限可以是w、r、wr和空,空表示没有任何权限。

  4. 修改用户密码文件passwd

  1. vi passwd
2.
3. 默认也是没有配置任何用户的,可按下面配置示例配置
4.
5. [users]
6.
7. svnadmin = 123456
8.
9. 用户密码的配置格式:
10.
11. [users]
12.
13. <用户1> = <密码1>
14.
15. <用户2> = <密码2>
16.
17. 注意:这里的配置文件,除了注释外每行都必须顶行,否则又会报错了。

  五 启动SVN

  1. svnserve -d -r /root/usr/local/svn/svndata
2.
3. -d表示在后台运行,-r表示后台执行 
4.
5. 注意:这里是/root/usr/local/svn/svndata,并非/root/usr/local/svn/svndata/inc 。这是SVN使所有仓库根目录都生效的命令,并非某个仓库。这里必须注意。

  六 基本测试

  1. svn co svn://ip/inc
2.
3. checkout的时候,会要求输入用户名密码,只有配置了的用户才能验证通过

  七 端口开放

    手动修改:

  1. vi  /etc/sysconfig/SuSEfirewall2
2.
3. #TCP端口的情况:
4.
5. FW_SERVICES_EXT_TCP="3306 3690"
6.
7. 防火墙设置的生效:
8. SuSEfirewall2 restart
在windows 下 测试能不能访问:telnet ip 端口

  客户端访问

通过客户端进行访问,svn服务默认端口是:3390
地址如下:
svn://ip:3690/inc/
注意:
不要在浏览器中通过http的方式进行访问,如下地址:http://ip:3690/tshop/
那样肯定是不行的,因为你没有配置http的服务,上面是安装独立的SVN服务器
 

svn服务器搭建-SuSE Linux Enterprise Server 11 SP3的更多相关文章

  1. 安装MySQL -- SuSE Linux Enterprise Server 11 SP3

    1.准备工作从MySQL官网上分别下载mysql服务器端于客户端包: MySQL-server-5.5.49-1.sles11.x86.rpm MySQL-client-5.5.49-1.sles11 ...

  2. kafka服务安装-SuSE Linux Enterprise Server 11 SP3

    kafka是一款分布式消息发布和订阅的系统,具有高性能和高吞吐率. 更多说明请自行了解,直接进入主题. kakfa 安装之前需要安装jdk,不做更多说明 一.下载kafka  进入下载页面:http: ...

  3. redis服务器安装-SuSE Linux Enterprise Server 11 SP3

    一.下载 官网下载,可自选版本,点击进入下载,这里下载了redis-3.2.4 放到 /root/usr/local/redis/ 目录下 二.编译 1. 执行make编译redis tar -zxz ...

  4. SUSE Linux Enterprise Server 11 SP1安装图解教程

    一.说明:操作系统:SUSE Linux Enterprise Server 11 SP1下载地址:需要注册才能下载二.安装系统 用启动盘成功引导之后,出现下面的界面 系统运维 温馨提醒:qihang ...

  5. SUSE Linux Enterprise Server 11 64T 安装(带清晰视频)

    SUSE Linux Enterprise Server 11 64T 安装实录 650) this.width=650;" onclick='window.open("http: ...

  6. ASP .Net Core系统部署到SUSE Linux Enterprise Server 12 SP3 64 具体方案

    .Net Core 部署到 SUSE Linux Enterprise Server 12 SP3 64 位中的步骤 1.安装工具 1.apache 2..Net Core(dotnet-sdk-2. ...

  7. SUSE Linux Enterprise Server 11 软件源

    1.添加软件源 zypper ar http://ftp5.gwdg.de/pub/opensuse/discontinued/distribution/11.4/repo/oss oss zyppe ...

  8. Welcome Docker to SUSE Linux Enterprise Server【水平有限,中英对比,求纠错】

      原文:Welcome Docker to SUSE Linux Enterprise Server Lightweight virtualization is a hot topic these ...

  9. windows安装SUSE Linux Enterprise Server 12

    一:打开“开发人员模式” 点击开始菜单按钮,选择“设置” 在设置中选择“更新和安全” 在菜单中选择“针对开发人员”,在三个选项中,选中“开发人员模式” 在弹出的警告框中点击“是” 这样开发人员模式就打 ...

随机推荐

  1. Unit of work + Repository

    (Unit of work + Repository) 今日后开启进阶模式! 谈到MVC与EntityFramework,则不得不说一说事务与仓储(Unit of work + Repository) ...

  2. ODP.NET

    1,什么是ODT?就是Oracle 为 .NET (ODP.NET) 专门编写了 Oracle Data Provider,一个用于 Microsoft .NET 环境下的 Oracle 数据访问 A ...

  3. url路径

      /:表示根目录(最原始开头的那个目录): ~/:表示虚拟站点根目录: ../:表示上级目录(当前目录的上一级),相当于在当前目录按了一次后退键: ../../:表示上上级目录: ./:当前目录(当 ...

  4. mac 下nginx加入开机启动

    通过brew install nginx后设置开机启动项 sudo cp /usr/local/opt/nginx/*.plist /Library/LaunchDaemonssudo launchc ...

  5. CSS盒子的浮动

    web前端学习笔记(CSS盒子的浮动) 在标准流中,一个块级元素在水平方向会自动伸展,直到包含它的元素的边界:而在竖直方向和兄弟元素依次排列,不能并排.使用“浮动”方式后,块级元素的表现就会有所不同. ...

  6. jquery选择器之内容过滤选择器

    先写出DOM元素的HTML结构: <style type="text/css"> /*高亮显示*/ .highlight{ background-color: gray ...

  7. 让MyEclipse里的Tomcat自动reloadable

    1  修改server.xml Context path="/***" docBase="XXX" reloadable="true"/&g ...

  8. 淘宝ued - 前端智勇大闯关(第三季)答案(更新)

    淘宝ued - 前端智勇大闯关(第三季)答案(更新) 下午在微博上看到了淘宝智勇大闯关第三季的信息,感觉挺有意思的,于是就尝试做了下.附上题目地址: http://ued.campus.alibaba ...

  9. C#中易混淆的知识点

    C#中易混淆的知识点 一.引言 今天在论坛中看到一位朋友提出这样的一个问题,问题大致(问题的链接为:http://social.msdn.microsoft.com/Forums/zh-CN/52e6 ...

  10. WinForm中 事件 委托 多线程的应用

    WinForm中 事件 委托 多线程的应用[以一个下载进度条为例] 第一步:首先我们创建一个winfor的项目 第二步:我们建一个窗体在一个窗体里面 打开一个另外的窗体 另外的窗体有一个按钮 点击后就 ...