一、下载源码文件
1
2
|
wget http:
//subversion
.tigris.org
/downloads/subversion-1
.6.15.
tar
.gz
wget http:
//subversion
.tigris.org
/downloads/subversion-deps-1
.6.15.
tar
.gz
|
svn的官方网址是http://subversion.tigris.org
二、安装
两个文件解压到同一目录。两个文件版本要一致,不然会报一些莫名其妙的错误。
系统环境:CentOS5.5
安装所需要的依赖包:gcc gcc-c++ openssl openssl-devel
如果不安装openssl相关包,./configure时会出现以下错误:configure: error: We require OpenSSL; try –with-openssl configure failed for serf
1
2
3
4
5
|
cd
/apps
tar
zvxf subversion-1.6.15.
tar
.gz
tar
zvxf subversion-deps-1.6.15.
tar
.gz
cd
subversion-1.6.15
.
/configure
--prefix=
/apps/svn
|
configure完成出现:
You don’t seem to have Berkeley DB version 4.0.14 or newer
installed and linked to APR-UTIL. We have created Makefiles which
will build without the Berkeley DB back-end; your repositories will
use FSFS as the default back-end. You can find the latest version of
Berkeley DB here:
http://www.oracle.com/technology/software/products/berkeley-db/index.html
你似乎没有Berkeley DB版本4.0.14或更新版本
安装并链接至四月- util的。我们已创建Makefile文件的
将建立一个没有了Berkeley DB后端,你的版本库
作为默认后端使用FSFS格式。你可以找到最新版本
Berkeley DB的位置…
这个提示可以跳过
编译时有可能会死循环. 仔细观察输出信息会有这个警告:warning: Clock skew detected. Your build may be incomplete.(时钟同步问题)
解决办法:
1
2
3
4
|
date
-s 4
/13/2011
date
-s 09:42:50
clock -w
date
|
重新配置
1
2
3
|
.
/configure
--prefix=
/apps/svn
make
make
install
|
安装完成后可能会出现以下错误
/apps/subversion-1.6.15/subversion/svnversion/.libs/lt-svnversion: error while loading shared libraries: libiconv.so.2: cannot open shared object file: No such file or directory
解决办法如下:
1.在/etc/ld.so.conf中加一行/usr/local/lib
2.然后运行/sbin/ldconfig,文件解决,没有报错
再次运行:make install
到这里就安装成功了。
三、配置环境变量
进入SVN安装目录
1
|
cd
/apps/svn
|
查看SVN版本
1
|
bin
/svnadmin
--version
|
配置环境变量
1
|
vim ~/.bash_profile
|
#添加配置路径
SVN_HOME=/apps/svn
export SVN_HOME
#在PATH后面添加
:$SVN_HOME/bin
保存后用执行以下命令使其生效
1
|
. ~/.bash_profile
|
输入svn按Tab键就会输出相应的命令
1
|
svn
|
svn svnadmin svndumpfilter svnlook svnserve svnsync svnversion
四、配置,建立仓库
1
|
cd
../
|
建个svn的根目录,因为项目不只一个, -p的意思是说如果没有父目录建之
1
|
mkdir
-p utvchina
|
建立仓库
1
2
|
mkdir
-p utvchina
/repos
svnadmin create utvchina
/repos/
|
#修改配置文件
1
|
vim utvchina
/repos/conf/svnserve
.conf
|
#将以下四个属性前注释删除
[general]
#匿名访问的权限,可以是read,write,none,默认为read
anon-access = none
#认证用户的权限,可以是read,write,none,默认为write
auth-access = write
#密码数据库的路径,去掉前面的#
password-db = passwd
#修改密码配置文件
1
|
vim utvchina
/repos/conf/passwd
|
[users]
yzw=yzw
#修改权限配置文件
1
|
vim utvchina
/repos/conf/authz
|
[groups]
users=yzw
#[/]表示所有库的根目录
[/]
@users=rw
*=r
如果出现authorization failed异常,一般都是authz文件里,用户组或者用户权限没有配置好
开放端口
svn默认端口为3690
修改/etc/sysconfig/iptables文件,增加如下一行:
-A RH-Firewall-1-INPUT -m state –state NEW -m tcp -p tcp –dport 3690-j ACCEPT
#重启防火墙
1
|
service iptables restart
|
启动SVN
其中-d表示在后台运行,-r指定服务器的根目录,这样访问服务器时就可以直接用svn://服务器ip来访问了
1
|
svnserve -d -r
/apps/utvchina/repos
|