软件世界网 购物 网址 三丰软件 | 小说 美女秀 图库大全 游戏 笑话 | 下载 开发知识库 新闻 开发 图片素材
多播视频美女直播
↓电视,电影,美女直播,迅雷资源↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
移动开发 架构设计 编程语言 Web前端 互联网
开发杂谈 系统运维 研发管理 数据库 云计算 Android开发资料
  软件世界网 -> 互联网 -> Linux中搭建SVN服务器 -> 正文阅读

[互联网]Linux中搭建SVN服务器


一 下载工具
[plain] view plain copy print?[img]http://blog.csdn.net/ffggnfgf/article/details/51042334/https:/code.csdn.net/assets/CODE_ico.png[img]http://blog.csdn.net/ffggnfgf/article/details/51042334/https:/code.csdn.net/assets/ico_fork.svg
  1. 1. subversion-1.6.17.tar.gz  
  2.   
  3. 2. subversion-deps-1.6.17.tar.gz  


二 解压两个包:
1.在此之前,我已经创建了一个用户svnroot专门用来安装管理svn的,就解压在/home/root/目录下
[plain] view plain copy print?[img]http://blog.csdn.net/ffggnfgf/article/details/51042334/https:/code.csdn.net/assets/CODE_ico.png[img]http://blog.csdn.net/ffggnfgf/article/details/51042334/https:/code.csdn.net/assets/ico_fork.svg
  1. tar -xzvf  subversion-1.6.17.tar.gz  
  2.   
  3. tar -xzvf  subversion-deps-1.6.17.tar.gz  

2. 编译安装
[plain] view plain copy print?[img]http://blog.csdn.net/ffggnfgf/article/details/51042334/https:/code.csdn.net/assets/CODE_ico.png[img]http://blog.csdn.net/ffggnfgf/article/details/51042334/https:/code.csdn.net/assets/ico_fork.svg
  1. ./configure --prefix=/home/svnroot/subversion  --without-berkeley-db  
  2.   
  3. //prefix指定安装的目录,without-berkeley-db表明不使用berkeley数据库  
  4.   
  5. //在这一步有可能不成功,是因为有一些依赖的软件没装,具体见下面“遇到的问题”  
  6.   
  7. make  
  8.   
  9. make install  

3.添加环境变量

[plain] view plain copy print?[img]http://blog.csdn.net/ffggnfgf/article/details/51042334/https:/code.csdn.net/assets/CODE_ico.png[img]http://blog.csdn.net/ffggnfgf/article/details/51042334/https:/code.csdn.net/assets/ico_fork.svg
  1. 可以在/etc/profile中添加  
  2.   
  3. exprot PATH=$PATH:/home/svnroot/subversion/bin  
  4.   
  5. 4.查看是否安装成功  
  6.   
  7. /home/svnroot/subversion/bin/svnserve --version  
  8.   
  9. //如果出现SVN的版本则证明安装成功  

三 建立仓库

1. 创建目录
[plain] view plain copy print?[img]http://blog.csdn.net/ffggnfgf/article/details/51042334/https:/code.csdn.net/assets/CODE_ico.png[img]http://blog.csdn.net/ffggnfgf/article/details/51042334/https:/code.csdn.net/assets/ico_fork.svg
  1. mkdir  -p  /home/svnroot/svndata/repos1  
  2.   
  3. 加上参数P,是如果没有父目录则自动创建  
  4.   
  5. 注意: /home/svnroot/svndata在这里将是所有仓库的根目录,repos1是其中的一个仓库。  

2. 创建仓库
[plain] view plain copy print?[img]http://blog.csdn.net/ffggnfgf/article/details/51042334/https:/code.csdn.net/assets/CODE_ico.png[img]http://blog.csdn.net/ffggnfgf/article/details/51042334/https:/code.csdn.net/assets/ico_fork.svg
  1. svnadmin create  /home/svnroot/svndata/repos1  
  2.   
  3. 这里使用SVN将repos1建立为仓库。则在repos1文件夹里会生成一系列对于repos1仓库相应的配置文件  

四 配置仓库

1. 查看创建仓库后的文件
[plain] view plain copy print?[img]http://blog.csdn.net/ffggnfgf/article/details/51042334/https:/code.csdn.net/assets/CODE_ico.png[img]http://blog.csdn.net/ffggnfgf/article/details/51042334/https:/code.csdn.net/assets/ico_fork.svg
  1. 进入/svndata/repos1/conf,会发现有几个配置文件  


2. 修改svnserve.conf
[plain] view plain copy print?[img]http://blog.csdn.net/ffggnfgf/article/details/51042334/https:/code.csdn.net/assets/CODE_ico.png[img]http://blog.csdn.net/ffggnfgf/article/details/51042334/https:/code.csdn.net/assets/ico_fork.svg
  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叫权限控制文件)
[plain] view plain copy print?[img]http://blog.csdn.net/ffggnfgf/article/details/51042334/https:/code.csdn.net/assets/CODE_ico.png[img]http://blog.csdn.net/ffggnfgf/article/details/51042334/https:/code.csdn.net/assets/ico_fork.svg
  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启动时指定的,我们指定为/home/svnadmin/svndata。这样,/就是表示对全部版本库设置权限。  
  30.   
  31. repos1:/,表示对版本库1设置权限  
  32.   
  33. repos2:/occi,表示对版本库2中的occi项目设置权限  
  34.   
  35. repos2:/occi/aaa,,表示对版本库2中的occi项目的aaa目录设置权限  
  36.   
  37. 权限主体可以是用户组、用户或*,用户组在前面加@,*表示全部用户。权限可以是w、r、wr和空,空表示没有任何权限。  

4. 修改用户密码文件passwd
[plain] view plain copy print?[img]http://blog.csdn.net/ffggnfgf/article/details/51042334/https:/code.csdn.net/assets/CODE_ico.png[img]http://blog.csdn.net/ffggnfgf/article/details/51042334/https:/code.csdn.net/assets/ico_fork.svg
  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

[plain] view plain copy print?[img]http://blog.csdn.net/ffggnfgf/article/details/51042334/https:/code.csdn.net/assets/CODE_ico.png[img]http://blog.csdn.net/ffggnfgf/article/details/51042334/https:/code.csdn.net/assets/ico_fork.svg
  1. svnserve -d -r /home/svnadmin/svndata  
  2.   
  3. -d表示在后台运行,-r表示……  
  4.   
  5. 注意:这里是/home/svnadmin/svndata,并非/home/svnadmin/svndata/repos1。这是SVN使所有仓库根目录都生效的命令,并非某个仓库。这里必须注意。  

六 基本测试

[plain] view plain copy print?[img]http://blog.csdn.net/ffggnfgf/article/details/51042334/https:/code.csdn.net/assets/CODE_ico.png[img]http://blog.csdn.net/ffggnfgf/article/details/51042334/https:/code.csdn.net/assets/ico_fork.svg
  1. svn co svn://192.168.6.74/repos1  
  2.   
  3. checkout的时候,会要求输入用户名密码,只有配置了的用户才能验证通过  

问题汇总:
1.configure: error: no XML parser was found: expat or libxml 2.x required
[plain] view plain copy print?[img]http://blog.csdn.net/ffggnfgf/article/details/51042334/https:/code.csdn.net/assets/CODE_ico.png[img]http://blog.csdn.net/ffggnfgf/article/details/51042334/https:/code.csdn.net/assets/ico_fork.svg
  1. 错误提示需要安装expat(下载expat2.tar.gz)  
  2.   
  3.   
  4. cd /usr/local  
  5.   
  6. tar -xvzf expat2.tar.gz  
  7.   
  8. cd expat2  
  9.   
  10. ./configure  
  11.   
  12. make  
  13.   
  14. make install  

2.configure: error: We require OpenSSL; try --with-openssl
[plain] view plain copy print?[img]http://blog.csdn.net/ffggnfgf/article/details/51042334/https:/code.csdn.net/assets/CODE_ico.png[img]http://blog.csdn.net/ffggnfgf/article/details/51042334/https:/code.csdn.net/assets/ico_fork.svg
  1. 错误提示需要安装openssl,所以我就安装了一个openssl,安装方法如下:  
  2.   
  3.   
  4. cd /usr/local  
  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=/home/svnadmin/subversion --without-berkeley-db --with-openssl=/usr/local/ssl   

3.configure: error: subversion requires zlib
[plain] view plain copy print?[img]http://blog.csdn.net/ffggnfgf/article/details/51042334/https:/code.csdn.net/assets/CODE_ico.png[img]http://blog.csdn.net/ffggnfgf/article/details/51042334/https:/code.csdn.net/assets/ico_fork.svg
  1. 错误提示需要安装zlib  
  2.   
  3. 下载zlb:http://zlib.net/  
  4.   
  5. cd /usr/local  
  6.   
  7. tar -xvzf zlib-1.2.5.tar.gz  
  8.   
  9. cd zlib-1.2.5  
  10.   
  11. ./configure  
  12.   
  13. make  
  14.   
  15. make install  

4.svn checkout https://xxx.xxx.xxx/  
[plain] view plain copy print?[img]http://blog.csdn.net/ffggnfgf/article/details/51042334/https:/code.csdn.net/assets/CODE_ico.png[img]http://blog.csdn.net/ffggnfgf/article/details/51042334/https:/code.csdn.net/assets/ico_fork.svg
  1. svn: SSL is not supported  
  2.   
  3. 从网上查了一下,说是在执行./configure 时要加上--with-ssl  
  4.   
  5.  ./configure --with-openssl=/usr/local/ssl --with-zlib=/usr/local/zlib --with-ssl --with-libs=/usr/local/ssl  

[plain] view plain copy print?[img]http://blog.csdn.net/ffggnfgf/article/details/51042334/https:/code.csdn.net/assets/CODE_ico.png[img]http://blog.csdn.net/ffggnfgf/article/details/51042334/https:/code.csdn.net/assets/ico_fork.svg
  1. 5./usr/local/ssl/lib/libssl.a: could not read symbols: Bad value  

[plain] view plain copy print?[img]http://blog.csdn.net/ffggnfgf/article/details/51042334/https:/code.csdn.net/assets/CODE_ico.png[img]http://blog.csdn.net/ffggnfgf/article/details/51042334/https:/code.csdn.net/assets/ico_fork.svg
  1. 加上–without-serf  

[plain] view plain copy print?[img]http://blog.csdn.net/ffggnfgf/article/details/51042334/https:/code.csdn.net/assets/CODE_ico.png[img]http://blog.csdn.net/ffggnfgf/article/details/51042334/https:/code.csdn.net/assets/ico_fork.svg
  1. <pre code_snippet_id="303029" snippet_file_name="blog_20140420_14_153034" name="code" class="plain">./configure --prefix=/home/svnadmin/subversion --without-berkeley-db --with-openssl=/usr/local/ssl -<span style="font-family: Arial, Helvetica, sans-serif;">without-serf</span> 

......显示全文...
    点击查看全文


上一篇文章      下一篇文章      查看所有文章
2016-04-02 20:59:29  
互联网 最新文章
C++11并发API总结
16.收款(AcceptingMoney)
数据链路层综述
IP协议及IP数据报解析
《浅谈HTTP协议》
计算机网络基础
LoadRunner和RPT之间关于手动关联和参数化的
HTTPS中的对称密钥加密,公开密钥加密,数字
上班需要打卡吗?(开通微信公众号--乘着风
ofbizjmsactivemq
360图书馆 软件开发资料 文字转语音 购物精选 软件下载 美食菜谱 新闻资讯 电影视频 小游戏 Chinese Culture 股票 租车
生肖星座 三丰软件 视频 开发 短信 中国文化 网文精选 搜图网 美图 阅读网 多播 租车 短信 看图 日历 万年历 2018年1日历
2018-1-20 7:28:43
多播视频美女直播
↓电视,电影,美女直播,迅雷资源↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  软件世界网 --