因此,我按照 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
介绍
- 您在 Apache 和 Subversion 方面还有未完成的工作
- 为了存储库,你必须至少创建一个
细节
从我的 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/
- 检出任何(仍然为空的)仓库,添加文件,提交
- 玩得开心