linux搭建SVN

转载 2015年11月18日 17:10:59

系统环境 

RHEL5.4最小化安装(关iptables,关selinux) + ssh + yum 

一,安装必须的软件包.  
      
  	yum install subversion (SVN服务器)  
        mysql-server (用于codestriker)  
        httpd mod_dav_svn mod_perl (用于支持WEB方式管理SVN服务器)  
        sendmail (用于配置用户提交代码后发邮件提醒)  
        wget gcc-c++ make unzip perl* (必备软件包)  
        ntsysv vim-enhanced (可选)  


二,基本的SVN服务器配置 
        1,新建一个目录用于存储SVN所有文件      
      # mkdir /home/svn  

        2,新建一个版本仓库  
             
      # svnadmin create /home/svn/project  

              
        3,初始化版本仓库中的目录  
            
      # mkdir project project/server project/client project/test (建立临时目录)  
      # svn import project/ file:///home/svn/project -m "初始化SVN目录"  
      # rm -rf project (删除临时建立的目录)  



        4,添加用户 
                要添加SVN用户非常简单,只需在/home/svn/project/conf/passwd文件添加一个形如“username=password"的条目就可以了.为了测试,我添加了如下内容:  
               
        [users]  
                # harry = harryssecret  
                # sally = sallyssecret  
                pm = pm_pw  
                server_group = server_pw  
                client_group = client_pw  
                test_group = test_pw  



        5,修改用户访问策略 
                /home/svn/project/conf/authz记录用户的访问策略,以下是参考:  
                
       [groups]  
                        project_p = pm  
                        project_s = server_group  
                        project_c = client_group  
                        project_t = test_group  
                          
                        [project:/]  
                        @project_p = rw  
                        * =  
                         
                        [project:/server]  
                        @project_p = rw  
                        @project_s = rw  
                        * =  
                         
                        [project:/client]  
                        @project_p = rw  
                        @project_c = rw  
                        * =  
                         
                        [project:/doc]  
                        @project_p = rw  
                        @project_s = rw  
                        @project_c = rw  
                        @project_t = rw  
                        * =  

     
                以上信息表示,只有pm有根目录的读写权,server_group能访问server目录,client_group能访问client目录,所有人都可以访问doc目录. 

        6,修改svnserve.conf文件,让用户和策略配置升效. 
                svnserve.conf内容如下:  
               
         [general]  
               anon-access = none  
               auth-access = write  
               password-db = /home/svn/project/conf/passwd  
               authz-db = /home/svn/project/conf/authz  


        7,启动服务器  
                # svnserve -d -r /home/svn  



        8,测试服务器  
               
        # svn co svn://192.168.60.10/project  
                Authentication realm: <svn://192.168.60.10:3690> 92731041-2dae-4c23-97fd-9e1ed7f0d18d  
                Password for 'root':  
                Authentication realm: <svn://192.168.60.10:3690> 92731041-2dae-4c23-97fd-9e1ed7f0d18d  
                Username: server_group  
                Password for 'server_group':  
                svn: Authorization failed ( server_group没用根目录的访问权 )  

                # svn co svn://192.168.60.10/project  
                Authentication realm: <svn://192.168.60.10:3690> 92731041-2dae-4c23-97fd-9e1ed7f0d18d  
                Password for 'root':  
                Authentication realm: <svn://192.168.60.10:3690> 92731041-2dae-4c23-97fd-9e1ed7f0d18d  
                Username: pm  
                Password for 'pm':  
                A    project/test  
                A    project/server  
                A    project/client  
                Checked out revision 1.  ( 测试提取成功 )  

                # cd project/server  
                # vim main.c  
                # svn add main.c  
                # svn commit main.c -m "测试一下我的C程序,看什么看,不行啊??"  
                Adding         main.c  
                Transmitting file data .  
                Committed revision 2.  ( 测试提交成功 )  



三,配置SVN服务器的HTTP支持 
        1,转换SVN服务器的密码 
                由于SVN服务器的密码是明文的,HTTP服务器不与支持,所以需要转换成HTTP支持的格式。我写了一个Perl脚本完成这个工作. 
                脚本内容如下:  
               
      # cd /home/svn/project/conf/  
                # cat PtoWP.pl  
                #!/usr/bin/perl  
                # write by huabo, 2009-11-20  
                 
                use warnings;  
                use strict;  
                 
                #open the svn passwd file  
                open (FILE, "passwd") or die ("Cannot open the passwd file!!!\n");  
                 
                #clear the apache passwd file  
                open (OUT_FILE, ">webpasswd") or die ("Cannot open the webpasswd file!!!\n");  
                close (OUT_FILE);  
                 
                #begin  
                foreach (<FILE>) {  
                    if($_ =~ m/^[^#].*=/) {  
                        $_ =~ s/=//;  
                        `htpasswd -b webpasswd $_`;  
                    }  
                }  

                # ./PtoWP.pl ( 先给该脚本加可执行权限,然后执行以转换密码 )  
                Adding password for user pm  
                Adding password for user server_group  
                Adding password for user client_group  
                Adding password for user test_group  


                现在目录下会多一个webpasswd文件。 

        2,修改httpd.conf,添加关于SVN服务器的内容 
                编辑/etc/httpd/conf/httpd.conf,在最后添加如下信息:  
               
            <Location /project> 3  
                    DAV svn  
                    SVNPath /home/svn/project/  
                    AuthType Basic  
                    AuthName "svn for project"  
                    AuthUserFile /home/svn/project/conf/webpasswd  
                    AuthzSVNAccessFile /home/svn/project/conf/authz  
                    Satisfy all  
                    Require valid-user  
              </Location>  



        3,启动HTTPD服务器  
             
   # service httpd restart  
     Stopping httpd:                                            [FAILED]  
     Starting httpd:                                            [  OK  ]  



        4,用浏览器访问  http://192.168.60.10/project/server/测试
   

Linux上SVN的搭建使用

开发人员经常会上传代码,或者改对代码做一些更改。svn就是用来将修改后的代码更新到服务器上的。下面就来看一下怎么在Linux环境下搭建svn服务(subversion)。步骤: 1、检查是否已经有s...
  • weixin_37998647
  • weixin_37998647
  • 2017年12月01日 14:21
  • 339

Linux svn服务器端搭建过程

(一)       LINUX环境搭建svn服务端 1.   搭建方式 搭建方式有两种: 1)      源码安装 2)      使用tar包安装 使用tar包安装步骤详见http://www.cn...
  • w120459474
  • w120459474
  • 2016年07月18日 16:40
  • 1531

在Linux系统上搭建一个SVN服务器

你要使用SVN这个版本管理软件的前提是,有一个服务器,有一个客户端,这两个可以是一台电脑,也就是说你的电脑可以同时作为服务器和客户端。 我在这里说的服务器是个Linux系统上的,客户端是Wi...
  • u012652436
  • u012652436
  • 2016年06月23日 16:53
  • 528

Linux服务器配置——搭建SVN服务器

安装并配置SVN服务端subversion,使用svn客户端管理自己的代码和文档
  • a649518776
  • a649518776
  • 2014年09月20日 19:03
  • 61904

阿里云服务器centos下安装配置svn服务器

1.安装svn服务器端 yum install subversion       从镜像下载安装svn服务器端 中间会提示是否ok,输入y,确认 安装成功提示:.....complete!...
  • lake1314
  • lake1314
  • 2014年04月06日 13:02
  • 11413

linux下的svn搭建

linux下搭建svn服务器会存在很多问题,博主在安装的过程就出现了好多问题,花了很多时间查询资料,最终才搞定的,特在此分享给大家,希望对各位博友有用。 预备部分:检查自己的linux系统中是否已经默...
  • millery22
  • millery22
  • 2016年04月22日 11:20
  • 768

linux环境下svn的搭建管理

centos搭建svn 安装步骤如下: [root@zw_test_26_74 ~]# yum install subversion 2、输入rpm -ql subversion查看安装位置,如下图...
  • zhengwei125
  • zhengwei125
  • 2016年06月07日 14:56
  • 1412

linux 搭建SVN服务器,为多个项目分别建立版本库并单独配置权限

1、安装svn服务    # yum install subversion   2、新建一个目录用于存储SVN所有文件    # mkdir /home/svn   ...
  • fireroll
  • fireroll
  • 2017年01月06日 16:37
  • 1673

linux离线搭建SVN服务器系列<一>

公司要搭建linux svn服务器,最后交给了我,自己上网搜索摸索着总算搞定了,期间涉及到x86、mips、sw64三种架构,在这些机器上我都试验了,可行。 因保密需要不能联网,所以只能离线安装了,网...
  • u010194538
  • u010194538
  • 2017年12月12日 17:03
  • 134

linux部署搭建svn

检查是否安装了低版本的SVN [root@zck /]# rpm -qa subversion #卸载旧版本SVN [root@zck modules]# yum remove subversion...
  • Zdaogui
  • Zdaogui
  • 2017年05月04日 14:53
  • 366
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:linux搭建SVN
举报原因:
原因补充:

(最多只允许输入30个字)