我刚刚把我的testing机器从Apache 2.2.29升级到2.4.10,实际上我得到了一些与webdav模块有关的问题。
如果我尝试login到一个WebDAV帐户它的工作原理,但如果我尝试列出我目前的目录我有一个405错误。
我知道一些configuration作为这个新版本的改变,我做了一些改变,让我的虚拟主机与2.4兼容。
我有2个虚拟主机实际上所有这些都来自我的2.2设置,我更新了他们有点准备与2.4。 其中之一与webdav工作正常,但第二个在列表目录上生成405。
这是我工作的虚拟主机:
Apache日志:
10.19.87.87 - maxence [02/Jan/2015:16:30:12 +0100] "PROPFIND / HTTP/1.1" 207 6331 "-" "Cyberduck/4.6.1 (16121) (Windows 7/6.1) (x86)"
<VirtualHost *:80> ServerAdmin [email protected] DocumentRoot /home/web/working/dev/ ServerName webdav.working.test.net ServerAlias webdav.working.test.net ErrorLog /var/log/apache2/net.test.working.webdav-error.log CustomLog /var/log/apache2/net.test.working.webdav-access.log combined <Files ".ht*"> allow from all </Files> <Directory /> Options FollowSymLinks AllowOverride None Require all granted </Directory> <Location /> DAV on AuthName "test WebDAV Storage - working" AuthType Basic AuthUserFile /etc/apache2/htpasswd-webdav <Limit GET POST PUT DELETE PROPFIND PROPPATCH MKCOL COPY DUPLICATE MOVE LOCK UNLOCK OPTIONS HEAD> Require valid-user </Limit> AddType text/html .php .phtml </Location> </Virtualhost>
而现在,那个不工作的人 :
Apache日志:
10.19.87.87 - maxence [02/Jan/2015:16:10:54 +0100] "PROPFIND / HTTP/1.1" 405 475 "-" "Cyberduck/4.6.1 (16121) (Windows 7/6.1) (x86)"
<VirtualHost *:80> ServerAdmin [email protected] DocumentRoot /home/web/notworking/dev/ ServerName webdav.notworking.test.net ServerAlias webdav.notworking.test.net ErrorLog /var/log/apache2/net.test.notworking.webdav-error.log CustomLog /var/log/apache2/net.test.notworking.webdav-access.log combined <Files ".ht*"> allow from all </Files> <Directory /> Options FollowSymLinks AllowOverride None Require all granted </Directory> <Location /> DAV on AuthName "test WebDAV Storage - notworking" AuthType Basic AuthUserFile /etc/apache2/htpasswd-webdav <Limit GET POST PUT DELETE PROPFIND PROPPATCH MKCOL COPY DUPLICATE MOVE LOCK UNLOCK OPTIONS HEAD> Require valid-user </Limit> AddType text/html .php .phtml </Location> </Virtualhost>
正如你可以看到我的DAVconfiguration是完全一样的。 文件夹rigth得到相同的configuration:
drwxr-xr-x 7 www-data www-data 26 déc. 24 12:07 dev
如果有人知道为什么我不能列出我的目录,它会帮助我很多:)
在上次更新之后,似乎还有一大堆人遇到了这个问题。
我在这里find了我的答案:在Dav目录上,使用以下指令禁用Directory索引function:
DirectoryIndex disabled
值得注意的是,我pipe理的其中一个网站在1月7日通过一个“Hmei7”php的攻击而被损坏,这些攻击是在wordpress的旧版本中放置的,我已经把它放在了一个可以访问的地方,并且被遗忘了。 不要留下旧的基于PHP的应用程序潜伏在可见的地方!