dポイントプレゼントキャンペーン実施中!

Linux サーバー上に存在するファイルをWindows98クライアントから編集したいという要求があります.

xjdさんがたびたびWebDAVに言及されているので,このたび挑戦してみました.

httpd-2.0.47 を --enable-ssl --enable-dav としてインストールし,httpd.conf に以下を加えることで,Webフォルダとして公開するところまでは,難なくたどりつきました.

DAVLockDB /tmp/DavLock
DAVMinTimeout 600
<Location /dav>
DAV On
AuthType Basic
AuthName "Dav Folder"
AuthUserFile /var/www/passwd/passwords
AuthGroupFile /var/www/passwd/groups
require group Family
</Location>

上記のとおり,SSL + BASIC 認証でアクセスするように設定しております.

○問題

Dav共有フォルダ上のファイルをクライアントから直接アプリケーションで開いて編集後保存しても,変更内容が反映されない.

どうも,TEMPフォルダにダウンロードして編集されているようなのですが,編集したファイルを書き戻すようにはなっていないのでしょうか?

なお,Webフォルダ内へのファイルのコピーや削除は問題無くできております.

A 回答 (1件)

こんにちは。


WebDAVを薦めたにしては、内部的な事はあまり理解できていない本人です。

私はMacユーザなので、MacOSXに標準のテキストエディタで、WebDAV上のテキストファイル
を問題なく直接編集していました。

当然、Windows(2K)のメモ帳や秀丸でも、できるはず、と思っていたのですが、無理だと聞かされて
あきらめました。ようするにWebDAVクライアントとしての機能を実装していないエディタなどは
直接編集するのは無理のようです。

ちなみにWord2000ではWebDAV上のテキストファイルを直接開いて編集できるのですが、変な形式で
保存されてしまいそうなので、利用していません。

回答になっていなくてすみません。何か有益な情報をご存じでしたら聞かせて下さい。

この回答への補足

私もほとんど理解していないのですが…

> ようするにWebDAVクライアントとしての機能を実装し
> ていないエディタなどは直接編集するのは無理のよ
> うです。

DAVクライアントとは,Windowsでは「Webフォルダ」(XPではネットワークプレイス?)ということになると思うので,個別のアプリケーションの問題では無いような気がします.

Windowsのwebフォルダはどうやら通常のディレクトリと同様には扱われていないようなので,これはWindows側の問題のようですね.

MacOSXはUNIXなので,ひょっとすると,「DAVfs」の方の仕組みを使っていたりしませんかね?
そのあたりで何か情報がありましたらお知らせ下さい.
(DAVfsが何なのかも分かってません.これから調べます)

どうせ,Windows98 on VMware on Linux という環境で使用するので,ホストで DAVfs マウントして(繰り返しますが,DAVfsがそういうものかどうかは未調査) samba で共有とかそういうことができないか等調べてみます.

補足日時:2003/10/10 10:04
    • good
    • 0
この回答へのお礼

xjdさんの「MacOSXでは使えている」という情報が強いモチベーションになって,以下のとおりDAVfsを導入して満足行く解にたどりつきました.
ちょっと長くなりますが,サマリを書いておきます.


1.カーネルの設定で,Coda file system が有効になっていなければ,有効にしてカーネルを再構築

File systems
  -> Network File Systems
   -> Coda file system support:(CONFIG_CODA_FS)

が,y または m であれば良い.n の場合,y または m にして再構築

2.davfsのインストール

http://dav.sourceforge.net/ から davfs2-0.2.1.tar.gz を入手して展開

$ wget http://osdn.dl.sourceforge.net/sourceforge/dav/d …
$ tar zxvf davfs2-0.2.1.tar.gz

sslを有効にしてbuildしたいが,configure スクリプトがssl.hを見つけてくれないので,以下のようにconfigureを変\\
更.

$ diff configure.org configure
8004c8004
< if test `eval echo '${'$as_ac_Header'}'` = yes; then
---
> if true; then

RedHatの特殊事情で,kerberosが変な場所にあるので,以下のようにconfigure, make, install

$ CFLAGS=-I/usr/kerberos/include ./configure --prefix=/usr --with-ssl --with-kernel=/usr/src/linux-2.4.22
$ make
$ su
$ make install

3.マウント例 (proxy越しでもO.K.!)

$ modprobe coda (coda.o をモジュールにした場合)
$ mount.davfs https://host.domain/dav/ /dav -o proxy=ip-address:port,username=name,password=pass

お礼日時:2003/10/10 13:03

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!