[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[debian-users:42824] Re: WevDAVの設定



野上です。
ちょっと訂正と、手元でWebDAVを設定した例を示します。

Sun, 6 Feb 2005 22:36:57 +0900 に NOGAMI Daisuke <me@xxxxxxxx> さんからきた
「 [debian-users:42823] Re: WevDAVの設定 」 <20050206223648cfVshK@xxxxxxxx> 
への返事です。

>   もうちょっと状況説明をちゃんとされた方がよいかと思います。

  というのは <surgery323@xxxxxxxxxxx> さんに対しての発言です。

====

  これだけだと無意味なメールになるので、私がWindowsとMac(OS XのFinder)両方か
らアクセス出来るようにセッティングしたWebDAVの設定について説明します。

  この場合のポイントとしては、

○Mac OS XのFinderは、ファイル名をutf-8で送るためにmod_encodingは使わないで
  済むが、SSL接続には対応していないため、http + Digest認証を取る必要がある。
# なお、通常のmod_encodingは、余計な変換をするのでその意味からも外したい。
○Windowsなど、ファイル名がutf-8以外で送るサーバーの場合、mod_encodingによっ
  てヘッダが書き換えられてしまうためにDigest認証を取ることができない(従って、
  https + Basic認証になる)

  という2点から、

○MacOS向けのhttp接続ポート(今回は80番とします)
○他のOS向けのhttps接続ポート(今回は443番とします)

  の2つを用意し

○mod_encodingのon/off切り替えのため
  /etc/apache2/mods-enabled/mod_encoding.confへのsymlinkは張らない

  という小技をもちいたということが挙げられると思います。

  以下、/etc/apache2/sites-available/defaultの内容です。

# woody + backportsのapache2を使っているので若干問題があるかも知れませんが…

=======
# SSL required for Windows,Linux
NameVirtualHost *:443

<VirtualHost *:443>
        ServerAdmin webmaster@example.jp

        SSLEngine on
        SSLCertificateFile /etc/apache/ssl.crt/server.crt
        SSLCertificateKeyFile /etc/apache/ssl.key/server.key

        # SSL接続の時だけmod_encodingをonにする
        EncodingEngine on
        # Windows xp のDAVクライアント対策
        NormalizeUsername on
        # サーバー側の文字コードはutf-8にする
        SetServerEncoding UTF-8
        # クライアント側の文字コードはShift_JISと見なす
        DefaultClientEncoding JA-AUTO-SJIS-MS SJIS
        # 各クライアントにあわせてクライアント側へ送る文字コードを変える
        AddClientEncoding UTF-8  "Microsoft-WebDAV-MiniRedir/"
        AddClientEncoding SJIS   "Microsoft .* DAV 1\.1$"
        AddClientEncoding UTF-8  "Microsoft .* DAV$"
        AddClientEncoding SJIS   "xdwin9x/"
        AddClientEncoding "cadaver/" EUC-JP

        DocumentRoot /home/dav/share
        <Directory /home/dav/share>
                Options FollowSymLinks MultiViews
                AllowOverride None
                Order allow,deny
                allow from all
        </Directory>

        # Shared Folder for Members
        <Location />
                Options +Indexes
                DAV On
                AuthType        Basic
                AuthName       "Members Only"
                AuthUserFile    "/home/dav/htpasswd/common.basic.pwd"
                <LimitExcept OPTIONS>
                        Require valid-user
                </LimitExcept>
        </Location>

        ErrorLog /var/log/apache2/error.log
</VirtualHost>

## Non-SSL + Digest Authorization for Mac OS X Finder
NameVirtualHost *:80

<VirtualHost *:80>
        ServerAdmin webmaster@example.jp

        DocumentRoot /home/dav/share
        <Directory /home/dav/share>
                Options FollowSymLinks MultiViews
                AllowOverride None
                Order allow,deny
                allow from all
        </Directory>

        # Shared Folder for Members
        <Location />
                Options +Indexes
                DAV On
                AuthType        Digest
                AuthName       "Members Only"
                AuthDigestFile    "/home/dav/htpasswd/common.pwd"
                <LimitExcept OPTIONS>
                        Require valid-user
                </LimitExcept>
        </Location>

</VirtualHost>