介绍

介绍

因此,我按照 Google 上能找到的所有教程操作,但仍然无法让它工作。下面是我服务器文件夹subversion.conf中的文件。conf.d

LoadModule dav_svn_module     modules/mod_dav_svn.so
LoadModule authz_svn_module   modules/mod_authz_svn.so

<VirtualHost *:80>
        DocumentRoot /home/svn.example.com
        ServerName svn.example.com
        ServerAlias svn.example.com

        <Location /repo>
                DAV svn
                SVNParentPath   /home/svn.example.com/repo
        </Location>
</VirtualHost>

我已经通过 yum 和 dav_svn 安装了 subversion。

我只是想在没有安全保护的情况下访问我的存储库...我稍后会添加这一点,但现在的结果是,我得到了默认的 Apache HTTP 服务器测试页面,表明服务器已安装,但目录中没有文件。我做错了什么?

答案1

介绍

  1. 您在 Apache 和 Subversion 方面还有未完成的工作
  2. 为了存储库,你必须至少创建一个

细节

从我的 Apache 配置中提取 http-served repo(在“主站点”,但在这种情况下并不重要),编辑为你的路径

LoadModule dav_module mod_dav.so
LoadModule dav_svn_module mod_dav_svn.so
...
<Directory />
...
  RewriteEngine on
  RewriteCond %{REQUEST_URI} ^/repo$
  RewriteRule ^(.*/repo)$ %1/ [R=301,L]
</Directory>
<Location /repo/>
  DAV svn

  SVNListParentPath on
  SVNParentPath /home/svn.example.com/repo
  • dav_svn_module 需要 dav_module
  • 所有 repos 都将位于 URL 下http://svn.example.com/repo/*,不在根目录,root 中的重写规则将把所有请求从 root 重定向到 DAV-SVN 服务位置。
  • 顺便说一句 - 放置存储库在网络空间内是坏主意(出于安全考虑),SVNParentPath 可以定义站点外的位置。但我将继续使用您的旧路径
  • SVNListParentPath on允许显示存储库列表在普通浏览器中
  • 不要忘记 chmod|chgrp 正确 repo root - Apache 用户必须具有对 repos 的读写权限,您可能还希望拥有对存储库的本地访问权限

到这里我们可以认为 Apache 端已经完成了(TBT!)

颠覆方面:

  • cd /home/svn.example.com/repo
  • mkdir repo1
  • svnadmin 创建 /home/svn.example.com/repo/repo1
  • 重复 mkdir + svnadmin create 为所有需要的存储库

最后步骤

  • 通过浏览器访问检查结果http://svn.example.com/repo/
  • 检出任何(仍然为空的)仓库,添加文件,提交
  • 玩得开心

相关内容