
디렉터리에서 WebDav를 허용하도록 Apache2를 구성했습니다(CentOS 5/Plesk 8.6).
- WebDav는 httpd.conf에서 활성화됩니다.
- /var/lib/dav/lockdb는 Apache에서 쓰기 가능합니다.
- 내 목표 디렉토리는 chmod 777입니다
- 내 대상 디렉토리는 apache:psacln으로 표시됩니다.
- 기본 인증 사용(Plesk 인터페이스로 설정)
내 vhost.conf에는 다음이 있습니다.
<디렉토리 /var/www/vhosts/domain.com/httpdocs/target_dir> 데브 온 AllowOverride 없음 주문 허용, 거부 모두에서 허용 </디렉토리>
인증을 사용하여 디렉터리에 연결하고 디렉터리에서 파일을 다운로드할 수 있습니다. 하지만 디렉토리에 쓸 수는 없습니다. 디렉토리를 업로드하거나 생성하려고 하면 403 오류가 발생합니다.
누구에게 조언이 있습니까?
미리 감사드립니다 -
업데이트 - 6/5아래 설명을 사용하여 문제를 .htpasswd 보호 디렉터리와의 일부 충돌 유형으로 분리했습니다. 보호되지 않은 디렉토리를 생성하고 WebDAV 업로드를 활성화할 수 있습니다. 그러나 디렉토리에서 기본 인증을 활성화하면 모든 것이 남쪽으로 이동합니다. 읽을 수는 있지만 더 이상 업로드할 수 없습니다.
이것은 내 vhost.conf입니다.
<디렉토리 /var/www/vhosts/domain.com/subdomains/subdomain/httpdocs/> 인증사용자파일 /var/www/.htpasswd 인증 이름 "로그인" 인증 유형 기본 유효한 사용자 필요 DAV 켜짐 AllowOverride 없음 <PUT POST DELETE PROPFIND PROPPATCH MKCOL COPY MOVE LOCK UNLOCK 제한> 유효한 사용자 필요 </한계> </디렉토리>
6/6 업데이트
최소한의 노력으로 WebDAV를 다른 도메인에서 작동시킬 수 있었습니다. 두 도메인의 유일한 차이점은 쓰기 액세스를 거부하는 도메인에는 DocumentRoot 지시어가 있다는 것입니다.
DocumentRoot /var/www/vhosts/domain.com/httpdocs/app/webroot
이로 인해 문제가 발생할 수 있습니까?
답변1
저는 최근 Fedora 10 시스템에서 동일한 문제로 어려움을 겪었습니다. 내 경우에는 Apache에서 수행했던 이상한 리디렉션이 원인이었습니다. 특히 .htaccess 내에 누락된 파일을 PHP 스크립트로 리디렉션하는 다음 리디렉션 논리가 포함된 콘텐츠 관리 시스템(정확히 말하면 Drupal)을 사용합니다.
# Rewrite URLs of the form 'x' to the form 'index.php?q=x'.
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !=/favicon.ico
RewriteRule ^(.*)$ index.php?q=$1 [L,QSA]
위의 내용은 PUT 메서드에만 영향을 미치는데, 이 경우 REQUEST_FILENAME이 존재하지 않기 때문입니다.
합리적인 제약처럼 보이는 Drupal 영역 내부에 WebDAV 영역이 없으면 문제가 해결됩니다.
또한 SELinux에서는 다른 오류가 발생할 가능성이 높지만 위의 논의에서는 언급되지 않았습니다. SELinux를 비활성화해 보셨나요?
답변2
같은 문제입니다. 해결 방법:
<Location /xyz>
DAV On
AuthType Digest
AuthName "webdav-xmarks"
AuthDigestProvider file
AuthUserFile "/home/xy/xba/digest-password"
Require valid-user
RewriteEngine off <-- this part solved it!
</Location>
답변3
같은 문제입니다.
다음을 사용하여 webdav 디렉토리에 .htaccess 파일을 생성하여 해결되었습니다.
RewriteEngine off
여기에서 찾았습니다:http://annoyingtechnicaldetails.wordpress.com/2007/07/20/webdav-vs-drupal-htaccess-redirect-rules/
답변4
제한을 사용해 보셨나요? (예:)
<Limit PUT POST DELETE PROPFIND PROPPATCH MKCOL COPY MOVE LOCK UNLOCK>
Require valid-user
</Limit>