Linux环境源码编译安装SVN

安装说明

安装环境:Red Hat Enterprise Linux
安装方式:源码安装
软件:apr-1.5.0.tar.gz、apr-iconv-1.2.1.tar.gz、apr-util-1.5.3.tar.gz、sqlite-amalgamation-201311181848.zip、subversion-1.8.4.tar.gz

安装前提

安装之前要安装apr、apr-util、apr-iconv软件

安装

将subversion-1.8.4.tar.gz文件上传到/usr/local中执行以下操作:

#!/bin/bash
 #-------------------准备--------------------------
#安装之前要安装apr、apr-util、apr-iconv软件

#检查是否安装了低版本的SVN
 rpm -qa subversion

 #卸载/删除原有安装
yum remove subversion
 rm -rf /usr/local/svn

 #-------------------------------------- 安装 -----------------------------------------------------
#进入安装目录
cd /usr/local

 #解压压缩包
tar -zxv -f subversion-1.8.4.tar.gz

 #修改用户权限
chown -R root:root /usr/local/subversion-1.8.4

 #进入安装目录
cd subversion-1.8.4

 #将sqlite-amalgamation-201311181848.zip上传到/usr/local/subversion-1.8.4中,然后解压安装sqlite支持
mkdir -p sqlite-amalgamation
 unzip -o -d sqlite-amalgamation sqlite-amalgamation-201311181848.zip

 #配置
./configure \
 --prefix=/usr/local/svn \
 --with-apr=/usr/local/apr \
 --with-apr-util=/usr/local/apr-util \
 --with-zlib=/usr/local/zlib

 #编译安装
make && make install

 #----------------------验证-------------------
#验证
/usr/local/svn/bin/svnserve --version

 #删除安装源文件
cd /usr/local
 rm -rf subversion-1.8.4

 #-----------------------配置环境变量--------------------------------
#添加环境变量
cat>>/etc/profile<<EOF
 #----------------------------------
 export SVN_HOME=/usr/local/svn
 export PATH=\
 SVN_HOME/bin:\
 PATH
 #----------------------------------
 EOF

 #配置生效
source /etc/profile

 #验证配置
svnserve --version

 #-------------------------------------- 单个仓库配置 -----------------------------------------------------
#建立版本库(可建立多个,新建库后以下各项都需重新配置。注意区别安装目录与版本库目录,以下讲的都是版本库目录)
mkdir -p /var/svn/repos
 chmod -R 775 /var/svn/repos

 #建立svn版本库(与上面目录对应),执行命令后自动生成配置文件,文件夹发现包含了conf, db,format,hooks, locks, README.txt等文件,说明一个SVN库已经建立
svnadmin create /var/svn/repos

 #------------------------------------单个仓库配置-----------------------------------------
#==> 注意:配置文件的行前的#和空格都要去掉,必须去掉
#生成密码文件,配置用户信息(可以添加多个,用户名密码对的方式)
cat>/var/svn/repos/conf/passwd<<EOF
 [users]
 admin=123
 zhoulf=123
 test=123
 EOF

 #权限控制authz配置(只读r,读写rw,没有列出的用户,则不允许访问),[/svn/repos]指定资源文件路径,只允许方位这个目录下
cat>/var/svn/repos/conf/authz<<EOF
 [/]
 admin=rw
 [/svn/repos]
 zhoulf=rw
 test=r
 EOF

 #修改配置
cat>/var/svn/repos/conf/svnserve.conf<<EOF
 [general]
 anon-access=none
 auth-access=write
 password-db=/var/svn/repos/conf/passwd
 authz-db=/var/svn/repos/conf/authz
 realm=/var/svn/repos
 EOF

 #启动SVN
 svnserve -d -r /var/svn/repos

 #客户端访问路径
admin/123 - svn://192.168.1.102/
 zhoulf/123 - svn://192.168.1.102/svn/repos/


 #连接成功后手动创建以下目录,以保证标准化。
svn://192.168.1.102/svn/repos/trunk
 svn://192.168.1.102/svn/repos/tags
 svn://192.168.1.102/svn/repos/branches

 #停止SVN服务
ps -aux |grep svn
 #kill -9 xxx

 #------------------------------------多仓库配置运行-----------------------------------------
#如果一台服务器上同时启动多个版本管理,那么启动路径必须是所有项目仓库的根路径
svnserve -d -r /var/svn/repos

 #例如: /var/svn/repos1 /var/svn/repos2 -------------------> /var/svn

相关推荐