`

以http,svn两种方式访问svn库

阅读更多
  在[url] http://room-bb.iteye.com/blog/2190213[/url]搭建svn服务器这一文中,是通过svn:// 方式来访问svn仓库的。本文着重介绍通过apache配置,以http方式来访问版本库(这对于svn版本库部署在外网服务器上很有用)

1:创建多个svn仓库
svnadmin create /data/svn/exam_1
svnadmin create /data/svn/exam_2
svnadmin create /data/svn/exam_3

注意,你也可以不用执行多次svnadmin 其实创建了一个exam_1,可以直接cp -r exam_1 exam_2


2:配置svn
我们创建了三个svn仓库,可以把其中一个仓库的/data/svn/exam_1/conf目录下的配置文件移到 /data/svn/conf,这样可以通过一份配置,控制三个仓库的权限,具体操作如下:
mkdir -p /data/svn/conf
cp -r /data/svn/exam_1/conf/* /data/svn/conf

配置passwd
vi /data/svn/conf/passwd
manager = 123456
dev1 = 123456
dev2 = 123456
dev3 = 123456

art1 = 123456
art2 = 123456
art3 = 123456

des1 = 123456
des2 = 123456
des3 = 123456

配置authz
vi /data/svn/conf/authz
admin = manager

dev = dev1,dev2,dev3

art = art1,art2,art3

des = des1,des2,des3

[/]
@admin = rw
* =

[exam_1:/]
@admin = rw
@dev = rw
* = 

[exam_2:/]
@admin = rw
@art = rw
* = 

[exam_3:/]
@admin = rw
@des = rw
* =

配置全局文件 svnserve.conf
vi /data/svn/conf/svnserve.conf
anon-access = none  #禁止匿名访问,设置为none。默认为read,参数:read,write,none
auth-access = write #授权用户写权限

password-db = /data/svn/conf/passwd
authz-db = /data/svn/conf/authz

realm = svn #每个SVN项目的认证名,会在认证提示里显示,建议写项目名称。

 
  3:启动svn 注意参数噢,很重要
svnserve -d -r /home/svn --config-file /data/svn/conf/svnserve.conf 


  4:配置svn支持http访问
生成账号密码认证文件
htpasswd -cm /data/svn/conf/http_passwd manager #第一次生成要参数-c
htpasswd -m /data/svn/conf/http_passwd dev1 #后面添加的用户不要带参数-c

http_passwd 是http模式下使用的认证文件,passwd是svn模式使用的认证文件,
这两个文件中的用户和密码最好一样,这样,同一个用户可以用两种方式访问svn库

设置apache svn配置文件
cd /etc/httpd/conf.d/

如果没有subversion.conf 文件,那么先执行 yum -y install mod_dav_svn
vi /etc/httpd/conf.d/subversion.conf
<Location /svn> #/svn是虚拟目录,映射到/data/svn中。
   DAV svn
   
        #SvnPath /data/svn/ #只支持一个主目录的SVN版本库
        SVNParentPath /data/svn/ #支持多个相同父目录的SVN版本库

   # Limit write permission to list of valid users.
   #<LimitExcept GET PROPFIND OPTIONS REPORT>
      # Require SSL connection for password protection.
      # SSLRequireSSL

      AuthType Basic
      AuthName "Authorization SVN"
      AuthzSVNAccessFile /data/svn/conf/authz
          AuthUserFile /data/svn/conf/http_passwd
          Require valid-user
   #</LimitExcept>
</Location>

设置权限目录
  chown -R apache:apache /data/svn/

 重启apache服务
  service httpd restart


5:关闭 SELinux。这个很重要,我就是没关闭,导致一直登陆不了,调试了一整天,都是泪啊
getenforce          ##查看SELinux状态
setenforce 0        ##设置SELinux  为permissive模式 不用重启,立即生效
                    ##setenforce 1 成为enforcing模式

vi /etc/selinux/config
将SELINUX=enforcing改为SELINUX=disabled 重启机器后生效



6:测试
svn方式访问:
在windows下,通过svn客户端输入
svn://192.168.7.223/exam_1

http方式访问
在浏览器地址栏输入
http://192.168.7.223/svn/exam_1
注意:这里比svn方式方位多了个/svn,因为我们配置location时设置了一个虚拟路径

如果想通过域名访问
例如
http://www.bb.com/svn/exam_1

修改hosts文件
vi /etc/hosts
192.168.7.223 www.bb.com

如果无法登录,要检查防火墙设置啦,iptables -L -n
查看svn和httpd的端口是否开放
分享到:
评论

相关推荐

    SVN库建立及VSS数据导入

    方法我采用了两种: 1) 将文件直接拉到版本库浏览器里 步骤: • 任意文件夹空白处右键- TortoiseSVN-版本浏览器; • 在跳出的对话框内写入版本库的URL(http://localhost:18080/svn/test/) • 我是访问...

    Linux+svn+apache配置方法

    在Linux下配置SVN,同时允许svn客户端和web两种访问方式

    svn-1.4.3-setup.exe.7z

    一个常见的场景就是同时使用Windows域和passwd文件认证,这样你可以为没有Windows域帐户的用户提供访问SVN的权限。 * 为了同时启用 Windows 域认证和 passwd 文件认证,在 Apache 配置文件的 &lt;Location&gt; 块中...

    TortoiseSVN 1.5.2.13595版(Windows下的SVN客户端)

     Subversion 使用二进制文件差异算法展现文件的区别,对于文本(人类可读)和二进制(人类不可读)文件具备一致的操作方式,两种类型的文件都压缩存放在版本库中,差异在网络上双向传递。  高效的分支和标签  分支与...

    Linux下SVN服务器同时支持Apache的http和svnserve独立服务器两种模式且使用相同的访问权限账号

    主要介绍了Linux下SVN服务器同时支持Apache的http和svnserve独立服务器两种模式且使用相同的访问权限账号,需要的朋友可以参考下

    TortoiseSVN客户端程序

    svnserve 将会在端口 3690 等待请求,--daemon(两个短横线)选项告诉 svnserve 以守护进程方式运行,这样在手动终止之前不会退出。注意不要关闭命令行窗口,关闭窗口会把 svnserve 停止。 为了验证svnserve正常工作...

    TortoiseSVN 1.5.2.13595(SVN客户端)

     Subversion 使用二进制文件差异算法展现文件的区别,对于文本(人类可读)和二进制(人类不可读)文件具备一致的操作方式,两种类型的文件都压缩存放在版本库中,差异在网络上双向传递。  高效的分支和标签  分支与...

    TortoiseSVN-1.6.4.16808-cn(SVN客户端1.6.4中文版)

     Subversion 使用二进制文件差异算法展现文件的区别,对于文本(人类可读)和二进制(人类不可读)文件具备一致的操作方式,两种类型的文件都压缩存放在版本库中,差异在网络上双向传递。  高效的分支和标签  分支与...

    Linux下源码编译安装配置SVN服务器的步骤分享

    SVN(subversion)的运行方式有两种: 一种是基于Apache的http、https网页访问形式; 还有一种是基于svnserve的独立服务器模式。 SVN的数据存储方式也有两种:一种是在Berkeley DB数据库中存储数据;另一种是使用...

    windows下svn服务器配置

    windows下配置svnserve,客户端可以通过至少两种方式访问版本库

    在Eclipse中使用SVN与CVS代码管理工具管理项目

    svn服务器有2种运行方式:独立服务器和借助apache。2种方式各有利弊。目前业界评价的SVN易用性正在提高。功能:★★★★SVN 的功能除具备 VSS 的功能外,还具有:它的客户机 / 服务器存取方法使得开发者可以从任何...

    SVN服务器VS2005客户端part2

    Subversion 是一种开放源码的全新版本控制系统,支持可在本地访问或通过网络访问的数据库和文件系统存储库。不但提供了常见的比较、修补、标记、提交、回复和分支功能性,Subversion 还增加了追踪移动和删除的能力。...

    SVN服务器与VS2005客户端par1

    Subversion 是一种开放源码的全新版本控制系统,支持可在本地访问或通过网络访问的数据库和文件系统存储库。不但提供了常见的比较、修补、标记、提交、回复和分支功能性,Subversion 还增加了追踪移动和删除的能力。...

    TortoiseSVN-1.7.10.23359-x64-svn-1.7.7

    Subversion 使用二进制文件差异算法展现文件的区别,对于文本(人类可读)和二进制(人类不可读)文件具备一致的操作方式,两种类型的文件都压缩存放在版本库中,差异在网络上双向传递。 高效的分支和标签 分支与标签...

    基于TortoiseSVN的版本控制工具(与Delphi I

    它可以替代CVS,VSS等轻量级版本控制工具,它支持Local和Web(Apache)两种工作方式,并且最关键就是完全免费的。 在组织团队开发时,除了服务器端的工具之外,客户端也需要相应的工具才能访问源码库。而且,最好...

    TortoiseSVN配置服务器

    为了使用TortoiseSVN(或任何其他Subversion客户端),你需要放置你的版本库,你可以将版本库存于本地并使用file://协议访问,也可以放置于服务器,使用http://或svn://访问,这两种服务器协议也可以被加密,使用...

    desimodel:读取和处理Desimodel数据文件的代码

    svn访问的公共只读URL是 ,具有通常的trunk /,tags /和branchs /目录。使用pip或desiInstall安装此软件包后,有两种方法来安装随附的数据。对于大多数情况,您应该在svn中安装与git中相同标签相对应的标签。有两种...

    Java常见面试问题.docx

    5.Jms两种消息机制? 点对点、发布订阅 6.Rbac? 用户角色权限设计 7.Shiro用到了那些功能及原理? Shiro缓存用户权限了解一下 8.Svn和git的区别? https://blog.csdn.net/walle167/article/details/84235823 9....

Global site tag (gtag.js) - Google Analytics