我正在通过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 /禁止回复.我想看看是否有回购清单.那可能吗?
我想在/ 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) 如果我对mod_dav_svn的理解错了,请纠正我,因为它基本上有两个目的:
现在对于第1点,我的以下假设是否正确?
对于第2点,如果使用Trac的存储库浏览功能,则mod_dav_svn提供的存储库浏览功能没有其他用途?
mod_dav_svn是否有任何其他目的,我在这里没有概述?问另一种方式,使用svnserve和Trac有什么不利之处吗?
我问,因为我得到的印象是mod_dav_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) 我正在尝试在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客户端实际运行!但是,我想正确完成构建和安装.
我的问题是:
谢谢
.NET项目中的.cs(C#source),.resx,.aspx等文件是否有官方MIME类型?
如果没有定义官方类型,那么关于良好MIME类型的任何建议?mod_dav_svn
当从Web浏览器查看Subversion存储库时,这将通过Apache和模块公开,因此任何有助于Firefox 等人正确渲染文件的方法都可以解决问题.
很像这个问题,我想从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) 我有一个subversion服务器,通过Apache2和mod_dav_svn提供subversion访问
系统工作正常,客户端可以使用SVN客户端访问存储库,如TortoiseSVN等.
用户还可以访问相同URL的HTML呈现.
这些效果图可以被覆盖或替换吗?如果是这样,我该怎么办呢?
我使用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"似乎很少见......
mod-dav-svn ×9
svn ×8
apache ×3
apache2 ×3
php ×2
tortoisesvn ×2
authz ×1
configure ×1
content-type ×1
html ×1
macos ×1
md5 ×1
mime-types ×1
trac ×1
webdav ×1