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完全手册

  • 2013-01-22 16:15
  • 516KB
  • 下载

CentOS Linux搭建独立SVN Server全套流程

来源网址:http://blog.csdn.net/xuzhuang2008/article/details/8474587 环境为centos6.3  1.首先 看看机器上安装了svn了没有  ...

linux下apache+SVN搭建

  • 2012-04-09 16:50
  • 228KB
  • 下载

Linux SVN服务器搭建

1. Ubuntu PC一台,最好是最新的Ubuntu稳定版本 2. 执行以下命令安装subversion: sudo apt-get update sudo apt-get install subv...

svn_linux环境搭建必备软件

  • 2015-10-25 10:45
  • 15.45MB
  • 下载

Linux下搭建svn+apache

  • 2017-08-16 19:27
  • 285KB
  • 下载

linux(centos7)下SVN服务器如何搭建

Linux(centos)下SVN服务器如何搭建?说到SVN服务器,想必大家都知道,可以是在linux下如何搭建SVN服务器呢?那么今天给大家分享一下linux(centos)搭建SVN服务器的思路!...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

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