Linux环境安装SVN

来源:互联网 发布:js分享微信朋友圈插件 编辑:程序博客网 时间:2024/06/07 07:57

 

 

Linux环境安装SVN

 


1 SVN介绍

SVNSubversion的简称,是一个开放源代码的版本控制系统,相较于RCSCVS,它采用了分支管理系统,它的设计目标就是取代CVS。互联网上很多版本控制服务已从CVS迁移到Subversion。说得简单一点SVN就是用于多个人共同开发同一个项目,共用资源的目的。

数据存储:svn存储版本数据也有2种方式:BDB(一种事务安全型表类型)FSFS(一种不需要数据库的存储系统)。因为BDB方式在服务器中断时,有可能锁住数据,所以还是FSFS方式更安全一点。

 

1.1 安装步骤

1、检查是否已安装:

执行命令:rpm -qa subversion

如果要卸载旧版本:yum removesubversion

 

2、下载subversion软件:

下载subversion安装包之后解压进入subversion目录:

wget "http://subversion.tigris.org/downloads/subversion-1.6.12.tar.gz"

wget "http://subversion.tigris.org/downloads/subversion-deps-1.6.12.tar.gz"

tar xfvz subversion-1.6.12.tar.gz

tar xfvz subversion-deps-1.6.12.tar.gz

cd subversion-1.6.12


 

3、编译

执行命令:./configure--prefix=/usr/local/software/subversion-1.6.12 --without-berkeley-db

此处可能存在的错误:


此时先检查本机有没有装 openssl openssl-devel,最简单的方法就是找一下有没有opensslv.h这个文件,

执行命令:find / -name opensslv.h

 

如果能找到,就在configure命令之后添加--with-openssl= ...(此处是opensslv.h所在的目录)我本机是在/usr/include/openssl/

如果找不到:

执行命令:yum -y install gcc gcc-c++ ncurses-devel perlzlib gzip zlib-devel openssl openssl-devel

 

进行安装安装之后找到opensslv.h所在的目录加到configure命令之后

执行命令:./configure --prefix=/usr/local/software/subversion-1.6.12 --without-berkeley-db --with-openssl=/usr/include/openssl

注:以svnserve方式运行,不加apache编译参数。以fsfs格式存储版本库,不编译berkeley-db

 

如果最后出现下面WARNING,我们直接忽略即可。因为不使用BDB存储。


 

4、编译之后的安装

1.编辑/etc/ld.so.conf文件

执行命令:vim /etc/ld.so.conf

 

2.保存后运行ldconfig

执行命令:/sbin/ldconfig

注:ld.so.confldconfig用于维护系统动态链接库

 

3.编译

执行命令:make && make install


 

5、测试安装

执行命令:/usr/local/software/subversion-1.6.12/bin/svnversion --version


 

6、配置环境变量

执行命令:

export SUBVERSION_HOME=/usr/local/software/subversion-1.6.12

export PATH=$SUBVERSION_HOME/bin:$PATH

 

刷新环境变量:source /etc/profile

 

7、创建仓库目录

执行命令:mkdir -p/home/repertory/subversion/projects

svnadmin create /home/repertory/subversion/projects

 

创建成功生成目录:

cd /home/repertory/subversion/projects


 

8、权限配置

需求描述:

管理员组:所有的读写权限

开发组:项目的读写权限

1.编辑authz文件:

[groups]

manager = admin

developer = yuanxw,wangshaokai

 

[/]

admin=rw

@developer=rw


 

2.编辑passwd文件:

[users]

admin=admin

yuanxw=123456

wangshaokai=123456



3.编辑svnserve.conf文件:

#匿名访问者权限

anon-access = none

#验证用户权限

auth-access = write

#密码文件地址

password-db = passwd

#权限文件地址

authz-db = authz

#项目名称(UUID

realm = projects



9、开放subversion端口

默认是3690端口,你也可以用别的。

编辑命令:vim /etc/sysconfig/iptables

在文件中添加:iptables -I INPUT -p tcp --dport 3690-j ACCEPT

重启端口:service iptables restart

查看端口:service iptables status

 

10、  修改/root/.subversion/servier选项

执行命令:vim /root/.subversion/servers

修改:store-plaintext-passwords= yes



11、  启动subversion

执行命令:svnserve -d -r /home/repertory/subversion/projects

  

执行命令# svn co svn://192.168.11.229/project时提示“svn:Authorization failed”错误?

解决:一般这种授权失败的错误原因都来自conf/authz文件的配置

正确写法:



1.2 学习Subversion推荐书籍:

1. 《使用Subversion进行版本控制》

2. Tortoisesvn 1.7 Beginner's Guide

 


                --以上为《Linux环境安装SVN》,如有不当之处请指出,我后续逐步完善更正,大家共同提高。谢谢大家对我的关注。

                                                                                                                                                                                      ——厚积薄发(yuanxw)


0 0
原创粉丝点击