设为首页 收藏本站
查看: 791|回复: 0

[经验分享] Linux中搭建SVN服务器

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2014-4-23 09:21:37 | 显示全部楼层 |阅读模式
一 下载工具
1. subversion-1.6.17.tar.gz  

2. subversion-deps-1.6.17.tar.gz  

二 解压两个包:

1.在此之前,我已经创建了一个用户svnroot专门用来安装管理svn的,就解压在/home/root/目录下
tar -xzvf  subversion-1.6.17.tar.gz  

tar -xzvf  subversion-deps-1.6.17.tar.gz  
2. 编译安装
./configure --prefix=/home/svnroot/subversion  --without-berkeley-db  

//prefix指定安装的目录,without-berkeley-db表明不使用berkeley数据库  

//在这一步有可能不成功,是因为有一些依赖的软件没装,具体见下面“遇到的问题”  

make  

make install  
3.添加环境变量

可以在/etc/profile中添加  

exprot PATH=$PATH:/home/svnroot/subversion/bin  

4.查看是否安装成功  

/home/svnroot/subversion/bin/svnserve --version  

//如果出现SVN的版本则证明安装成功  
三 建立仓库


1. 创建目录
mkdir  -p  /home/svnroot/svndata/repos1  

加上参数P,是如果没有父目录则自动创建  

注意: /home/svnroot/svndata在这里将是所有仓库的根目录,repos1是其中的一个仓库。  
2. 创建仓库
svnadmin create  /home/svnroot/svndata/repos1  

这里使用SVN将repos1建立为仓库。则在repos1文件夹里会生成一系列对于repos1仓库相应的配置文件  
四 配置仓库

1. 查看创建仓库后的文件
进入/svndata/repos1/conf,会发现有几个配置文件  

2. 修改svnserve.conf
vi svnserve.conf  

打开这个配置文件,可以看到很多配置项已经注释掉了,只需要按下面这几项修改就可以了  

[general]  

anon-access = none  

auth-access = write  

password-db = passwd  

authz-db=authz  

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

默认是没有配置的,要参照下面示例来配置  

[groups]  

admin = svnadmin  

[repos1:/]  

@admin = rw  

svnadmin = rw  

上面的配置权限控制文件的配置格式如下:  

[groups]  

<用户组名> = <用户1>,<用户2>, ……  

[<版本库>:/项目/目录]  

@<用户组名> = <权限>  

<用户名> = <权限>  

其中,方框号内部分可以有多种写法:  

/,表示根目录及以下。根目录是svnserve启动时指定的,我们指定为/home/svnadmin/svndata。这样,/就是表示对全部版本库设置权限。  

repos1:/,表示对版本库1设置权限  

repos2:/occi,表示对版本库2中的occi项目设置权限  

repos2:/occi/aaa,,表示对版本库2中的occi项目的aaa目录设置权限  

权限主体可以是用户组、用户或*,用户组在前面加@,*表示全部用户。权限可以是w、r、wr和空,空表示没有任何权限。  
4. 修改用户密码文件passwd
vi passwd  

默认也是没有配置任何用户的,可按下面配置示例配置  

[users]  

svnadmin = 123456  

用户密码的配置格式:  

[users]  

<用户1> = <密码1>  

<用户2> = <密码2>  

注意:这里的配置文件,除了注释外每行都必须顶行,否则又会报错了。  
五 启动SVN
svnserve -d -r /home/svnadmin/svndata  

-d表示在后台运行,-r表示……  

注意:这里是/home/svnadmin/svndata,并非/home/svnadmin/svndata/repos1。这是SVN使所有仓库根目录都生效的命令,并非某个仓库。这里必须注意。  
六 基本测试
svn co svn://192.168.6.74/repos1  

checkout的时候,会要求输入用户名密码,只有配置了的用户才能验证通过  
问题汇总:

1.configure: error: no XML parser was found: expat or libxml 2.x required
错误提示需要安装expat(下载expat2.tar.gz)  


cd /usr/local  

tar -xvzf expat2.tar.gz  

cd expat2  

./configure  

make  

make install  
2.configure: error: We require OpenSSL; try --with-openssl
错误提示需要安装openssl,所以我就安装了一个openssl,安装方法如下:  


cd /usr/local  

tar -zxvf openssl-1.0.0a.tar.gz  

cd openssl-1.0.0a  

./config  

./config -t  

make depend  

make  

make test  

make instal  

安装之后会在/usr/local下生成一个ssl目录,配置SVN时加上openssl路径  

./configure --prefix=/home/svnadmin/subversion --without-berkeley-db --with-openssl=/usr/local/ssl   
3.configure: error: subversion requires zlib
错误提示需要安装zlib  

下载zlb:http://zlib.net/  

cd /usr/local  

tar -xvzf zlib-1.2.5.tar.gz  

cd zlib-1.2.5  

./configure  

make  

make install  
4.svn checkout https://xxx.xxx.xxx/  
svn: SSL is not supported  

从网上查了一下,说是在执行./configure 时要加上--with-ssl  

./configure --with-openssl=/usr/local/ssl --with-zlib=/usr/local/zlib --with-ssl --with-libs=/usr/local/ssl  


运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-18217-1-1.html 上篇帖子: mod_timer函数及其它定时器函数 下篇帖子: Ubuntu 14.04 下手动安装Firefox的Flash插件 定时器 动态 服务器 Linux
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表