准备安装包
下载地址
首先要下载需要的依赖包,这里我准备了最新的下面的依赖包的下载地址:加QQ:2301403600
依赖包介绍
需要用到的依赖包有:
主程序
subversion-1.11.0.tar.gz
sqllite数据库依赖
sqlite-autoconf-3260000.tar.gz
apr-1.6.5.tar.gz
apr-util-1.6.1.tar.gz
expat_2.0.1.orig.tar.gz
zlib-1.2.11.tar.xz
开始安装
说明:这里我将所有安装包统一放在/home/svn/下进行以下操作处理
首先安装 apr-1.6.5.tar.gz
步骤1
1 | # 解压文件 |
接下来安装 expat_2.0.1.orig.tar.gz
步骤2
1 | # 解包tar文件 |
接下来安装 zlib-1.2.11.tar.xz
步骤3
1 | # 将xz文件解压生成tar文件 |
接下来进行安装 apr-util-1.6.1.tar.gz
步骤4
1 | # 解包文件 |
继续安装svn主程序
步骤5
1 | ./configure --prefix=/home/svn/subversion-1.8.16 --with-apr=/home/svn/apr-1.5.2 --with-apr-util=/home/svn/apr-util-1.5.4 |
如下如:这一步可能会提示是说没有安装依赖的数据库sqlite
然后我们就要自行安装sqlite,将sqlite解压到/home/svn/subversion-1.8.16/sqlite-amalgamation下
1 | # 1.将sqlite数据库解压到svn主目录下 |
如果还报错,并且报下面的两个错误:
1 | 错误1:configure: error: Subversion requires LZ4 >= r129, or use --with-lz4=internal |
则需要在3步骤的configuration后面添加配置项:
–with-lz4=internal –with-utf8proc=internal
1 | ./configure --prefix=/home/svn/subversion-1.8.16 --with-apr=/home/svn/apr-1.5.2 --with-apr-util=/home/svn/apr-util-1.5.4 --with-lz4=internal --with-utf8proc=internal |
最后进行安装
1 | make |
安装成功后提示如下:
步骤6
将SVN加入到系统path
1 | # 进入到家目录 |
在配置文件的 export PATH 上面一行添加:
1 | PATH = /home/svn/subversion-1.11.0/bin:$PATH |
然后保存修改,使用 source 让其生效
1 | source .bash_profile |
最后使用命令验证svn是否安装成功
1 | #查看svn版本,出现版本信息,则代表安装成功 |
步骤7
接下来就是对svn的配置
- 创建svn仓库
1 | # 执行此命令后svn自动创建目录,并在目录下添加必须的配置文件. |
修改配置文件
在刚建好的目录下conf下有三个配置文件需要配置,分别是passwd:账户密码配置文件、auth:认证权限配置文件、svnserve.conf :svn服务器配置文件
修改svnserve.conf 文件,放开这几个注释,注意,配置文件前面不能有空格
1
2
3
4anon-access = none # 使非授权用户无法访问
auth-access = write # 使授权用户有写权限
password-db = passwd # 指明密码文件路径
authz-db = authz # 访问控制文件修改passwd文件,可以添加多个,此为用户名密码对
1
2
3[users]
username1 = password1
username2 = password2修改auth文件
groups可以将多个用户分到一个组下,通过对组的权限控制,控制其读写操作和对项目库的权限
1
2
3[groups]
users = user1,user1[/]此配置文件采用“基于路径的授权”策略,中括号里指定路径,以下列出对各用户的授权。包括只读r,读写rw。没有列出的用户,则不允许访问。还可以对用户分组,具体请参考svn手册,以下是简单例子:
1
2
3[/]
@users = rw
步骤8
启动svn
1 | # 执行命令,启动服务, 以deamon方式运行。 |