質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

87.37%

webdav設定について

受付中

回答 2

投稿 編集

  • 評価
  • クリップ 0
  • VIEW 1,088

score 6

apache2でwebdavを使用したいのですがクライアントから接続できません。

環境は
サーバー:組み込みlinux
クライアント:windows7でCarotDav使用

認証なし、パスワードなしの状態でwebdav接続した場合
「リモート サーバーがエラーを返しました: (403) 使用不可能」となります。

Basic認証、パスワードありの状態でwebdav接続した場合
「リモート サーバーに接続できません。」となります。

apache2は動作していますがwebdavのconf設定内容によりアクセスできなくなります。(httpd-dav.confでAuthUseFileの行を有効にしパスワード設定すると今までアクセスできていたapache2のindex.htmlもアクセスできません)

httpd.confで設定されている内容は全体を統括し、その下にhttpd-dav.confで設定した内容があると思っておりますが、何故httpd-dav.confにパスワードを加えるとindex.htmlへもアクセスできなくなってしまうのでしょうか?

また何故、認証なしパスワードなしでwebdav接続した場合、エラー403で繋がらないのでしょうか?

以上よろしくお願いいたします。

/etc/apach2/httpd.confの内容です。

ServerRoot "/usr"

Listen 80

LoadModule authn_file_module lib/apache2/modules/mod_authn_file.so
LoadModule authn_core_module lib/apache2/modules/mod_authn_core.so
LoadModule authz_host_module lib/apache2/modules/mod_authz_host.so
LoadModule authz_groupfile_module lib/apache2/modules/mod_authz_groupfile.so
LoadModule authz_user_module lib/apache2/modules/mod_authz_user.so
LoadModule authz_core_module lib/apache2/modules/mod_authz_core.so
LoadModule access_compat_module lib/apache2/modules/mod_access_compat.so
LoadModule auth_basic_module lib/apache2/modules/mod_auth_basic.so
LoadModule reqtimeout_module lib/apache2/modules/mod_reqtimeout.so
LoadModule filter_module lib/apache2/modules/mod_filter.so
LoadModule mime_module lib/apache2/modules/mod_mime.so
LoadModule log_config_module lib/apache2/modules/mod_log_config.so
LoadModule env_module lib/apache2/modules/mod_env.so
LoadModule headers_module lib/apache2/modules/mod_headers.so
LoadModule setenvif_module lib/apache2/modules/mod_setenvif.so
LoadModule version_module lib/apache2/modules/mod_version.so
LoadModule mpm_worker_module lib/apache2/modules/mod_mpm_worker.so
LoadModule unixd_module lib/apache2/modules/mod_unixd.so
LoadModule dav_module lib/apache2/modules/mod_dav.so
LoadModule status_module lib/apache2/modules/mod_status.so
LoadModule autoindex_module lib/apache2/modules/mod_autoindex.so
LoadModule dav_fs_module lib/apache2/modules/mod_dav_fs.so
LoadModule dir_module lib/apache2/modules/mod_dir.so
LoadModule alias_module lib/apache2/modules/mod_alias.so


<IfModule unixd_module>
User daemon
Group daemon

</IfModule>
ServerAdmin you@example.com
ServerName localhost:80

<Directory />
    AllowOverride none
    Require all denied
</Directory>

DocumentRoot "/usr/share/apache2/htdocs"
<Directory "/usr/share/apache2/htdocs">

    Options Indexes FollowSymLinks

    AllowOverride None

    Require all granted
</Directory>

<IfModule dir_module>
    DirectoryIndex index.html
</IfModule>

<Files ".ht*">
    Require all denied
</Files>

ErrorLog "/var/apache2/logs/error_log"

LogLevel warn

<IfModule log_config_module>
    LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
    LogFormat "%h %l %u %t \"%r\" %>s %b" common

    <IfModule logio_module>
      # You need to enable mod_logio.c to use %I and %O
      LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" %I %O" combinedio
    </IfModule>

    CustomLog "/var/apache2/logs/access_log" common

</IfModule>

<IfModule alias_module>
    ScriptAlias /cgi-bin/ "/usr/share/apache2/cgi-bin/"

</IfModule>

<IfModule cgid_module>

</IfModule>


<Directory "/usr/share/apache2/cgi-bin">
    AllowOverride None
    Options None
    Require all granted
</Directory>

<IfModule headers_module>
    RequestHeader unset Proxy early
</IfModule>

<IfModule mime_module>
    TypesConfig /etc/apache2/mime.types
    AddType application/x-compress .Z
    AddType application/x-gzip .gz .tgz
</IfModule>



Include /etc/apache2/extra/httpd-dav.conf

<IfModule proxy_html_module>
Include /etc/apache2/extra/proxy-html.conf
</IfModule>

<IfModule ssl_module>
SSLRandomSeed startup builtin
SSLRandomSeed connect builtin
</IfModule>


IncludeOptional /etc/apache2/conf.d/*.conf
IncludeOptional /etc/apache2/modules.d/*.load
IncludeOptional /etc/apache2/modules.d/*.conf


/etc/apache2/extra/httpd-dav.conf

Alias /uploads /usr/uploads
<Directory "/usr/uploads">
  Dav On
  Options Indexes
  Allow from all
  AuthType Basic
  AuthName DAV-upload

   AuthUseFile "/usr/user2.passwd"
  <RequireAny>
       Require method GET POST OPTIONS
       Require valid-user
  <RequireAny>
</Directory>


BrowserMatch "Microsoft Data Access Internet Publishing Provider" redirect-carefully
BrowserMatch "MS FrontPage" redirect-carefully
BrowserMatch "^WebDrive" redirect-carefully
BrowserMatch "^WebDAVFS/1.[01234]" redirect-carefully
BrowserMatch "^gnome-vfs/1.0" redirect-carefully
BrowserMatch "^XML Spy" redirect-carefully
BrowserMatch "^Dreamweaver-WebDAV-SCM1" redirect-carefully
BrowserMatch " Konqueror/4" redirect-carefully

サーバエラーメッセージです。
httpd-dav.confにパスワード行あり(15:09頃)、パスワード行なし(15:13頃)のそれぞれでlinuxにログインしました。

access_log

192.168.x.xxx - - [10/Sep/2020:15:11:38 +0000] "OPTIONS /uploads HTTP/1.1" 403 216

error_log

[Thu Sep 10 15:09:14.770255 2020] [mpm_worker:notice] [pid 1347:tid 3069177856] AH00292: Apache/2.4.27 (Unix) configured -- resuming normal operations
[Thu Sep 10 15:09:14.771208 2020] [core:notice] [pid 1347:tid 3069177856] AH00094: Command line: '/usr/sbin/httpd'
[Thu Sep 10 15:11:38.820983 2020] [authz_core:error] [pid 1350:tid 2894066736] [client 192.168.1.138:3066] AH01630: client denied by server configuration: /usr/uploads
[Thu Sep 10 15:13:08.128461 2020] [core:warn] [pid 1347:tid 3069177856] AH00045: child process 1350 still did not exit, sending a SIGTERM
[Thu Sep 10 15:13:08.128592 2020] [core:warn] [pid 1347:tid 3069177856] AH00045: child process 1353 still did not exit, sending a SIGTERM
[Thu Sep 10 15:13:08.128631 2020] [core:warn] [pid 1347:tid 3069177856] AH00045: child process 1354 still did not exit, sending a SIGTERM
[Thu Sep 10 15:13:10.131066 2020] [mpm_worker:notice] [pid 1347:tid 3069177856] AH00295: caught SIGTERM, shutting down
  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 過去に投稿した質問と同じ内容の質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

回答 2

0

httpd.confで設定されている内容は全体を統括し、その下にhttpd-dav.confで設定した内容があると思っておりますが、何故httpd-dav.confにパスワードを加えるとindex.htmlへもアクセスできなくなってしまうのでしょうか?

通常は、Directory ディレクティブや Location ディレクティブや VirtualHost ディレクティブの中以外で、AuthUseFile 等の認証設定を指定しているのであれば、バーチャルドメインでないメインのサイトの全体に適用されます。

特定の条件に適用するためには、Directory ディレクティブや Location ディレクティブや VirtualHost ディレクティブを使って、適用範囲を制限します。

動作については、設定内容と記載位置により変わると思われますので、具体的な設定内容を質問に追記していただくことはできないでしょうか?

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2020/09/10 08:52

    回答ありがとうございます。httpd.confとhttpd-dav.confの内容を追記しました。文字制限のため#のコメントは貼りませんでした。

    キャンセル

0

windowsからのwebdavは癖があって事前準備が面倒で使いづらいものです。
質問文に記載の条件で接続するには以下を参考にするといいでしょう。

https://www.webdavsystem.com/server/prev/v2/documentation/authentication/basic_auth_vista/

投稿

編集

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2020/09/11 14:23

    回答ありがとうございます。申し訳ございません、初心者なので質問にあたり何が必要かわからなかったです。apacheのバージョンにより書き方が違うなども知らなかったのでapacheバージョンは気がまわりませんでした。今回の質問も有料レベルになるとは全くわからずいろいろと申し訳ございません。

    キャンセル

  • 2020/09/11 14:33

    技術的なものが有料というより、継続して一人の為に応答する時間を充ててるというのが、ですね。
    「新しいエラーになったのでこれを調べてこれに気付いてこれを試した」の繰り返しならまだやってられなくもないですけど、言われた事をやったらこういうエラーになりましたってエラーやその状態を提示するだけの繰り返しはもはやただの有料サポートです。
    都度付き合っていたのは親切心で、最後にヒント出したのも親切心です。

    > apacheのバージョンにより書き方が違うなども知らなかったのでapacheバージョンは気がまわりませんでした。
    というか、エラーログの内容を検索すれば1ページ目に出てくる事でなんですよ。その点からも自分で調べていない(検索していない)と察しました。
    とはいえ前述のヒントを元に調べれば対応仕切れるはずですので頑張ってください。

    恐らく自力で調査が難しい(初心者では調べられない)のは回答に書いた部分だけです。

    キャンセル

  • 2020/09/11 15:35

    サーバー側のエラーメッセージは?という回答もらってからエラーログというものの存在を知って、時間を空けずに返信しなければと思い貼ってしまいました。相当イライラさせてしまったようで申し訳ございません。今さらですがエラーメッセージを検索しても更にわからないことが書いてあり結局何をすればいのかわかりません。
    親切にしていただきありがとうございました。

    キャンセル

15分調べてもわからないことは、teratailで質問しよう!

  • ただいまの回答率 87.37%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

関連した質問

同じタグがついた質問を見る