安装subversion

时间:2023-03-08 17:20:14

  安装subversion需要依赖aprapr-utilsqlite

  下载安装包,放在/usr/file目录

  • subversion-1.9.4.tar.gz
  • apr-1.5.2.tar.gz
  • apr-util-1.5.4.tar.gz
  • sqlite-amalgamation-3150100.zip

  解压

cd /usr/file

tar xvf subversion-1.9.4.tar.gz
tar xvf apr-1.5.2.tar.gz
tar xvf apr-util-1.5.4.tar.gz
unzip sqlite-amalgamation-3150100.zip

  安装apr

cd apr-1.5.2
.configure --prefix=usr/local/apr
make && make install

  安装apr-util

cd ../apr-util-1.5.4
./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr
make && make install

  配置sqlite

cd ../
mv sqlite-amalgamation-3150100 ./subversion-1.9.4/sqlite-amalgamation

  安装subversion

cd subversion-1.9.4
./configure --prefix=/usr/local/subversion --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util
make && make install

  配置环境变量

vi /etc/profile

  追加以下内容

#subversion
export PATH=$PATH:/usr/local/subversion/bin

  使配置立即生效,并检查安装结果

source /etc/profile
svnserve -version

配置仓库

  仓库路径/usr/svn/repo

mkdir -p /usr/svn/repo
svnadmin create /usr/svn/repo

  仓库目录下会生成文件和目录,编辑

cd /usr/svn/repo/conf
vi svnserve.conf

  去掉以下几行的注释并修改,注意,行前一定不要留空格

anon-access = none
auth-access = write
password-db = passwd
authz-db = authz
realm = repo

  编辑passwd文件

vi passwd

  添加(用户=密码)

[users]
root = root

  编辑authz文件

vi authz

  设置权限

[groups]
admin = root
[/]
@admin = rw

配置服务

  接下来将subversion配置成系统服务

  启动subversion

svnserve -d --listen-port 9999 -r /usr/svn

  在/etc/init.d目录创建文件(无后缀)

cd /etc/init.d
vi svn

  添加如下内容

#!/bin/bash
#chkconfig: 2345 90 10
#
#subversion
# build this file in /etc/init.d/svn
# chmod 755 /etc/init.d/svn
#
SVN_HOME=/usr/svn
if [ ! -f "/usr/local/subversion/bin/svnserve" ]
then
    echo "svnserver startup: cannot start"
    exit
fi
case "$1" in
    start)
        echo "Starting svnserve..."
        /usr/local/subversion/bin/svnserve -d --listen-port 9999 -r $SVN_HOME
        echo "started!"
        ;;
    stop)
        echo "Stoping svnserve..."
        killall svnserve
        echo "stopped!"
        ;;
    restart)
        $0 stop
        $0 start
        ;;
    *)
        echo "Usage: svn { start | stop | restart } "
        exit 1
esac

  设置开机启动

chmod 755 /etc/init.d/svn
chkconfig svn on

  svn启动、关闭命令

service svn start
service svn stop
service svn restart

常见问题

  windows安装tortoiseSVN客户端软件,checkout svn://192.168.25.130:9999/repo

  如果遇到问题一

Unable to connect to a repository at URL

  解决方法:右键“TortoiseSVN”--“Settings”--“Saved Data”,依次“Clear”所有项,重新“checkout”

  如果遇到问题二:

line 19: Option expected

  解决方法:修改subversion配置文件,去掉配置项行前空格