我已经设置了一个可通过 Apache/DAV 访问的 subversion 服务器,并且在几天前搞砸了存储库文件权限之后,我开始想知道是否有比我正在做的方法更好的方法来做到这一点。
存储库由专用用户和组拥有,并且 apache 作为习惯www:www用户运行,因此它对存储库没有写权限。到目前为止,我的解决方案是将www用户添加到svn组中并确保存储库中的文件是组可写的...但是六个月后我将创建一个新存储库,忘记修复文件权限并获取一些当有人尝试提交某事时立即发送电子邮件。
有没有其他方法可以做到这一点?也许首先强制 svnadmin 创建可组写的存储库?(如果您想知道服务器是 FreeBSD 6.2)
我将 Apache2 配置为允许在目录上使用 WebDav(CentOS 5 / Plesk 8.6):
在我的 vhost.conf 我有:
<目录/var/www/vhosts/domain.com/httpdocs/target_dir>
戴夫安
允许覆盖无
命令允许,拒绝
所有人都允许
</目录>
我可以使用身份验证连接到目录并从中下载文件。但我无法写入目录。当我尝试上传或创建目录时出现 403 错误。
有人有任何提示吗?
提前致谢 -
更新 - 6/5使用下面的评论,我将问题与 .htpasswd 保护目录的某种类型的冲突隔离开来。我可以创建一个不受保护的目录并启用 WebDAV 上传。但是一旦我在目录上启用基本身份验证,一切都会向南。我可以阅读但不再上传。
这是我的 vhost.conf:
<目录/var/www/vhosts/domain.com/subdomains/subdomain/httpdocs/>
AuthUserFile /var/www/.htpasswd
身份验证名称“登录”
AuthType 基本
需要有效用户
DAV 开启
允许覆盖无
<限制PUT POST DELETE PROPFIND PROPPATCH MKCOL COPY MOVE LOCK UNLOCK>
需要有效用户
</限制>
</目录>
更新 6/6
能够以最少的努力让 WebDAV 在不同的域上工作。这两个域之间的唯一区别是,在拒绝允许写访问的域中,我有一个 DocumentRoot 指令:
DocumentRoot …
我正在尝试解决通过 WebDav 重命名文件的问题。我们的堆栈由一台机器组成,通过 Nginx、Varnish 和 Apache 提供内容。当您尝试重命名文件时,操作会因我们当前使用的堆栈而失败。
要连接到 WebDav,客户端程序必须:
以下是重命名失败的示例:
$ cadaver https://webdav.domain/
Authentication required for Webdav on server `webdav.domain':
Username: user
Password:
dav:/> cd sandbox
dav:/sandbox/> mkdir test
Creating `test': succeeded.
dav:/sandbox/> ls
Listing collection `/sandbox/': succeeded.
Coll: test 0 Mar 12 16:00
dav:/sandbox/> move test newtest
Moving `/sandbox/test' to `/sandbox/newtest': redirect to http://webdav.domain/sandbox/test/
dav:/sandbox/> ls
Listing collection `/sandbox/': succeeded.
Coll: …Run Code Online (Sandbox Code Playgroud) 我们试图找出如何最好地在 OSX 机器上安装网络共享(仅限)。
我们最初使用了 WebDAV,它完成了预期的工作,但非常缓慢。Finder 似乎在使用 WebDAV 时也有问题。
NFS,尤其是 AFP 是否更适合处理网络文件夹,就好像它们是本地文件夹一样?
任何建议表示赞赏。
谢谢!
我的 EC2 实例上有 2 个 svn 存储库。
它们位于/ebs/svn/repo1& 中/ebs/svn/repo2。
我创建了一个域别名svn.mydomain.com,指向上面 ( /ebs/svn)的父目录。
我想使用以下 URL 格式访问上述每个存储库:
svn.mydomain.com/repo1
svn.mydomain.com/repo2
目前,我让 repo1 使用以下 vhosts 配置。
<VirtualHost *:80>
ServerName svn.mydomain.com
ServerAlias svn.mydomain.com
ErrorLog /var/www/html/log/svn.mydomain.com-log
<Location "/" >
DAV svn
SVNPath /ebs/svn/repo1
AuthType Basic
AuthName "SVN - Private - Repos"
AuthUserFile /ebs/svn/login/svn-auth-conf
Require valid-user
</Location>
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)
问题是,我只能repo1通过上面的 vhosts 配置访问。
我想以以下格式访问两个 repo:
svn.mydomain.com/repo1
svn.mydomain.com/repo2
我需要更改什么才能通过目录访问我的 svn 存储库?
我有一个远程计算机支持业务,我们需要不时在客户端计算机上远程挂载 .iso 文件,以用于获取驱动程序更新等。我们在 Netcraft 前 10 名名单上拥有一个巨大的服务器,我想在这件事上安装一些 ISO,并使用 WebDAV 之类的技术将它们安装在远程 PC 上。例如,我们将 DriverPack Solution 4GB DVD 下载到机器然后扫描/更新驱动程序是没有意义的。我们宁愿像谷歌驱动器一样安装图像......有什么想法吗?
我在 Windows 资源管理器中映射了一个 WebDAV 驱动器。我可以访问文件和浏览等。
但。当我尝试打开 Excel 文件时,它总是以只读模式打开。如何打开文件以使其具有写入权限?我确信没有其他人正在处理同一个文件。
我正在使用:
我已经使用以下教程在 debian 上设置和配置了 webdav:
http://www.unix-tutorials.com/go.php?id=3711
我希望能够使用 Web 浏览器将文件下载并上传到 webdav 共享。如果我将文件挂载到我的文件系统,我可以将文件下载并上传到 webdav 共享,但我们不希望其他访问它的人必须这样做。我们希望人们能够在他们的 Web 浏览器中访问 URL,进行身份验证,并在他们的浏览器中执行所有操作、下载、上传。
当我在浏览器中转到 webdav URL 并进行身份验证时,我会得到一个 webdav 共享内容列表,我可以下载文件,但看不到任何上传文件的方法?如何使用 Web 浏览器将文件上传到 webdav 共享?
提前致谢。
我在 RHEL 6.x 上使用 Apache 2.2。我可以将 webdav 设置为用户 x 的只读设置或用户 x 的读写设置,但无法弄清楚如何将其设置为用户 x 只读和用户 y 读/写。我只有一个文件夹 /var/www/html/davtest 归 apache:apache 所有,我希望 myUser 具有只读访问权限,而 myAdmin 具有读/写访问权限。到目前为止,我只能通过修改目录 /var/www/html/davtest 上的权限来控制这一点(例如,如果 apache 具有 rw,那么无论我如何设置 limitExcept 下面的任何一个用户都可以读/写
这通常可能吗?
<Directory /var/www/html/davtest >
DAV on
Options Indexes
AuthType Digest
AuthName myAuth
AuthDigestDomain /myD/ http://mysys.x.y/davtest
AuthDigestProvider file
AuthUserFile /var/www/davDigest/dav_pw
require user readOnlyUser
<limitExcept get head options>
require user myAdmin
</limitExcept>
</Directory>
Run Code Online (Sandbox Code Playgroud)
我已经尝试了 Limit、LimitExcept 的各种排列,似乎唯一决定谁可以读/写共享的是共享中文件/文件夹的权限。
任何指导,指向文档的指针将不胜感激。谢谢
我正在尝试在 CentOS 5.4 上运行的 Apache (httpd.x86_64 2.2.3-43.el5.centos) 上启用 HTTP-DAV。
我的 httpd.conf 中有以下相关条目。
LoadModule dav_module modules/mod_dav.so
LoadModule dav_fs_module modules/mod_dav_fs.so
<IfModule mod_dav_fs.c>
DAVLockDB /var/lib/dav/lockdb
</IfModule>
<Location /var/www/html/updates>
Dav On
</Location>
Run Code Online (Sandbox Code Playgroud)
/var/www/html/是 Apache 根。我重新加载了 Apache,错误日志中没有任何错误。我也可以在 Firefox 中通过 HTTP 访问这个目录。
我有一个正在开发的应用程序,它需要通过 HTTP-DAV 与 Web 服务器通信,但报告 Web 服务器返回“(405) Method not allowed”。当它发送 PROPFIND 请求时会发生这种情况。
发生这种情况时,Apache 的访问日志会报告以下内容:
192.168.1.29 - - [25/Nov/2010:17:21:26 +0200] "PROPFIND /updates/2.0.1.0/ HTTP/1.1" 405 320 "-" "-"
Run Code Online (Sandbox Code Playgroud)
大概没有启用 HTTP-DAV。我究竟做错了什么?
回复pacey: Apache的任何配置文件中都没有Limit或LimitExcept指令。/var/www/html/updates/或 中没有 .htaccess 文件/var/www/html/。
回复 Zoredache: …
我有 IIS 在 win 2k3 服务器上运行两个站点 + IIS 虚拟文件夹 (w3root)。我想知道是否有任何方法可以通过使用 ftp 服务器上的端口 80 来捎带该管道上的 FTP 流量。
我将如何做到这一点并仍然保持网络内容不间断运行?
我正在尝试将 WebDAV 共享安装为 Windows 8 上的驱动器。我尝试在 Windows 2012 和 Debian Linux 上设置 WebDAV 服务器,但在尝试从客户端安装时都产生相同的错误。
我已经验证 Linux WebDAV 通过cadaver -command 工作,它使用给定的凭据成功进行身份验证,并且我能够下载文件。我还可以使用浏览器使用这些凭据从客户端成功访问它。所以 WebDAV 服务器似乎可以工作。
然而,Windows 8 客户端给了我这个错误:
C:\> 网络使用 * http://10.0.0.5/webdav/ 发生系统错误 67。 找不到网络名称。
如果我尝试使用 Windows 资源管理器挂载,我会收到同样的错误。“/webdav/”是我为服务器上的WebDAV访问配置的子目录。
没有防火墙阻止访问服务器。正如我提到的,我可以使用浏览器进行连接,因此网络不是问题。
是否需要任何其他步骤才能使其正常工作和/或我做错了什么?
编辑: 来自 Apache 的日志说明如下(主机名已更改以保护无辜者):
==> /var/log/apache2/other_vhosts_access.log <== debian1.my.net:80 10.0.0.4 - - [13/Jul/2013:17:53:00 +0200] "OPTIONS / HTTP/1.1" 200 229 "-" "DavClnt" debian1.my.net:80 10.0.0.4 - - [13/Jul/2013:17:53:03 +0200] "OPTIONS /WebDAV HTTP/1.1" 200 193 "-" "Microsoft-WebDAV-MiniRedir/6.2.9200 ” debian1.my.net:80 10.0.0.4 - - [13/Jul/2013:17:53:03 +0200] "PROPFIND /WebDAV …
我正在为 WebDAV 配置 IIS 7.5 服务器。当客户端应用程序发出匿名 PROPFIND 请求来读取目录内容时,服务器将返回 403 Forbidden 状态。我需要它返回目录列表。我需要做什么来解决这个问题?我们可以在 IIS 6.0 服务器上正常工作。
设置:
故障排除:
编号 严重性 事件 模块名称
93 警告 -MODULE_WARNING WebDAVModule
模块名称 WebDAVModule
Data1 无效深度:对于 PROPFIND 由于配置而不允许
数据2
错误代码0
错误代码 操作成功完成。(0x0)
94 警告 -MODULE_SET_RESPONSE_ERROR_STATUS WebDAVModule
模块名称 WebDAVModule
通知128
Http状态 403
HttpReason 被禁止
HttpSub 状态 22
错误代码0
配置异常信息
通知 EXECUTE_REQUEST_HANDLER
错误代码 操作成功完成。(0x0)