kali下搭建SVN服务器

一、下载软件和依赖包
  cd root
  wget http://mirrors.tuna.tsinghua.edu.cn/apache/subversion/subversion-1.9.7.tar.gz
  wget https://jaist.dl.sourceforge.net/project/libpng/zlib/1.2.11/zlib-1.2.11.tar.gz
  wget http://archive.apache.org/dist/apr/apr-util-1.6.1.tar.gz
  wget http://archive.apache.org/dist/apr/apr-1.6.3.tar.gz
wget http://www.sqlite.org/sqlite-amalgamation-3071501.zip
注:目录可自己创建,如果有网可直接执行,没网的话,到对应网址下载安装包和依赖包
二、安装软件依赖包
1.安装 apr.tar.gz
  cd root
  tar -zxvf apr-1.6.3.tar.gz
  cd apr-1.6.3/
  ./configure --prefix=/usr/local/apr
  make && make install
2.安装 apr-util.tar.gz
  cd root
  tar -zxvf apr-util-1.6.1.tar.gz
  cd apr-util-1.6.1/
  ./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr --with-expat=/usr/local/expat
  make && make install
3.安装 zlib-1.2.11.tar.gz
  cd root
  tar -zxvf zlib-1.2.11.tar.gz
  cd zlib-1.2.11/
  ./configure --prefix=/usr/local/zlib
  make && make install
4.安装 subversion-1.9.7.tar.gz
  cd root
  tar -zxvf subversion-1.9.7.tar.gz
  unzip sqlite-amalgamation-3071501.zip
  mv sqlite-amalgamation-3071501 ./subversion-1.9.7/sqlite-amalgamation
  cd subversion-1.9.7
  ./configure --prefix=/usr/local/svn --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util --with-zlib=/usr/local/zlib --without-berkeley-db --with-ssl
  make
  make install
5.检验是否安装成功
  cd /usr/local/svn/bin
  ./svnserve --version
  kali下SVN搭建及配置
三、安装时可能会遇到的一些问题
 上面的安装步骤都是kali linux上安装的,再次从Ubuntu上安装时可能会遇到下面的问题
1.安装 apr.tar.gz执行./configure命令时最后出现下面的错误:
  config.status: executing libtool commands
  rm: cannot remove ‘libtoolT’: No such file or directory
  config.status: executing default commands
  解决方法:修改configure文件,找到:RM"RM "cfgfile" 这一行,将其注释掉
2.安装apr-util.tar.gz执行make命令时出现如下的错误:
  xml/apr_xml.c:35:19: fatal error: expat.h: 没有那个文件或目录
  #include <expat.h>
  ^
  compilation terminated.
  解决方法:缺少expat库,安装expat-2.1.0.tar.gz,项目主页:https://sourceforge.net/projects/expat/
    cd Desktop
    tar -zxvf expat-2.1.0.tar.gz
    cd expat-2.1.0
    ./configure --prefix=/usr/local/expat
    make
    make install
  重新编译apr-util,再进行make:
    ./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr --with-expat=/usr/local/expat
    make
    make install

四、仓库的创建和配置
1:在当前路径下创建NGVONE_library文件夹,mkdir NGVONE_library
2:svnadmin create /root/NGVONE_library 命令用来创建NGVONE_library仓;多仓创建命令相同,例如在创建一个NGVONE_robot仓命令为:svnadmin create /root/NGVONE_robot
3:killall svnserve 命令用来杀死所有的SVN进程,因为如果后台有运行的SVN,那么再次启动新仓会报错,显示地址已使用
4:SVN服务启动 :
1)单仓启动命令:svnserve –d –r /root/NGVONE_library
2)多仓启动命令:svnserve –d –r / ,此命令表示启动根目录下的所有SVN,多仓启动最好使用此命令,因为如果按单仓启动命令启动,可能会报地址已使用错误
五、权限设置
需配置如下三个文件,文件路径就是开始配置SVN仓的路径
1.svnserve.conf 服务器配置文件
  # 匿名用户访问版本库权限,可选值read/write/none,一般情况下匿名用户没有权限,设置为none
  anon-access = none
  # 授权用户访问版本库权限,可选值read/write/none
  auth-access = write

用户名密码文件,可以使用绝对路径,相对路径是指相对于conf目录的位置,一般默认设置相对路径即可。注意:如果该选项不开启,用户名密码文件将失效

password-db = passwd

授权管理文件,可以使用绝对路径,相对路径是指相对于conf目录的位置,一般默认设置相对路径即可。注意:如果该选项不开启,授权管理将失效

authz-db = authz
  # 版本库认证域名称,也就是需要认证的仓库名
  realm = NGVONE_library
2.passwd 用户密码管理文件
  [users]
  zhangpeng= talent
  jiao_channi = talent
3.authz 授权管理文件
  # 分组设置权限
  [groups]
  admin =zhangpeng,jiao_channi
  # 也可增加其他分组,例如:测试人员
  tester=guo_zhiqiang

# 设定根目录权限,此处应注意:设置为根目录即可,如果不设置或者设置错误将导致用户对于仓的访问没有权限
  [/]
  # 开发人员读写权限(给组分配权限时前面加@符)
  @admin= rw
  # 测试人员读权限
  @tester= r
  # 也可以为分组外的用户配置权限
  fu_qi= rw
##为用户配置其可操作的仓的具体目录,例如在NGVONE_library这个仓下有两个文件夹A和B,只想让某用户访问其中之一配置如下
  [/A]
  # 张三用户对于product仓库下的“A”目录具有读写权限
  zhangsan= rw
  # 李四具有读权限
  lisi= r
  # 张三无任何权限
  zhangsan=
  # 其他任何人没有任何权限
  * =
[/B]
  # 张三用户对于product仓库下的“B”目录具有读写权限
  zhangsan= rw
  # 李四具有读权限
  lisi= r
  # 张三无任何权限
  zhangsan=
  # 其他任何人没有任何权限
  * =
注:分组授权管理是为了方便多用户授权,也可以不分组,直接给用户授权

为了方便期间可添加环境变量:vi /etc/profile
  export ZOOKEEPER_HOME=/usr/local/zookeeper-3.4.11
  export PATH=PATH:PATH:ZOOKEEPER_HOME/bin:/usr/local/svn/bin

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2021-08-07
  • 2022-12-23
  • 2022-01-27
猜你喜欢
  • 2022-02-07
  • 2021-09-02
  • 2022-01-06
  • 2021-10-15
  • 2021-04-16
  • 2022-01-14
相关资源
相似解决方案