SUSE环境下配置安装SVN版本控制器

前言

本人操作均在SUSE环境下进行,此次SVN安装配置均在生产环境中进行,特记录在此以便以后自己查询翻阅

一、

系统环境:SUSE11 sp3 

软件: 

subversion-1.6.17.tar.gz  

subversion-deps-1.6.17.tar.gz

二、

解压两个包:

1.在此之前,我已经创建了一个用户svntest专门用来安装管理svn的,就解压在/home/svntest/目录下,用户组为svnadmin

    tar -xzvf  subversion-1.6.17.tar.gz  

      

    tar -xzvf  subversion-deps-1.6.17.tar.gz  

2. 编译安装

mv subversion-1.6.17 subversion

cd /home/svntest/subversion

    ./configure --prefix=/home/svnadmin/subversion  --without-berkeley-db  

    EG

./configure --prefix=/home/svnadmin/subversion  --without-berkeley-db --with-openssl=/usr/local/ssl/ --without-serf --with-zlib=/usr/local/zlib-1.2.5.1/

    (后缀为本次安装所用的依赖参数,视情况而定)

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

      

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

      

    make  

      

    make install  

3.添加环境变量

    可以在/etc/profile中添加  

      

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

    source /etc/profile

    

4.查看是否安装成功  

      

    svnserve --version  

      

    //如果出现SVN的版本则证明安装成功  

建立仓库

1. 创建目录

    mkdir -p /home/svnadmin/subversion/svndata/repos1

      

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

      

    注意: /home/svnadmin/subversion/svndata 在这里将是所有仓库的根目录,repos1是其中的一个仓库。  

2. 创建仓库

    svnadmin create  /home/svnadmin/subversion/svndata/repos1

      

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

配置仓库

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

    进入/home/svnadmin/subversion/svndata/repos1/conf,会发现有3个配置文件  passwd  authz  svnserve.conf

2. 修改svnserve.conf

    vim svnserve.conf  

      

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

      

    [general]  

      

    anon-access=none  

      

    auth-access=write  

      

    password-db=passwd  

      

    authz-db=authz  

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

    vim authz  

      

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

      

    [groups]  

      

    svnadmin = svntest, fenghaichao,wuzehong,wangxu,linchao,zhaorenjun,linweiji

    [/]

@svnadmin = rw  

fenghaichao=rw

wuzehong=rw

wangxu=rw

    [repos1:/]  

@svnadmin = rw  

fenghaichao=rw

wuzehong=rw

wangxu=rw

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

      

    [groups]  

      

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

      

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

      

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

      

    <用户名> = <权限>  

      

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

      

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

      

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

      

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

      

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

      

    权限主体可以是用户组、用户或*,用户组在前面加@*表示全部用户。权限可以是wrwr和空,空表示没有任何权限。  

4. 修改用户密码文件passwd

    vi passwd  

      

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

      

    [users]  

      

svnadmin=svntest123

wuzehong=svntest123

wangxu=svntest123

.....=......

      

    用户密码的配置格式:  

      

    [users]  

      

    <用户1> = <密码1>  

      

    <用户2> = <密码2>  

      

    注意:这里的配置文件,除了注释外每行都必须顶行,否则又会报错了。  

启动SVN

    svnserve -d -r /home/svnadmin/subversion/svndata  

      

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

      

    注意:这里是/home/svnadmin/subversion/svndata,并非/home/svnadmin/subversion/svndata/repos1。这是SVN使所有仓库根目录都生效的命令,并非某个仓库。这里必须注意。  

基本测试

    svn co svn://11.137.136.195/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  

      

    下载zlbhttp://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  

 5./usr/local/ssl/lib/libssl.a: could not read symbols: Bad value  (一般发生在make时,此问题多为64位系统引起,需要重新编译zlib)

cd /usr/local/zlib-1.2.5.1/

CFLAGS="-O3 -fPIC" ./configure

make

make install

make clean

猜你喜欢

转载自blog.csdn.net/yanglyue/article/details/69061503