您的位置:首页 > 其它

svn服务器的安装

2008-02-17 13:23 337 查看
svn服务器的安装

1.环境
操作系统 Redhat as4u4
subversion-1.4.5.tar.gz

2.编译apr-util-1.2.7.tar.gz,apr-1.2.7.tar.gzsvn还需要这两个,至少我机器上是
tar zxvf apr-1.2.7.tar.gz
cd apr-1.2.7
./configure
make
make install

tar zxvf apr-util-1.2.7.tar.gz
cd apr-util-1.2.7
./configure --with-apr=/usr/local/apr/
make
make install

3.编译svn,安装在/opt/svn
tar jxvf subversion-1.4.5.tar.bz2
cd subversion-1.4.5
./configure --prefix=/opt/svn --without-berkeley-db --with-zip --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr/
make
make install

3.将svn bin目录加入环境变量
vi /etc/profild.d/svn
PATH=$PATH:/opt/svn/bin/;export PATH

chmod +x /etc/profile.d/svn
. /etc/profile.d/svn

4.添加svn用户
useradd -M svn

5.创建版本库
mkdir /opt/svndata
cd /opt/svndata
svnadmin create test
chown svn.svn * -R

6.修改配置
cd test/conf
vi svnserve.conf
修改以下项
anon-access = none
auth-access = write
password-db = passwd
authz-db = authz
realm = test

vi passwd
[users]
rainharder = 123456

vi authz
[/]
rainharder = rw

[repository:/test]
rainharder = rw

注:
1.配置项前面不能有空格,否则会这种报错
Error * /opt/svndata/test/conf/svnserve.conf:12: Option expected
2.anon-access = read,会有报这个错
Error * Authorization failed
3.password-db,authz-db使用的文件可以加上路径,这样多个版本库可以共用一个认证库
4.权限配置文件中出现的用户名必须已在用户配置文件中定义。
5.对权限配置文件的修改立即生效,不必重启svn。
6.权限主体可以是用户组、用户或*,用户组在前面加@,*表示全部用户。权限可以是w、r、wr和空,空表示没有任何权限

可以手工启动
svnserve -d -r /opt/svndata/
也可以配置成服务

 

 

配置成服务

vi /etc/xinetd.d/svn
service svn
{
    disable = no
    port = 3690
    socket_type = stream
    protocol = tcp
    wait = no
    user = svn
    server = /opt/svn/bin/svnserve
    server_args = -i -r /opt/svndata
}

vi /etc/services 加入
svnserve 3690/tcp # Subversion svnserve

svn             3690/tcp                        # Subversion

/etc/init.d/xinetd restart

版本库迁徙
只要把整个目录移动就可以了,会保留包括修改记录在内的所有信息

 写了脚本完成大部分工作

 

 


#!/bin/sh




svnbin=$1


svndata=$2




# install dependencies


tar zxvf apr-1.2.7.tar.gz


cd apr-1.2.7


./configure


make


make install




cd -


tar zxvf apr-util-1.2.7.tar.gz


cd apr-util-1.2.7


./configure --with-apr=/usr/local/apr/


make


make install




# install svn


cd -


tar jxvf subversion-1.4.5.tar.bz2


cd subversion-1.4.5


./configure --prefix=$svnbin --without-berkeley-db --with-zip --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr/


make


make install




# clean


cd -


rm apr-1.2.7 apr-util-1.2.7 subversion-1.4.5 -rf




# add path evironment variables


svnpath="PATH='$PATH':$svnbin/bin;export PATH"


echo $svnpath > /etc/profile.d/svn.sh


chmod +x /etc/profile.d/svn.sh


source /etc/profile




# add user svn


(echo svn; echo svn) | useradd svn -M




# service conf


svnsrvconf="


service svn


{


        disable = no


        port = 3690


        socket_type = stream


        protocol = tcp


        wait = no


        user = svn


        server = $svnbin/bin/svnserve


        server_args = -i -r $svndata


}


"




echo -e $svnsrvconf  > /etc/xinetd.d/svn




echo -e "svn             3690/tcp                        # Subversion" >> /etc/service




/etc/init.d/xinetd restart





内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: