由于测试的要求,需要在centos5.7上面安装subversion1.5.3,记录一下过程吧。
这个版本太老了,2008年发布了,至少14年了。
网上很难找到安装的步骤了,不管怎么样,先试一下吧。
subversion下载地址:
apr和apr-util下载地址:
安装文档:
https://svn.apache.org/repos/asf/subversion/trunk/INSTALL
当前OS信息:
[root@qht131 ~]# cat /etc/redhat-release
CentOS release 5.7 (Final)
1.先删除系统已安装好的svn1.6
[root@qht131 ~]# rpm -aq | grep subversion
subversion-1.6.11-7.el5_6.4
subversion-1.6.11-7.el5_6.4
[root@qht131 ~]# yum remove subversion
[root@qht131 ~]# rpm -aq | grep subversion
[root@qht131 ~]#
2.安装apr和apr-util
[root@qht131 ~]# mkdir -p /usr/local/apr
[root@qht131 ~]# tar -zxvf apr-1.5.0.tar.gz
[root@qht131 ~]# cd apr-1.5.0
[root@qht131 apr-1.5.0]# ./configure --prefix=/usr/local/apr
[root@qht131 apr-1.5.0]# make && make install
[root@qht131 ~]# mkdir -p /usr/local/apr-util
[root@qht131 ~]# tar -zxvf apr-util-1.5.3.tar.gz
[root@qht131 ~]# cd apr-util-1.5.3
[root@qht131 apr-util-1.5.3]# ./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr
[root@qht131 apr-util-1.5.3]# make && make install
3.开始安装
[root@qht131 ~]# mkdir -p /usr/local/svn
[root@qht131 ~]# cd subversion-1.5.3
[root@qht131 subversion-1.5.3]# ./configure --prefix=/usr/local/svn --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util
[root@qht131 subversion-1.5.3]# make && make install
4.在PATH加上/usr/local/svn/bin
[root@qht131 ~]# cat .bash_profile
# .bash_profile
# Get the aliases and functions
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi
# User specific environment and startup programs
PATH=$PATH:$HOME/bin:/usr/local/svn/bin
export PATH
unset USERNAME
重新登入就可以了
[root@qht131 ~]# svn --version
svn, version 1.5.3 (r33570)
compiled Mar 17 2022, 10:57:13
Copyright (C) 2000-2008 CollabNet.
Subversion is open source software, see http://subversion.tigris.org/
This product includes software developed by CollabNet (http://www.Collab.Net/).
The following repository access (RA) modules are available:
* ra_svn : Module for accessing a repository using the svn network protocol.
- with Cyrus SASL authentication
- handles 'svn' scheme
* ra_local : Module for accessing a repository on local disk.
- handles 'file' scheme
5.配置svn仓库
[root@qht131 home]# mkdir -p /home/svn/project/
[root@qht131 home]# svnadmin create /home/svn/project/
[root@qht131 home]# cd /home/svn/project/
[root@qht131 project]# ls
conf db format hooks locks README.txt
增加两个用户
[root@qht131 project]# cat conf/passwd
admin = admin
guest = guest
权限管理
[root@qht131 project]# cat conf/authz
[/]
admin = rw
guset = r
[root@qht131 project]# grep -v "#" conf/svnserve.conf
[general]
anon-access = read
auth-access = write
password-db = passwd
authz-db = authz
realm = svn_source
[sasl]
启动服务,默认端口3690
[root@qht131 svn_source]# svnserve -d -r /home/svn/project --config-file=/home/svn/project/conf/svnserve.conf
这条指令的参数-d表示以守护进程形式运行Svn服务器,-r表示Svn服务器的根目录,后接SVN的根目录。
--config-file是Svn服务器启动所引用的配置文件,后接配置文件路径。
svnserve指令的更多参数可以参考此文
https://linux.die.net/man/8/svnserve
SVN服务器默认端口是3690,如果要修改默认端口,可以在运行svnserve命令时添加--listen-port参数,后接需要指定的端口号。
[root@qht131 bin]# netstat -nal | grep 3690
tcp 0 0 0.0.0.0:3690 0.0.0.0:* LISTEN
6.导入初始化数据
[root@qht131 home]# svn import common\(p.a.0\)/ file:///home/svn/project/ -m "Init Data"
。。。。。。
Adding common(p.a.0)/src/javascript/prototypeV7.js
Adding common(p.a.0)/libs
Adding (bin) common(p.a.0)/libs/svntask.jar
Skipped 'common(p.a.0)/libs/.svn'
Adding (bin) common(p.a.0)/libs/svnkit.jar
Committed revision 1.