zoukankan      html  css  js  c++  java
  • Linux-yum在线安装svn步骤

    yum -y install subversion httpd mod_dav_svn 使用yum命令安装svn(subversion),httpd(apache服务器)和svn在apache上的插件(mod_dav_svn)

    安装过程

    安装完成

    rpm -q subversion 查看svn安装信息

    svnserve --version 也可以使用svnserve 命令加选项的方式查看svn版本信息

    rm -rf /opt/svndata 先删除svndata这个目录和它的子目录
    mkdir -p /opt/svndata/oa 递归方式创建svn数据仓库oa目录
    svnadmin create /opt/svndata/oa 创建svn数据仓库oa版本库

    ls -l /opt/svndata/oa 查看oa版本库目录的长格式信息

    ls -l /opt/svndata/oa/conf 查看oa版本库目录中conf目录所有信息,这三个文件是用来控制svn权限的

    authz表示每个用户的权限设置信息

    passwd表示每个用户和密码存储信息

    svnserve.conf表示svn用户和权限的配置信息

    vim /opt/svndata/oa/conf/svnserve.conf 修改svnserve.conf文件

    1、为每一个工厂创建属于自己独立的用户和权限管理,注意:svn不识别配置文件中开头带空格的参数,下面这幅图是带空格开头的,这是错误的。

    2、为每一个工厂创建公用的用户和权限管理,注意:svn不识别配置文件中开头带空格的参数

    mkdir -p /opt/svn/conf/ 递归方式创建/opt/svn/conf目录
    cp -p /opt/svndata/oa/conf/authz /opt/svn/conf/authz.conf 复制/opt/svndata/oa/conf/authz文件到/opt/svn/conf/authz.conf,保留文件属性信息
    cp -p /opt/svndata/oa/conf/passwd /opt/svn/conf/passwd.conf 复制/opt/svndata/oa/conf/passwd文件到/opt/svn/conf/passwd.conf,保留文件属性信息
    ls -l /opt/svn/conf 查看/opt/svn/conf目录所有长格式信息

    vim /opt/svn/conf/passwd.conf 编辑用户配置文件passwd.conf
    注意:
    * 对用户配置文件的修改立即生效,不必重启svn。 文件格式如下: [users] <用户1> = <密码1> <用户2> = <密码2> 其中,[users]是必须的。下面列出要访问svn的用户,每个用户一行。示例: [users] wyp = wyppwd shuaige = shuaigepwd 为了简化配置,多个版本库共用1个权限配置文件/opt/svn/conf/passwd.conf。如有必要,也可以分开。

     

    配置svn用户访问权限vim /opt/svn/conf/authz.conf
    文件中定义用户组和版本库目录权限。
    注意:
    * 权限配置文件中出现的用户名必须已在用户配置文件中定义。
    * 对权限配置文件的修改立即生效,不必重启svn。
    用户组格式:
    [groups]
    <用户组名> = <用户1>,<用户2>
    其中,1个用户组可以包含1个或多个用户,用户间以逗号分隔。
    版本库目录格式:
    [<版本库>:/项目/目录]
    @<用户组名> = <权限>
    <用户名> = <权限>
    其中,方框号内部分可以有多种写法:
    /,表示根目录及以下。根目录是svnserve启动时指定的,我们指定为/opt/svndata。这样,/就是表示对全部版本库设置权限。
    oa:/,表示对版本库oa设置权限
    oa:/abc, ,表示对版本库erp中的abc项目设置权限
    oa:/abc/aaa, ,表示对版本库erp中的abc项目的aaa目录设置权限
    权限主体可以是用户组、用户或*,用户组在前面加@,*表示全部用户。
    权限可以是w、r、wr和空,空表示没有任何权限。
    示例:
    [groups]
    admin = wyp
    [/]
    @admin = rw 组admin设置读写权限
    * =  所有用户设置无权限
    [oa:/]
    @admin = rw
    wyp = rw
    [oa:/abc] meinv =  用户meinv设置无权限 [oa:/abc/aaa]
    shuaige = rw 用户shuaige设置读写权限

    svn配置完毕,删除无用文件 rm
    /opt/svndata/oa/conf/authz rm /opt/svndata/oa/conf/passwd
    vim /opt/svn/conf/authz.conf 编辑权限配置文件authz.conf

     

    svnserve -d -r /opt/svndata 启动svn服务器

    service iptables stop 临时关闭防火墙

    在windows系统中,D:创建oa目录,进入oa目录,右键菜单选择svn检出

    输入用户名和密码

    检出完成!

    在D:oa目录中创建abc目录,注意abc文件夹图标样式“?”,右键菜单选svn提交

    选"全部(A)",点"确定"按钮

    提交时需要输入用户名和密码之后,点"确定"按钮关闭认证窗口,点"确定"按钮关闭后面的提交窗口。

    查看abc文件加图标样式“对勾”。

    svn co svn://192.168.6.3/oa  连接SVN服务器,需要提示输入用户名和密码
    输入用户wyp和它的密码,看到获取oa版本库成功,说明大功告成啦。

    svn co svn://192.168.6.3/oa  连接SVN服务器,需要提示输入用户名和密码
    输入用户shuaige和它的密码,获取oa版本库失败,原因为shuaige没有获取oa的权限。

    svn co svn://192.168.6.3/oa/abc  测试服务器,需要输入密码

    输入用户wyp和它的密码,获取oa版本库的abc目录成功

    输入用户shuaige和它的密码,获取oa版本库的abc目录成功

    配置SVN服务器的HTTP支持
    cd /opt/svndata/oa/conf  切换到oa版本库的conf目录下
    vim PtoWP.pl 这个文件,或者直接复制这个文件到当前目录中,修改 "passwd.conf"为"/opt/svn/conf/passwd.conf"
     1 #!/usr/bin/perl
     2 
     3 use warnings;
     4 use strict;
     5 
     6 #open the svn passwd file
     7 open (FILE, "/opt/svn/conf/passwd.conf") or die ("Cannot open the passwd file!!!
    ");
     8 
     9 #clear the apache passwd file
    10 open (OUT_FILE, ">webpasswd") or die ("Cannot open the webpasswd file!!!
    ");
    11 close (OUT_FILE);
    12 
    13 #begin
    14 foreach (<FILE>) {
    15     if($_ =~ m/^[^#].*=/) {
    16         $_ =~ s/=//;
    17         `htpasswd -b webpasswd $_`;
    18     }
    19 }
    PtoWP.pl

    ./PtoWP.pl  执行这个文件,现在目录下会多一个webpasswd文件。

    cat webpasswd 查看webpasswd文件,注意密码是密文格式的

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


    <Location /oa>表示在url地址是http://192.168.6.3/oa时访问的就是/opt/svndata/oa/ 。

    /opt/svndata/oa/表示我们要将svn的创库放在这个位置,当然你也可以放在其它位置。
    AuthUserFile /opt/svndata/oa/conf/webpasswd指明了svn用户信息文件是/opt/svndata/oa/conf/webpasswd 。修改后保存文件。

    service httpd restart 重新启动HTTPD服务器

    如果出现下图的情况,需要进一步设置

    rpm -ql httpd | grep httpd.conf 查找httpd.conf文件

    cat /etc/httpd/conf/httpd.conf | grep -n ServerName 查找ServerName字符串所在位置,显示行号

    vim /etc/httpd/conf/httpd.conf 编辑/etc/httpd/conf/httpd.conf这个文件

    输入:set nu回车显示行号,276G定位到276行,然后删除"#"号,取消这一行的注释

    service httpd restart 重新启动HTTPD服务器

    看到此图的结果,表示成功!

    在浏览器中输入http://192.168.6.3/oa/回车之后,输入用户名和密码之后,点“确定”按钮

    如果看到下图说明你的apache服务器还是缺少配置信息的修改,apache默认是不允许访问的

    cat /etc/httpd/conf/httpd.conf | grep -n Deny 查找Deny字符串并显示行号

    vim /etc/httpd/conf/httpd.conf 再次编辑httpd.conf文件,修改417行的代码,其它行都是注释不用管它

    修改前:

    修改后:

    cat /etc/httpd/conf/httpd.conf | grep -n Directory

    修改前:

    修改后:

    service httpd restart 重新启动HTTPD服务器

    配置http访问svn成功!

    转:http://www.cnblogs.com/wrmfw/archive/2011/09/08/2170465.html

  • 相关阅读:
    Can't remove netstandard folder from output path (.net standard)
    website项目的reference问题
    The type exists in both DLLs
    git常用配置
    Map dependencies with code maps
    How to check HTML version of any website
    Bootstrap UI 编辑器
    网上职位要求对照
    Use of implicitly declared global variable
    ResolveUrl in external JavaScript file in asp.net project
  • 原文地址:https://www.cnblogs.com/qiyebao/p/4361225.html
Copyright © 2011-2022 走看看