目录
环境准备:
本次演示环境如下:
系统:Centos7
svn版本:1.11.0
svn安装包:
链接:https://pan.quark.cn/s/bfc41cfa52c8
提取码:TDBw
为了方便使用,我们在系统目录/home/下新建一个SVN文件夹:
mkdir /home/SVN
将下载后的压缩包(共6个)上传至Linux服务器,/home/SVN/目录下,按以下顺序依次解压:
tar -zxvf subversion-1.11.0.tar.gz
tar -zxvf apr-1.6.5.tar.gz
tar -zxvf apr-util-1.6.1.tar.gz
tar -zxvf zlib-1.2.11.tar.xz
tar -zxvf expat_2.0.1.orig.tar.gz
tar -zxvf sqlite-autoconf-3260000.tar.gz
解压后得到如下(打马赛克部分是我已经安装后生成的文件,请暂时忽略):
安装:
安装apr:
cd apr-1.6.5
#使用vi编辑configure文件,将其中的RM='$RM'改为RM='$RM -f'
#进入vi之后可以使用/RM='$RM'命令快速找到需要修改的位置
#执行下列命令
./configure --prefix=/home/SVN/apr
make && make install
安装apr-util:
#进入apr-util安装包目录
cd apr-util-1.6.1
#执行以下命令
./configure --prefix=/home/SVN/apr-util --with-apr=/home/SVN/apr --with-expat=/home/SVN/expat
make && make install
安装expat:
#进入expat安装包目录
cd expat-2.0.1
#执行以下安装命令
./configure --prefix=/home/SVN/expat
make && make install
安装zlib:
#进入zlib安装包目录
cd zlib-1.2.11
#执行下面命令
./configure --prefix=/home/SVN/zlib
make && make install
安装sqlite-autoconf:
#复制文件夹sqlite-autoconf至/home/SVN/目录下
mkdir -p ./subversion-1.11.0/sqlite-amalgamation
cp -r sqlite-autoconf-3260000/* ./subversion-1.11.0/sqlite-amalgamation
安装subversion:
#进入subversion安装包目录
cd subversion-1.11.0
#执行以下命令
./configure --prefix=/home/SVN/subversion --with-apr=/home/SVN/apr --with-apr-util=/home/SVN/apr-util --with-zlib=/home/SVN/zlib --with-lz4=internal --with-utf8proc=internal
make && make install
配置:
首先配置环境变量:
#编辑环境变量:
vi /etc/profile
#将这一行改为:
export PATH=$PATH:/home/svn/subversion-1.12.0/bin
#保存退出后,执行以下代码加载环境变量
source /etc/profile
验证是否成功:
#执行以下代码验证配置是否成功
svnserve --version
若出现类似下图的版本信息界面,即为成功:
新建一个SVN库:
#比如我想将SVN版本库放在/usr/local/svn下面,
mkdir /usr/local/svn
#创建版本库,此处为我们真正使用的内容库目录
mkdir -p /usr/local/svn/groupFiles
svnadmin create /usr/local/svn/groupFiles
#以上两个步骤的目录及文件夹名称可以根据自己的使用习惯调整
配置SVN信息:
#首先进入上一步新建的版本库下的conf目录
cd /usr/local/svn/groupFiles/conf
#修改passwd文件,在[users]标签下创建用户名和密码
vi passwd
例如我的是这样,等号前为用户名,等号后为密码:
然后编辑authz文件:
vi authz
在最后添加如下信息
虽然我新建了四个用户,但是目前我只用到两个,所以只需配置两条,[/]代表的是整个目录下的用户权限,r代表可读取,w代表可写入(可编辑)。
* = r代表其他用户的权限
最后配置vi svnserve.conf文件
vi svnserve.conf
按下图配置
其中:
anon-access = none 代表禁止匿名访问
auth-access = write 代表授权用户“写”的权限
password-db = passwd 将passwd文件(前面我们修改过的)作为账号配置文件
authz-db = authz 将authz文件(前面我们修改过的)作为权限配置文件
realm = /usr/local/svn/groupFiles SVN版本库所在的目录
启动SVN服务:
注意此处的目录层级
svnserve -d -r /usr/local/svn
查看SVN服务信息:
ps -ef|grep svnserve
如下图所示即为服务启动成功:
随后在客户端中设置连接即可正常使用:
此处注意URL路径的后是svn版本库的名称: