zoukankan      html  css  js  c++  java
  • ubuntu 搭建 svn服务器,使用http方式访问

    原文: http://blog.csdn.net/wobuxingfang/article/details/70835414

    参考: http://www.cnblogs.com/zzugyl/p/3688796.html

    ---------------------------------------------------------------------------

    Ubuntu版本:16.04 LTS

    1、安装apache2和svn server

    # sudo apt-get install apache2
    # sudo apt-get install subversion
    # sudo apt-get install libapache2-svn
    1
    2
    3
    完成以上安装后,可以直接访问apache的主页:http://localhost

    2、创建subversion用户组,并把apache运行用户www-data加入到subversion用户组中

    # sudo addgroup subversion
    # sudo usermod -g subversion -a www-data
    1
    2

    1、先创建svn组和svn用户:
     
    sudo addgroup svn
    sudo useradd svn -g svn -m  //新增svn用户名,-g并制定它所在的组svn,-m同时创建svn用户所在的home目录
    sudo passwd svn  //设置svn用户的密码 // hzsxsvn 我设置的用户svn的密码


    3、创建svn版本库

    # sudo mkdir /home/svn
    # sudo svnadmin create /home/svn/repos
    1
    2
    这时候就可以在/home/svn/repos目录下看到svn版本库的所有文件夹以及配置文件,如:conf、db、format、hooks、locks、README.txt。

    4、配置svn

      1、编辑authz 、passwd

      authz是配置权限的,passwd是保存用户名密码,为了管理方便,把这两个文件放到/home/svn下进行统一的管理。
      编辑passwd文件:

    [users]
    admin = admin
    1
    2
    3
      编辑authz文件:

    [groups]         
    admin_group = admin

    [/]
    @admin_group = rw
    1
    2
    3
    4
    5
    6
    然后编辑repos下的svnserve.conf文件

    # sudo gedit /home/svn/repos/svnserve.conf
    1
    匿名用户不可读
    anon-access = none

    权限用户可写
    auth-access = write

    密码文件为passwd
    password-db = ../../passwd

    权限文件为authz
    authz-db = ../../authz
      
    这里引用的是相对路径,不是绝对路径。

    5、启动SVN服务

    # sudo svnserve -d -r /home/svn
    1
    描述说明:
    -d 表示svnserver以“守护”进程模式运行
    -r 指定文件系统的根位置(版本库的根目录),这样客户端不用输入全路径,就可以访问版本库
    如:svn://localhost/repos
    这时SVN安装就完成了。

    6、接下来是将svn配置到apache中通过http web方式访问

      之前我看网上有些人在apache2.conf里配置svn信息,也有的是配置在mods-available文件夹下的dav_svn.conf文件,我是在apache2.conf下配置的,配置内容如下所示:

    <Location /svn>
    DAV svn
    SVNParentPath /home/svn
    SVNAdvertiseV2Protocol Off
    AuthType Basic
    AuthName "Subversion Repository"
    AuthUserFile /home/svn/pwdfile
    AuthzSVNAccessFile /home/svn/authz
    Require valid-user
    </Location>
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
      SVNPath是项目库地址,如果只有一个项目库,则直接可以用SVNPath。为了长久的考虑,决定使用SVNParentPath,让新建的项目库放在/home/svn/下。AuthUserFile是存放用户文件。AuthzSVNAccessFile是用户/组权限文件。Require valid-user是登录svn要做验证。备注:此配置文件是告诉apache关于svn的访问路径已经相关配置文件,这里注意存放的根目录。

    往pwdfile里添加用户名密码  
     

    # sudo htpasswd -c /home/svn/pwdfile admin
    1
    重启apache服务器,sudo /etc/init.d/apache2 restart,然后就可以通过http://localhost/svn/repos进行远程访问。

    第一次在ubuntu上搭建svn,愣是东弄西弄,弄了好几天,网上太多版本了,不过总算弄好了,记录一下以防以后忘记。

  • 相关阅读:
    康复计划
    Leetcode 08.02 迷路的机器人 缓存加回溯
    Leetcode 38 外观数列
    Leetcode 801 使序列递增的最小交换次数
    Leetcode 1143 最长公共子序列
    Leetcode 11 盛水最多的容器 贪心算法
    Leetcode 1186 删除一次得到子数组最大和
    Leetcode 300 最长上升子序列
    Leetcode95 不同的二叉搜索树II 精致的分治
    Leetcode 1367 二叉树中的列表 DFS
  • 原文地址:https://www.cnblogs.com/oxspirt/p/7725452.html
Copyright © 2011-2022 走看看