Я пытаюсь настроить WebDAV на своем сервере CentOS 6.5 с Apache 2.2, и у меня возникают проблемы.
Я следую этому руководству здесь: http://www.howtoforge.com/how-to-set-up-webdav-with-apache2-on-centos-5.5
Я убедился, что необходимые модули mod_dav.so и mod_dav_fs.so включены.
Я создал запись для своего виртуального хоста, например:
<VirtualHost 11.22.33.44:80>
SuexecUserGroup "#500" "#500"
ServerName dav.naijastories.com
DocumentRoot /home/myuser/public_html/
ScriptAlias /cgi-bin /home/myuser/public_html/cgi-bin
DirectoryIndex index.html index.htm index.php index.php4 index.php5
<Directory /home/myuser/public_html/>
Options -Indexes +IncludesNOEXEC +SymLinksIfOwnerMatch +ExecCGI
allow from all
AllowOverride All Options=ExecCGI,Includes,IncludesNOEXEC,Indexes,MultiViews,SymLinksIfOwnerMatch
AddHandler fcgid-script .php
AddHandler fcgid-script .php5
FCGIWrapper /home/myuser/fcgi-bin/php5.fcgi .php
FCGIWrapper /home/myuser/fcgi-bin/php5.fcgi .php5
</Directory>
Alias /webdav /home/myuser/public_html
<Location /webdav>
DAV On
AuthType Basic
AuthName "myuser"
AuthUserFile /home/myuser/.myuserpassfile
Require valid-user
</Location>
FcgidIOTimeout 600
</VirtualHost>
Я удостоверился, что .myuserpassfile действительно содержит правильные кредиты для myuser.
После внесения этих изменений я перезапустил службу Apache.
Но когда я перехожу на сайт dav.naijastories.com, я не вижу ничего похожего на структуру каталогов.
Что я здесь делаю не так?
РЕДАКТИРОВАТЬ:
Я добился прогресса в этом.
Чтобы прояснить это, я на самом деле пытался легко получить доступ к файлам на машине CentOS с моего ПК с Windows; Я думал, что мне придется сделать это через браузер, но оказалось, что это проще сделать через проводник Windows.
Прежде всего, я изменил раздел виртуального хоста следующим образом:
<VirtualHost 11.22.33.44:80>
ServerName dav.mysite.com
DocumentRoot /home/myuser/public_html
<Directory /home/myuser/public_html>
Options Indexes FollowSymLinks
AllowOverride None
Order allow,deny
allow from all
DAV On
AuthType Digest
AuthName "dav"
AuthDigestDomain http://dav.mysite.com
AuthUserFile /home/myuser/.htdigest
Require valid-user
</Directory>
</VirtualHost>
Куда:
htdigest
для хранения учетных данных пользователя, которому будет разрешен доступ к файлам, совместно используемым WebDAV;Как только я добавил это в httpd.conf
файл и перезапустил apache, затем на моем ПК с Windows я сделал следующее:
Как только я это сделал, я смог войти в систему и посмотреть свои файлы.
Однако я не могу писать в папки, которые вижу в проводнике.
Каждый раз, когда я это делаю, я получаю сообщение:
«Неожиданная ошибка не дает вам создать файл. Если вы продолжаете получать эту ошибку, вы можете использовать код ошибки для поиска справки по этой проблеме. Ошибка 0x80070780: файл недоступен для системы».
Просматривая логи apache, я вижу такие ошибки:
[Sun Nov 09 16:40:55 2014] [error] [client 11.22.33.44] client denied by server configuration: /home/myuser/public_html/.htaccess
[Sun Nov 09 16:40:55 2014] [error] [client 11.22.33.44] (13)Permission denied: access to /webdav/index.html denied
[Sun Nov 09 16:40:55 2014] [error] [client 11.22.33.44] (13)Permission denied: access to /webdav/index.html.var denied
[Sun Nov 09 16:40:56 2014] [error] [client 11.22.33.44] Unable to PUT new contents for /wptest/New Text Document.txt. [403, #0]
[Sun Nov 09 16:40:56 2014] [error] [client 11.22.33.44] (13)Permission denied: An error occurred while opening a resource. [500, #0]
Меня это смущает. В моем файле .htaccess нет ничего, ограничивающего доступ (я даже не копирую туда файл), и у меня нет каталога webdav на моем компьютере.
Любые идеи?