使用subversion搭建SVN需要用到的软件包有subversion,apr,apr-util,sqlite,zlib,因为在编译安装subversion时需要指明apr、apr-util、sqlite和zlib的安装路径,所以建议用源代码安装apr、apr-util、sqlite、zlib并在编译时指定安装位置。
一、 安装apr
tar xf 解压apr压缩包,cd进入解压后的文件夹
./configure --prefix=/usr/local/apr 配置并设置安装路径
#若出现 rm: cannot remove `libtoolT': No such file or directory 提示,修改configure文件
vi ./configure
#按 / 进入搜索模式,输入 RM='$RM' 找到该字符串,按 i 键进入编辑模式,修改为RM='$RM -f'
:wq #保存退出
make && make install 编译安装
二、 安装apr-util
tar xf 解压apr-util压缩包,cd进入解压后的文件夹
./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/ apr 设置安装路径、指定使用apr的位置
#若报错 recipe for target 'xml/apr_xml.lo' failed,则需要安装expat-dev包,下载地址https://pkgs.org/,搜索适合自己系统的安装包下载,我这里是centos6.5,下载了expat-devel-2.0.1-13.el6_8.x86_64.rpm包
rpm -ivh expat-devel-2.0.1-13.el6_8.x86_64.rpm --nodeps #安装
./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr && make && make install
三、 安装sqlite
tar xf 解压sqlite压缩包,cd 进入解压后的文件夹
./configure --prefix=/usr/local/sqlite 设置安装路径
make && make install 编译安装
四、 安装zlib
tar xf 解压zlib压缩包,cd 进入解压后的文件夹
./configure --prefix=/usr/local/zlib 设置安装路径
make && make install 编译安装
五、 安装svn
tar -xzvf subversion-1.9.7.tar.gz
cd subversion-1.9.7
./configure --prefix=/usr/local/subversion --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util
这里需要注意./configure命令,这个命令作为编译配置有很多选项,如果失败,需要添加合适的选项,错误如下:
错误1:configure: error: Subversion requires LZ4 >= r129, or use --with-lz4=internal
解决:./configure命令添加 --with-lz4=internal选项
错误2:configure: error: Subversion requires UTF8PROC
解决:./configure命令添加 --with-utf8proc=internal
make
make install
vi /etc/profile
粘贴分割线内内容后保存退出
--------------------------------------------------------------
export PATH=$PATH:/usr/local/subversion/bin
--------------------------------------------------------------
source /etc/profile
cd /usr/local/subversion/bin
./svnserve -d
./svnserve --version
mkdir -p /usr/local/svndata/
./svnadmin create --pre-1.6-compatible /usr/local/svndata/repos
#创建版本库,--pre-1.6-compatible表示兼容1.6,不加此项提交时会报Couldn't open rep-cache database错误
进入/usr/local/svndata/repos/conf就可以看到svn的配置文件,首先配置svnserve.conf
配置如下:
anon-access = none
auth-access = write
password-db = passwd
realm = My First Repository
其它配置文件一律注释掉,特别是### authz-db = authz,因为如果不是需求组权限配置的话千万不要配置这个,会有预料不到的错误
之后配置passwd文件
-----------------------
[users]
用户名 = 密码
-----------------------
配置用户权限
编辑authz文件,在[/] 下添加权限, 格式为 用户名=权限 (rw) 为读写权限
查看svn进程是否已经启动,ps -ef|grep svn 然后输入 kill 进程号 杀死该进程,之后到/usr/local/svn/bin目录下输入命令:./svnserve -d -r /usr/local/svndata/repos
就可以启动了
{
使用eclipse的svn插件时输入的地址为:svn:IP即可访问该资源库
编辑authz文件设置对相关目录的组权限和用户访问权限
[groups]
developers = admin,tony,test
[/]
@developers = rw
* =
[/www/webapps]
@developers = rw
designer = rw
test = rw
* =
修改svn配置文件,保存提交svn的账号
vi ~/.subversion/config
在[auth] 下面粘贴下面两行
------------------------------
store-passwords = yes
store-auth-creds = yes
------------------------------
}