web-dev-qa-db-ja.com

ロックデータベースを開けませんでした-Apache WebDAVセットアップ

Apacheを使用してWebDAVサーバーを構成しました。これが私の設定です:

DAVLockDB /var/www/DAVLock.db

<Location /majid>
    AllowOverride None
    Options +Indexes
    DAV On
    AuthUserFile /var/www/users.db
    AuthName Authentication
    AuthType Basic
    <Limit GET PUT DELETE PROPFIND PROPPATCH MKCOL COPY MOVE LOCK UNLOCK>
        Require user majid
    </Limit>
</Location>

Alias /majid /var/www/dav/majid

/var/www/DAVLock.dbApacheのユーザーとグループが所有しています。ブラウザ経由でWebDAV共有にアクセスできます。 WindowsでWebFolderを構成しましたXP SP3。ただし、ファイルとフォルダを作成できません。error_logファイルには次のように記載されています:

[Tue Oct 11 17:05:12 2011] [error] [client 192.168.1.2] File does not exist: /var/www/dav/majid/New Folder
[Tue Oct 11 17:05:12 2011] [error] [client 192.168.1.2] The locks could not be queried for verification against a possible "If:" header.  [500, #0]
[Tue Oct 11 17:05:12 2011] [error] [client 192.168.1.2] Could not open the lock database.  [500, #400]
[Tue Oct 11 17:05:12 2011] [error] [client 192.168.1.2] (13)Permission denied: Could not open property database.  [500, #1]

誰か助けてもらえますか?別の質問です:WebDAVクライアントがファイルとフォルダーを一覧表示するためにOptions +Indexesが必要ですか、それともブラウザーを使用したWebアクセス専用ですか?

7
Majid Azimi
ls -ld /var/www/
drwxr-xr-x. 9 root root 4096 Oct 11 15:54 /var/www/

chown -R Apache:apache /var/www/、変更を取り消して、もう一度お試しください。

5
quanta

これは私にとって落とし穴でしたが、ドキュメントによると mod_dav

「ロックデータベースファイルを含むディレクトリは、Apacheが実行されているユーザーとグループから書き込み可能でなければなりません。」

DAVロックDBファイルとそれを含むディレクトリの両方に適切な権限があることを確認する必要があります。

私の新規インストールでは、/ var/www /ディレクトリに、Apacheグループに設定された書き込み権限がありませんでした。/var/lib/dav /ディレクトリには、これらの権限がデフォルトで設定されているため、Majidで機能しました。これを知って、あなたはあなたが選んだどこかに適切なパーミッションでディレクトリを作ります。

(古い質問ですが、それでも私の検索で見つかりました。私は構成の公式のファンではないので、なぜMajid Azimiの構成変更が彼のために機能したかを知るのに役立ちます。)

4
guestpersonage

私はこの行を削除しました:

DAVLockDB /var/www/DAVLock.db

apacheのデフォルト設定を使用します。

<IfModule mod_dav_fs.c>
    # Location of the WebDAV lock database.
    DAVLockDB /var/lib/dav/lockdb
</IfModule>

現在は完全に機能しています。しかし、その理由はまだわかりません。

1
Majid Azimi

また、CentOS 7のApache WebDavでも同じ問題を受け取り、構成を変更した後にこれを修正しました

chcon -R -t httpd_sys_content_rw_t/var/www/{webdavルートフォルダー}

この後、それは完全に機能します

リファレンス: https://sirion-notes.blogspot.com/2015/09/centos-7-Apache-24-webdav-not-so-secure.html

0