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.编译文件
编译所必须的软件包如果没有请自行安装。例如gcc,make等工具。
运行编译:
./configure --prefix=/usr/local/svn
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: 不能绑定服务器套接字:地址已在使用
则先杀死进程
killallsvnserve
再启动
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
Blog.itiwin.cn/repos
显示
( success ( 2 2 ( ) ( edit-pipeline svndiff1 absent-entriescommit-revprops depth log-revprops partial-replay ) ) )
8.开启权限验证
svn cosvn://192.168.3.109/repos –username wll –password 123456
显示:
———————————————————————–
ATTENTION! Your password for authentication realm:
<svn://192.168.3.109:3690>repos
can only bestored 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 avoidfuture 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
# Generatedby 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 -ptcp -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 cosvn://192.168.3.109:9999/repos
依次输入密码