centos下svn安装配置2种方法详解

作者:袖梨 2022-06-30

svn安装一

1.首先下载subversion安装包之后解压,进入subversion目录

wget http://subversion.tigris.org/downloads/subversion-1.6.6.tar.gz
wget http://subversion.tigris.org/downloads/subversion-deps-1.6.6.tar.gz
tar xfvz subversion-1.6.6.tar.gz
tar xfvz subversion-deps-1.6.6.tar.gz
cd subversion-1.6.6
2.编译文件

首先检测系统有没有安装SSL:

find / -name opensslv.h
如果找不到,就执行如下命令进行安装:

yum install openssl yum install openssl-devel
安装之后用find / -name opensslv.h命令找到opensslv.h所在的目录,即下列–with-openssl=后面的路径,
运行编译:

./configure --prefix=/usr/local/svn --with-openssl=/usr/include/openssl --without-berkeley-db
3.进行安装

先执行以下操作:
(1)、编辑ld.so.conf文件:

vi /etc/ld.so.conf
添加下面一行:

/usr/local/lib
(2)、保存后运行ldconfig:

/sbin/ldconfig
make && make install
(3)安装完成,执行以下命令测试:

/usr/local/svn/bin/svnserve --version
为了方便下操作,下面将SVN的BIN添加到PATH:

vi /etc/profile
倒数第二行添加:

PATH=/usr/local/svn/bin:$PATH
保存后,使其立即生效:

source /etc/profile
4.配置svn
建立版本库目录,可建多个:

mkdir -p /home/svndata/repos
建立版本库:

svnadmin create /home/svndata/repos
修改版本库配置文件:

vi /home/svndata/repos/conf/svnserve.conf
[general]
anon-access = read
auth-access = write
password-db = /usr/local/svn/conf/passwd.conf
authz-db = /usr/local/svn/conf/authz.conf
realm = repos

其他的注释可以删除掉

5.建立密码文件和认证文件

在/usr/local/svn/下面新建conf文件

并再/usr/local/svn/文件内新建passwd.conf和authz.conf文件:

cd /usr/local/svn/
mkdir conf
touch passwd.conf
touch authz.conf
添加用户及密码:

vi /usr/local/svn/conf/passwd.conf
添加如下代码并保存:

[users]
clvalueDQ = 123456
svn       = 1234567
配置svn用户访问权限:

vi /usr/local/svn/conf/authz.conf
[groups]
admin=wll,svn
[/]
@admin = rw
[repos:/]
@admin=rw

svn配置完毕。

建立启动svn的用户:

useradd svn passwd svn
根据提示,为用户svn设置密码。
允许用户svn访问版本库:

chown -R svn:svn /home/svndata
启动svn:

如果报错

svnserve: 不能绑定服务器套接字: 地址已在使用

则先杀死进程

killall svnserve

再启动

svnserve -d –listen-port 9999 -r /home/svndata

 

6.将svn加入到开机启动

编辑rc.local文件:

vi /etc/rc.d/rc.local
加入如下启动命令:

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

7.连接SVN
安装TortoiseSVN,重启系统。
启动TortoiseSVN并在地址栏中输入svn://192.168.x.x:9999/repos
根据提示输入用户名与密码后就可以使用版本控制啦。

你可以在本地浏览器中输入网址192.168.x.x:9999/repos

显示

( success ( 2 2 ( ) ( edit-pipeline svndiff1 absent-entries commit-revprops depth log-revprops partial-replay ) ) )
 

8.开启权限验证

svn co svn://192.168.3.109/repos –username wll –password 123456

显示:

 

———————————————————————–
ATTENTION! Your password for authentication realm:

repos

can only be stored to disk unencrypted! You are advised to configure
your system so that Subversion can store passwords encrypted, if
possible. See the documentation for details.

You can avoid future appearances of this warning by setting the value
of the ‘store-plaintext-passwords’ option to either ‘yes’ or ‘no’ in
‘/root/.subversion/servers’.
———————————————————————–
保存未加密的密码(yes/no)?

选择yes

 

9。注:

常见错误

(1).报错无法连接显示“ 目标机器积极拒绝”,主要是防火墙的缘故

需要开启 9999端口 编辑iptables

 

vi /etc/sysconfig/iptables

 

# Generated by iptables-save v1.4.7 on Tue Jul 23 09:58:01 2013
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [2:80]
-A INPUT -p tcp -m tcp –dport 80 -j ACCEPT
-A INPUT -m state –state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -p tcp -m state –state NEW -m tcp –dport 22 -j ACCEPT
-A INPUT -p tcp -m state –state NEW -m tcp –dport 9999 -j ACCEPT
-A INPUT -j REJECT –reject-with icmp-host-prohibited
-A FORWARD -j REJECT –reject-with icmp-host-prohibited
COMMIT
# Completed on Tue Jul 23 09:58:01 2013

保存后重启防火墙
[root@localhost conf]# service iptables restart

 

(2)出现 svn: Invalid authz configuration 或者 svn: 认证功能失败

此处多为authz.conf文件的错误和svnserve.conf 文件的错误

vi /usr/local/svn/conf/authz.conf
[groups]
admin=wll,svn
[/] #不要有空格
@admin = rw
[repos:/]
@admin=rw

 

vi /home/svndata/repos/conf/svnserve.conf

[general]
anon-access = read#不要有空格
auth-access = write#不要有空格
password-db = /usr/local/svn/conf/passwd.conf
authz-db = /usr/local/svn/conf/authz.conf
realm = repos

 

格式保存好后 在认证

svn co svn://192.168.3.109:9999/repos

依次 输入密码

 
svn安装二

一、下载相关软件

wget http://subversion.tigris.org/downloads/subversion-1.6.1.tar.gz
wget http://subversion.tigris.org/downloads/subversion-deps-1.6.1.tar.gz
二、安装及配置

1、解压:(要在同一个目录下)

tar -zxvf subversion-1.6.1.tar.gz
tar -zxvf subversion-deps-1.6.1.tar.gz
2、编译安装:

./configure --prefix=/usr/local/svn/
make && make install
3、把SVN相关命令路径添加到环境变量

echo "export PATH=$PATH:/usr/local/svn/bin/" >> /etc/profile
source /etc/profile
三、建立测试仓库

1、建立SVN的根目录

mkdir -p /opt/svn/
2、建立一个测试仓库

mkdir -p /opt/svn/svntest/
svnadmin create /opt/svn/svntest/
3、修改配置文件
在cd /opt/svn/svntest/conf/目录下有三个文件:
svnserve.conf 是svn的配置文件
authz 是设置用户权限的配置文件(可自定义文件名,在svnserve.conf的authz-db = authz中指定)
passwd 是设置用户名和密码的配置文件(可自定义文件名,在svnserve.conf的password-db = passwd中指定)

vi svnserve.conf
修改如下:
[general]
anon-access = none
auth-access = write
password-db = passwd
authz-db = authz
==================================================================

vi authz
修改如下:
[svntest:/]
92csz.com = rw
#给svntest仓库添加一个名称为92csz.com的用户,权限为可写。
==================================================================

vi passwd
修改如下:
92csz.com = 123456
#由于是测试,密码设置为123456
四、在客户机安装svn客户端

1、下载地址:

http://code.google.com/p/rails4scm/downloads/detail?name=tortoisewin32svn.msi

2、下载完成后,直接next安装即可,安装完成后需要重启生效。
五、启动服务器及测试

1、启SVN服务,并指定SVN的根目录:

svnserve -d -r /opt/svn/
2、检查服务是否已经正常起来:

netstat -tunlp | grep svn
结果如下,则表示正常监听3690端口
tcp 000.0.0.0:36900.0.0.0:*                   LISTEN 8646/svnserve
3、测试

在桌面上新建一个名称为svntest的目录,在此目录上点击右键,选择Checkout,在首行填写svn服务器的IP地址及仓库名称

相关文章

精彩推荐