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. 手机网站keyup解决方案

    模糊搜索keyup无效,解决方案如下 //手机网站解决keyup的方法 $(function () { $('#repairsearch').bind('focus', filter_time); } ...

  2. GIT+云盘作 做 文档管理工具

    GIT+云盘作 做 文档管理工具 在工作中, 会遇到公司的文档 和 自己家里的 文档进行同步的问题, 通常我们使用U盘作为传输节制, 但是不是非常好,文档的改动都不能发现, 导致回家同步的时候, 出各 ...

  3. 学SpringMVC收藏

     一个较完整的SpringMVC工程的配置 2014-01-22 17:17:25 标签:java spring springMVC 配置 springSecurity web.xml 原创作品,允许 ...

  4. 你的flume-ng的第一篇博客

    我在flume-ng 1.1.0 孵化版的时候就开始接触了,自己也搞了一段时间,没事扯扯心得吧. 先说在前面,flume-ng 后面的版本,我没仔细读change log ,比较农民 , 不知道新添了 ...

  5. Python的RotatingFileHandler的Bug

    Python的库非常强大,基本能找到我们所有需要的lib.logging模块是Python中的日志记录库,借鉴了Java中的LOG4J模块的思想,能非常方便的用于记录软件执行日志. 最近有在开发自动化 ...

  6. [原]逆向iOS SDK -- +[UIImage imageNamed:] 的实现

    汇编代码: ; Dump of assembler code for function +[UIImage imageNamed:] ; R0 = UIImage, R1 = "imageN ...

  7. revel框架教程之CSRF(跨站请求伪造)保护

    revel框架教程之CSRF(跨站请求伪造)保护 CSRF是什么?请看这篇博文“浅谈CSRF攻击方式”,说的非常清楚. 现在做网站敢不防CSRF的我猜只有两种情况,一是没什么人访问,二是局域网应用.山 ...

  8. HTML5 Canvas中实现绘制一个像素宽的细线

    正统的HTML5 Canvas中如下代码 ctx.lineWidth = 1; ctx.beginPath(); ctx.moveTo(10, 100); ctx.lineTo(300,100); c ...

  9. EM算法详解

    EM算法详解 1 极大似然估计 假设有如图1的X所示的抽取的n个学生某门课程的成绩,又知学生的成绩符合高斯分布f(x|μ,σ2),求学生的成绩最符合哪种高斯分布,即μ和σ2最优值是什么? 图1 学生成 ...

  10. hdu4277 USACO ORZ

    USACO ORZ Time Limit: 5000/1500 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Sub ...