VineLinuxでWebDAVを使う

2003/10/20 「Sambaを使おう」へ戻る

WebDAVとは

すでにこの手の話題はたくさんありますので、ここではあえて書きませんが、次世代プロトコルWebDAVの可能性などに詳しく書かれていますので、そちらを参照してください。簡単に言えばhttpを使った共有のようなものですね。


Vine Linux 2.6へWebDAVをインストール

VinePlusにrpmパッケージが準備されていますので、ここではそれを使ってインストールします。Apacheもrpmパッケージをインストールしてあるものとして書いてます(Apache1.3.27)。

ここでは「/home/user/public_html/webdav/」をWebDAVに設定する例で書きます。ディレクトリは各自の環境に合わせてください。

また、以下の説明では「192.168.0.0/16」からのアクセスのみ許可するようにしています。パスワードを使ったユーザー認証などを利用する場合には、その設定を追加する必要があります。

  1. rootになります。
    $ su -
  2. aptがplusパッケージを読み込むように設定します。
    /etc/apt/sources.listをエディタで編集します。
    以下のような所を探して、「ring mirror」「jaist mirror」「kddlabs mirror」のいずれかにある「rpm」「rpm-src」の行のコメントをはずします。この2行だけ、先頭の「#」文字を削除して保存します。
    ##
    ## Vine Linux 2.6 FTP
    ##
    # (ring mirror)
    #rpm     http://www.t.ring.gr.jp/pub/linux/Vine/apt 2.6/$(ARCH) main plus plus-noarch
    #rpm-src http://www.t.ring.gr.jp/pub/linux/Vine/apt 2.6/$(ARCH) main plus
    #
    # (jaist mirror)
    #rpm     ftp://ftp.jaist.ac.jp/os/linux/Vine/apt 2.6/$(ARCH) main plus plus-noarch
    #rpm-src ftp://ftp.jaist.ac.jp/os/linux/Vine/apt 2.6/$(ARCH) main plus
    #
    # (kddlabs mirror)
    #rpm     ftp://ftp.kddlabs.co.jp/pub/Linux/distributions/Vine/apt 2.6/$(ARCH) main plus plus-noarch
    #rpm-src ftp://ftp.kddlabs.co.jp/pub/Linux/distributions/Vine/apt 2.6/$(ARCH) main plus
  3. パッケージをインストールします。
    # apt-get install libiconv_hook mod_dav mod_encoding
  4. ロック用ディレクトリを作成します。このディレクトリはApacheのUserディレクティブの指定と同じにする必要があります。Vineでは初期値で「apache」となっています。
    # mkdir /var/lock/DAV/
    # chown apache. /var/lock/DAV/
  5. WebDAVで公開するディレクトリを作成します。このディレクトリも、さきほどのロック用ディレクトリと同じユーザーにしておきます。
    # mkdir /home/user/public_html/webdav
    # chown apache. /home/user/public_html/webdav
  6. Apacheの設定をします。/etc/httpd/conf/httpd.confをエディタで編集します。
    # 次の行をLoadModuleがたくさん書かれている行の最後に追加します
    <IfDefine HAVE_ENCODING>
        LoadModule encoding_module modules/mod_encoding.so
    </IfDefine>
     
    # 次の行をAddModuleがたくさん書かれている行の最後に追加します
    <IfDefine HAVE_DAV>
        AddModule mod_dav.c
        DAVLockDB /var/lock/DAV/DAVLock
    </IfDefine>
    <IfModule mod_encoding.c>
        EncodingEngine    on
        NormalizeUsername on
        SetServerEncoding     UTF-8
        DefaultClientEncoding JA-AUTO-SJIS-MS SJIS
        AddClientEncoding "cadaver/" EUC-JP
        AddClientEncoding "Microsoft .* DAV 1.1" ASCII MSSJIS UTF-8
        AddClientEncoding "Microsoft .* DAV" UTF-8 MSSJIS
        AddClientEncoding "(Microsoft .* DAV $)" UTF-8 MSSJIS
        AddClientEncoding "(Microsoft .* DAV 1.1)" MSSJIS UTF-8
    </IfModule>
     
    # 次の行を <Directory /home/*/public_html> が書かれている後などに追加します
    Alias /webdav /home/user/public_html/webdav
    <Location /webdav>
        DAV On
        AllowOverride None
        order deny,allow
        deny from all
        allow from 192.168.
    </Location>
  7. Apacheを再起動します。
    # /etc/init.d/httpd restart

これで設定は終了です。あとはInternetExplorerなどから「ファイル/開く」の「Webフォルダとして開く」などを選択すれば、WebDAVが使えます。

注意点として、ファイル名が「UTF-8」として保存されるので、2バイト文字を含むファイル名でアップロードした場合で、かつ、そのファイルをLinuxで使いたいような場合にはWebDAVは不向きです。
普通の共有フォルダのように使うのでしたら漢字ファイル名でも問題ないようです。


参考サイト

Copyright©2001-2017 釣ったよ! All Right Reserved.    sg@tsuttayo.jpn.org