标签: mod-dav-svn

如何在Apache + SVN上使用SVNParentPath指令列出所有存储库?

我正在通过Apache使用SVN,dav_svn_module如下所示:

<Location /svn>
  DAV svn
  SVNParentPath C:/svn_repository
  AuthName "Subversion Repository"
  ...
</Location>
Run Code Online (Sandbox Code Playgroud)

这让我可以访问我的回购:

C:/svn_repository/repo1
C:/svn_repository/repo2
C:/svn_repository/repo3
Run Code Online (Sandbox Code Playgroud)

通过这些网址:

https://examples.com/svn/repo1
https://examples.com/svn/repo2
https://examples.com/svn/repo3
Run Code Online (Sandbox Code Playgroud)

这些网址效果很好.当我去/ svn(没有回购名称)时,我得到403 /禁止回复.我想看看是否有回购清单.那可能吗?

svn apache2 mod-dav-svn

18
推荐指数
1
解决办法
2万
查看次数

togoise svn给我"检测到URL'域/ svn的重定向周期'"

我想在/ var/svn和存储库(项目)中实现一个svn-root.我可以让它在浏览器中工作(http:// domain/url给我"存储库集合")但是TortoiseClient给了我标题中提到的错误.

我通过执行以下操作(缩短)在我的ubuntu服务器上设置了一个subversion:

mkdir /var/svn
svnadmin create /var/svn/test
Run Code Online (Sandbox Code Playgroud)

我的dav_svn.conf看起来如下:

<Location /svn>
  DAV svn
  SVNParentPath /var/svn
  SVNListParentPath On
</Location>
Run Code Online (Sandbox Code Playgroud)

我读到了可能导致问题的sym链接,所以我也会附上我的000-default网站(这是标准的btw):

<VirtualHost *:80>
    ServerAdmin webmaster@localhost

    DocumentRoot /var/www
    <Directory />
            Options FollowSymLinks
            AllowOverride None
    </Directory>
    <Directory /var/www/>
            Options Indexes FollowSymLinks MultiViews
            AllowOverride None
            Order allow,deny
            allow from all
    </Directory>

    ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
    <Directory "/usr/lib/cgi-bin">
            AllowOverride None
            Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
            Order allow,deny
            Allow from all
    </Directory>

    ErrorLog ${APACHE_LOG_DIR}/error.log
    # Possible values include: debug, info, notice, warn, error, crit,
    # alert, …
Run Code Online (Sandbox Code Playgroud)

svn tortoisesvn apache2 mod-dav-svn

14
推荐指数
4
解决办法
5万
查看次数

为什么选择mod_dav_svn而不是svnserve和存储库浏览器?

如果我对mod_dav_svn的理解错了,请纠正我,因为它基本上有两个目的:

  1. 将SVN存储库(在文件系统上)公开给客户端,客户端可以是:
    • 存储库浏览器(例如web)
    • 'svn'命令本身,它是一个客户端命令行程序
  2. 充当存储库浏览器,以便以方便的方式查看存储库

现在对于第1点,我的以下假设是否正确?

  • 无论何时使用mod_dav_svn公开存储库,都使用访问存储库的http://https://形式
  • 如果使用svnserve,则使用访问存储库的svn://形式
    • 在这种情况下,mod_dav_svn将不再使用

对于第2点,如果使用Trac的存储库浏览功能,则mod_dav_svn提供的存储库浏览功能没有其他用途?

mod_dav_svn是否有任何其他目的,我在这里没有概述?问另一种方式,使用svnserve和Trac有什么不利之处吗?

我问,因为我得到的印象是mod_dav_svn非常常用,所以我想知道我错过了什么.

svn apache trac mod-dav-svn

11
推荐指数
1
解决办法
1万
查看次数

mod_authz_svn的奇怪行为

我在apache2上配置了我的svn服务器,如下所示:

<Location /svn_test>
    DAV svn
    SVNParentPath /path/to/SvnTest
    AuthType Basic
    AuthName "Subversion repository"
    AuthUserFile "/path/to/passwd"
    AuthzSVNAccessFile "/path/to/authz"
    Require valid-user
    SVNAdvertiseV2Protocol Off
    AuthzSVNAnonymous Off
</Location>
Run Code Online (Sandbox Code Playgroud)

和authz文件配置如下:

[groups]
g=hy

[test:/]
hy=r
*=

[test:/subdir]
hy=r
*=

[test:/subdir1]
hy=rw
*=
Run Code Online (Sandbox Code Playgroud)

问题是,我想将subdir的权限与其他目录分开控制,但如果我将subdir1的权限更改为"rw",我可以写入subdir,如果我将subdir1的权限更改为"r",则获得subdir的权限按预期成为"r".

事实上,如果我将任何目录的权限更改为"rw",那些我希望它只读的目录就变成可写的.

我在下面粘贴了一些apache日志,以防它有用.

每次我重新启动apache2时,都会抱怨python版本不匹配,但尽管如此,一切正常,我确定它是否相关:

[Fri Mar 27 15:55:44.381138 2015] [mpm_worker:notice] [pid 10693:tid 140245999884160] AH00295: caught SIGTERM, shutting down
[Fri Mar 27 15:55:45.111049 2015] [:error] [pid 13438:tid 139851301021568] python_init: Python version mismatch, expected '2.7.5+', found '2.7.4'.
[Fri Mar 27 15:55:45.111523 2015] [:error] [pid 13438:tid 139851301021568] python_init: …
Run Code Online (Sandbox Code Playgroud)

svn apache mod-dav-svn authz

8
推荐指数
1
解决办法
635
查看次数

在Mac OSX上构建所有静态svn客户端,mod_dav_svn.so上的错误

我正在尝试在Mac OS 10.7.5上构建svn客户端.我的目标是构建完全静态的svn客户端,因此它不依赖于任何安装的dylib.我们的想法是可以将svn客户端复制到密钥上的磁盘上,或者下载它,无需安装或配置任何东西即可运行.

我下载了svn源代码(subversion-1.7.8)和所有必需的依赖项(apr,par-util,neon,sqlite-amalgamation),并说明了configure-make-make安装周期.

Svn的configure选项具有--enable-all-static标志,用于创建不依赖于外部dylib的svn客户端.但是,构建始终失败并显示以下消息:

Warning!  dlname not found in /Volumes/mydisk/build/svn/libexec/mod_dav_svn.la.
Assuming installing a .so rather than a libtool archive.
chmod 755 /Volumes/mydisk/build/svn/libexec/mod_dav_svn.so
chmod: /Volumes/mydisk/wsvn/build/svn/libexec/mod_dav_svn.so: No such file or directory
apxs:Error: Command failed with rc=65536
.
make: *** [install-mods-shared] Error 1
Run Code Online (Sandbox Code Playgroud)

似乎构建正在寻找mod_dav_svn.so,即使它不需要并且一切都编译为静态.

有趣的是,构建的svn客户端实际运行!但是,我想正确完成构建和安装.

我的问题是:

  1. 这个构建错误是真实的还是我可以忽略的东西?
  2. 如何完成构建,我该如何避免此构建错误?

谢谢

svn macos configure mod-dav-svn

6
推荐指数
1
解决办法
1506
查看次数

.NET项目源代码文件的MIME类型是什么?

.NET项目中的.cs(C#source),.resx,.aspx等文件是否有官方MIME类型?

如果没有定义官方类型,那么关于良好MIME类型的任何建议?mod_dav_svn当从Web浏览器查看Subversion存储库时,这将通过Apache和模块公开,因此任何有助于Firefox 等人正确渲染文件的方法都可以解决问题.

svn content-type mod-dav-svn mime-types

6
推荐指数
1
解决办法
4316
查看次数

如何使用PHP以编程方式构建APR1-MD5

很像这个问题,我想从PHP生成一个htpasswd文件条目.然而,它需要是APR1(Apache)风格,如原始答案中提到的(答案没有显示如何实现APR1样式),与mod_dav_svn一起使用.

我似乎无法找到一个可以创建密码的工作实现.

我发现了这个(我现在忘记了):

function crypt_apr1_md5($plainpasswd) {
    $salt = substr(str_shuffle("abcdefghijklmnopqrstuvwxyz0123456789"), 0, 8);
    $len = strlen($plainpasswd);
    $text = $plainpasswd.'$apr1$'.$salt;
    $bin = pack("H32", md5($plainpasswd.$salt.$plainpasswd));
    for($i = $len; $i > 0; $i -= 16) { $text .= substr($bin, 0, min(16, $i)); }
    for($i = $len; $i > 0; $i >>= 1) { $text .= ($i & 1) ? chr(0) : $plainpasswd{0}; }
    $bin = pack("H32", md5($text));
    for($i = 0; $i < 1000; $i++) {
        $new = ($i & 1) ? $plainpasswd : …
Run Code Online (Sandbox Code Playgroud)

php apache md5 mod-dav-svn

6
推荐指数
1
解决办法
6493
查看次数

是否可以覆盖Subversion HTML页面?

我有一个subversion服务器,通过Apache2和mod_dav_svn提供subversion访问

系统工作正常,客户端可以使用SVN客户端访问存储库,如TortoiseSVN等.

用户还可以访问相同URL的HTML呈现.

这些效果图可以被覆盖或替换吗?如果是这样,我该怎么办呢?

html php svn webdav mod-dav-svn

5
推荐指数
1
解决办法
570
查看次数

奇怪的Apache2.2 SVN错误,"预期的存储库格式'3'或'5';找到格式'9'"

我使用TortoiseSVN只能从运行Subversion win32服务的同一台计算机上访问一个repo,它现在已经工作了一段时间.我决定尝试设置mod_dav_svn以便能够从其他地方获取它.当我尝试访问它时,我在浏览器中收到此错误:

<D:error>
<C:error/>
<m:human-readable errcode="165005">
Could not open the requested SVN filesystem
</m:human-readable>
</D:error>
Run Code Online (Sandbox Code Playgroud)

......以及日志中的这些错误:

 (20014)Internal error: Expected repository format '3' or '5'; found format '9'
 Could not fetch resource information.  [500, #0]
 Could not open the requested SVN filesystem  [500, #165005]
 Could not open the requested SVN filesystem  [500, #165005]
Run Code Online (Sandbox Code Playgroud)

这是我的.conf中的内容:

LoadModule dav_module modules/mod_dav.so
LoadModule dav_svn_module modules/mod_dav_svn.so
LoadModule authz_svn_module modules/mod_authz_svn.so
Run Code Online (Sandbox Code Playgroud)

DAV svn
SVNPath e:/dev/.svn
Run Code Online (Sandbox Code Playgroud)

我把/.svn放在我之前,我在客户端上得到了相同的错误文本(但代码为720002)并且日志显示Apache正在寻找e:/ dev/format,但这不存在,但是e:/dev/.svn/format.

我读了这个,并注意到我的颠覆是1.5.1和1.5.5已经出来了,我最近升级了TortoiseSVN,我想也许有一些不兼容性(这可能没有意义,我不知道它是怎么回事因为我下载了1.5.5,停止了服务,复制了DLL和EXE,重新启动了服务,将新的.so文件复制到了Apache的modules目录,然后重新启动了httpd.没运气.

有什么建议?这种特殊的"格式9"似乎很少见......

svn tortoisesvn apache2 mod-dav-svn

3
推荐指数
1
解决办法
6167
查看次数