centos 7搭建svn+apache及权限控制

时间:2023-01-18 15:23:48
SVN服务器运行模式:
模式1:svn服务器单独运行  监听: 3690端口    访问: svn://IP
模式2: svn 服务器+ apache   : 80 端口  访问: http://IP

centos 7搭建svn+apache及权限控制

1. #安装svn服务器和 apache服务器,  mod_dav_svn模块 
     # yum install subversion  httpd  mod_dav_svn  -y
     mod_dav_svn模块 : apache http 服务器的插件,可以让版本库通过http协议,在网站上展现
      
      创建版本库,并修改权限
        mkdir -p /svn/repos
      创建两个版本库目录
          svnadmin  create /svn/repos/test.cn
          svnadmin  create /svn/repos/kxinfo
     启动svn: svnserve -d -r /svn/repos
     -d表示以daemon方式(后台运行)运行
     -r  /var/repos指定svn根目录是/svn/repos

centos 7搭建svn+apache及权限控制

2.  配置apache支持svn及检查两个动态库是否安装成功
        find / -name mod_dav_svn.so
        /usr/lib64/httpd/modules/mod_dav_svn.so
        find / -name mod_authz_svn.so
        /usr/lib64/httpd/modules/mod_authz_svn.so
      
      配置apache通过mod_dav_svn模块访问SVN服务器
         vim /etc/httpd/conf.d/subversion.conf   ---此文件为手动创建的,手动加入如下内容
<Location /svn>
       DAV svn
       SVNParentPath /svn/repos  ----存放两个仓库:test.cn和kxinfo的真实目录
       AuthType Basic
       AuthName " SVN server of test!"
       AuthUserFile /home/svn/passwd   ----passwd存储用户名和密码
        AuthzSVNAccessFile /home/svn/auth   ----存放用户的权限
        Require valid-user
</Location>    

centos 7搭建svn+apache及权限控制

3.   创建存放用户密码文件和权限控制文件
         htpasswd -c /home/svn/passwd  TTT
         # -c create, 创建/home/svn/passwd文件。会提示你输入密码,默认是MD5加密

         htpasswd  /home/svn/passwd  www #后期再创建时,就不需要加-c参数,否则,    会把之前添加到/home/svn/passwd中信息,全部覆盖。
            
         vim /home/svn/auth   #写入以下内容
             [/]         ------这个表示在所有仓库的根目录下
             TTT =  rw    ------TTT用户对所有仓库根目录下的软件版本库有rw权限
             [test.cn:/]    -----test.cn的根目录下的访问权限
             www =  rw	  -----www仓库具有读和写权限
             [test.cn:/company]  -----test.cn的根目录下访问权限
             liutao = rw            -----liutao用户对test.cn的根目录下company目录有读写权限

centos 7搭建svn+apache及权限控制

4.   修改版本库的权限,测试访问
       chown -R apache:apache /svn/repos/
        http://192.168.0.170/svn/test.cn     ----TTT和www都可以访问
        http://192.168.0.170/svn/test.cn/company    ----liutao用户只能访问这个目录

centos 7搭建svn+apache及权限控制

 

centos 7搭建svn+apache及权限控制

5.  SVN客户端使用说明
         subversion windows客户端TortoiseSVN配置:
         http://tortoisesvn.net/about.zh.html
         新建一个文件夹右键可以提交svn和从svn上下载
         

 centos 7搭建svn+apache及权限控制

centos 7搭建svn+apache及权限控制

centos 7搭建svn+apache及权限控制

6.  commit后可以访问看到上传的文件

centos 7搭建svn+apache及权限控制

7.  如果安装svn客户端后,右键没有svn
7.1 出现如下,说明用错了,需要右键文件夹,而不是直接点击Tortoisesvn  

centos 7搭建svn+apache及权限控制

 

centos 7搭建svn+apache及权限控制

7.2  点击TortoiseSVN文件夹,选择Settings--->General---->Contest Menu勾选如图三个选项        

 centos 7搭建svn+apache及权限控制

 

centos 7搭建svn+apache及权限控制

7.3  如还没用,选择Icon Overlays--->Icon Set--->MufWin7--->应用--->保存
       再允许--->regedit--->按照如下图设置后重启电脑  

centos 7搭建svn+apache及权限控制

centos 7搭建svn+apache及权限控制