Linux环境源码编译安装SVN
作者:zhoulf
出处:http://www.cnblogs.com/zhoulf/
安装说明
安装环境: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