Linux-CentOS6.9下svn安装

13 篇文章 0 订阅

Linux-CentOS6.9下svn安装

一、安装svn

svn安装

cd /data0/software/
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
./configure --prefix=/usr/local/svn --without-berkeley-db --with-zlib
make clean
make
make install
cd ../

设置环境变量使svn的几个命令方便调用,也可以不设置,使用全路径

vi /etc/profile 在/etc/profile最后加入

PATH=$PATH:/usr/local/svn/bin
export PATH

svn测试

/usr/local/svn/bin/svn --version
/usr/local/svn/bin/svnserve --version

如果显示如下,svn安装成功:
svnserve,版本 1.6.12 (r955767)
编译于…

二、创建svn仓库及svn配置

创建svn仓库目录 所有的svn仓库都放此目录下

mkdir -p /data0/svndata/data

创建svn配置目录 为了方便统一管理 所有仓库的用户配置都放一起

mkdir -p /data0/svndata/conf

创建两个svn仓库

mkdir -p /data0/svndata/data/repos1
mkdir -p /data0/svndata/data/repos2

/usr/local/svn/bin/svnadmin create /data0/svndata/data/repos1
/usr/local/svn/bin/svnadmin create /data0/svndata/data/repos2

修改svn仓库配置文件

仓库1

vi /data0/svndata/data/repos1/conf/svnserve.conf

内容修改为

[general]
anon-access = none
auth-access = write
password-db = /data0/svndata/conf/pwd.conf
authz-db = /data0/svndata/conf/authz.conf
realm = repos1

仓库2

vi /data0/svndata/data/repos2/conf/svnserve.conf

内容修改为

[general]
anon-access = none
auth-access = write
password-db = /data0/svndata/conf/pwd.conf
authz-db = /data0/svndata/conf/authz.conf
realm = repos2

即除realm = repos2外,其他与版本库1配置文件完全相同。如果有更多的版本库,依此类推。

配置允许访问的svn用户

vi /data0/svndata/conf/pwd.conf

为了简化配置,两个仓库共用1个用户配置文件。如有必要,也可以分开。

注意:对用户配置文件的修改立即生效,不必重启svn。

文件格式如下:
[users]
<用户1> = <密码1>
<用户2> = <密码2>

其中,[users]是必须的。下面列出要访问svn的用户,每个用户一行。示例:

[users]
cuber = 12345678
svn1  = 12345678
svn2  = 12345678

配置svn用户访问权限

vi /data0/svndata/conf/authz.conf

为了简化配置,两个仓库共用1个权限配置文件。如有必要,也可以分开。文件中定义用户组和版本库目录权限。

注意:
* 权限配置文件中出现的用户名必须已在用户配置文件中定义。
* 对权限配置文件的修改立即生效,不必重启svn。

用户组格式:
[groups]
<用户组名> = <用户1>,<用户2>
其中,1个用户组可以包含1个或多个用户,用户间以逗号分隔。

版本库目录格式:
[<版本库>:/项目/目录]
@<用户组名> = <权限>
<用户名> = <权限>

其中,方框号内部分可以有多种写法:
/,表示根目录及以下。根目录是svnserve启动时指定的,我们指定为/data0/svndata/data。这样,/就是表示对全部版本库设置权限。
repos1:/,表示对版本库1设置权限
repos2:/abc, ,表示对版本库2中的abc项目设置权限
repos2:/abc/aaa, ,表示对版本库2中的abc项目的aaa目录设置权限

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

示例:
[groups]
admin = cuber

[/]
@admin = rw

[repos1:/abc/aaa]
svn1 = rw

[repos2:/pass]
svn2 =

[groups]
admin  = cuner,svn1
groupr = svn2

[/]
@admin  = rw
@groupr = r

svn配置完毕,删除无用文件

rm -rf /data0/svndata/data/repos1/conf/authz
rm -rf /data0/svndata/data/repos1/conf/passwd
rm -rf /data0/svndata/data/repos2/conf/authz
rm -rf /data0/svndata/data/repos2/conf/passwd
三、启动svn服务
chmod -R 777 /data0/svndata/data/       # 权限

/usr/local/svn/bin/svnserve -d --listen-port 9999 -r /data0/svndata/data/  # 启动

其中

-d                       # 表示以daemon方式(后台运行)运行
–listen-port 9999        # 表示使用9999端口,可以换成你需要的端口。但注意,使用1024以下的端口需要root权限
-r /data0/svndata/data/  # 仓库根目录

检查

ps -ef|grep svnserve

# 如果显示如下,即为启动成功:
root     29250     1  0 14:45 ?        00:00:00 /usr/local/svn/bin/svnserve -d --listen-port 9999 -r /data0/svndata/data/

配置开机自动启动

vi /etc/rc.local

在末尾增加以下内容

/usr/local/svn/bin/svnserve -d --listen-port 9999 -r /data0/svndata/data/

修改防火墙配置,增加一行 放22下面

vi /etc/sysconfig/iptables

-A INPUT -m state --state NEW -m tcp -p tcp --dport 9999 -j ACCEPT

重启防火墙

service iptables restart
四、问题解决

configure可能存在的问题及解决方法
1. configure: error: could not find library containing RSA_new
o yum install openssl-devel
2. configure: error: no XML parser was found: expat or libxml 2.x required
o yum install expat-devel
3. configure: error: –with-zlib requires an argument.
o 去掉此选项

svn 使用时可能遇到的错误

svn 403错误
1 大小写问题
2 tortoisesvn clear up也没用
3 权限问题 检查vi /data0/svndata/conf/authz.conf 权限配置文件

chmod -R 777 /data0/svndata/data/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值