WebDAV共有ファイルの更新に関する問題

このQ&Aのポイント
  • WebDAV共有ファイルの更新に関する問題が発生しています
  • Linuxサーバー上のファイルをWindows98クライアントから編集したい要求がありますが、変更内容が反映されない問題が発生しています
  • Dav共有フォルダ上のファイルをクライアントから直接編集しても変更が反映されず、ダウンロードして編集しても書き戻すことができません
回答を見る
  • ベストアンサー

WebDAV共有ファイルの更新について

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フォルダ内へのファイルのコピーや削除は問題無くできております.

質問者が選んだベストアンサー

  • ベストアンサー
  • xjd
  • ベストアンサー率63% (1021/1612)
回答No.1

こんにちは。 WebDAVを薦めたにしては、内部的な事はあまり理解できていない本人です。 私はMacユーザなので、MacOSXに標準のテキストエディタで、WebDAV上のテキストファイル を問題なく直接編集していました。 当然、Windows(2K)のメモ帳や秀丸でも、できるはず、と思っていたのですが、無理だと聞かされて あきらめました。ようするにWebDAVクライアントとしての機能を実装していないエディタなどは 直接編集するのは無理のようです。 ちなみにWord2000ではWebDAV上のテキストファイルを直接開いて編集できるのですが、変な形式で 保存されてしまいそうなので、利用していません。 回答になっていなくてすみません。何か有益な情報をご存じでしたら聞かせて下さい。

astronaut
質問者

お礼

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/davfs2-0.2.1.tar.gz $ 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

astronaut
質問者

補足

私もほとんど理解していないのですが… > ようするにWebDAVクライアントとしての機能を実装し > ていないエディタなどは直接編集するのは無理のよ > うです。 DAVクライアントとは,Windowsでは「Webフォルダ」(XPではネットワークプレイス?)ということになると思うので,個別のアプリケーションの問題では無いような気がします. Windowsのwebフォルダはどうやら通常のディレクトリと同様には扱われていないようなので,これはWindows側の問題のようですね. MacOSXはUNIXなので,ひょっとすると,「DAVfs」の方の仕組みを使っていたりしませんかね? そのあたりで何か情報がありましたらお知らせ下さい. (DAVfsが何なのかも分かってません.これから調べます) どうせ,Windows98 on VMware on Linux という環境で使用するので,ホストで DAVfs マウントして(繰り返しますが,DAVfsがそういうものかどうかは未調査) samba で共有とかそういうことができないか等調べてみます.

関連するQ&A

  • Webminを使ってWebDAVを動かしたい。

    「RedHatLinux7.3ではじめるWebサーバー入門」と言う本で httpd.confを書き変える場面があるんですが、 DAVLockDB /var/www/mod_dav/DAVLock <Location /> DAV On <LimitExcept GET HEAD OPTIONS> AuthName "WevDAV access" AuthType basic AuthUserFile /var/www/mod_dav/.htpasswd require user webdav_user </LimitExcept> </Location> を最後に追加するよう指示されてるんですが、実際にやって apachectl restart とやると Syntax error on line 1039 of /usr/local/apache/conf/httpd.conf: Invalid command 'DAVLockDB', perhaps mis-spelled or defined by a module not included in the server configuration と怒られてしまいます。 何がいけないのでしょう?

  • WebDAV のロック

    Numbers のファイルにロックがかかってくれません。 WebDAV にて公開しているディレクトリの中に、Excel と Numbers のファイルがあります。 Excel のファイルは、同時に2人が開こうとするとダイアログが表示され、読み取り専用で開け、と言われるのですが、Numbers のファイルはすんなり開いてしまいます。 Apache のアクセスログを見てみたのですが、 Excel のファイルは、開くときに LOCK メソッドが実行され、閉じるときに UNLOCK メソッドが実行されます。 Numbers のファイルは、開くときにも閉じるときにも、LOCK/UNLOCK メソッドが実行されません。 セーブする時に、LOCK/UNLOCK メソッドが秒単位レベルで同時に実行されます。 これは個々のアプリケーション依存で、どうしようもないのでしょうか? クライアントは Mac OS X 10.6 です。 Excel: Excel 2011 (14.0.2) Numbers: Numbers '09 (2.0.5) 【環境】 OS: CentOS release 5.5 x86_64 HTTP サーバー: Apache 2.2.3 【設定】※ 一部抜粋 #モジュールの読み込み LoadModule dav_module modules/mod_dav.so LoadModule dav_fs_module modules/mod_dav_fs.so #ロックファイルのための設定 <IfModule mod_dav_fs.c>     # Location of the WebDAV lock database.     DAVLockDB /var/lib/dav/lockdb </IfModule> #for WebDAV Alias   /webdav    "/var/www/webdav" <Location /webdav>         DAV on         SSLRequireSSL         AuthType        Basic         AuthName        "WebDAV Server"         AuthUserFile    "/etc/httpd/.htpasswd"         Require valid-user </Location>

  • webdavでのファイル閲覧

    redhat4(ES)のapache2でwebdavのテストをしています。 windowsXPの「ネットワークプレースを追加する」にて目的のフォルダにアクセスし、ファイルのアップロード、ダウンロードが出来るようにはなりました。 ただ、例えばjpgをアップロードしてそれをダブルクリックしても表示はされません。docファイルも表示されません。htmlのみブラウザが開く状態です。 httpd.conf、あるいはwebdav.confの関連づけの問題かなとおもうのですがどのような設定をすればよいでしょうか。 ちなみにブラウザで同じディレクトリにアクセスした場合、jpg,docとも問題なく閲覧できます。 webdav.confの記述は以下です。 --- Alias /hogehoge/ "/var/www/html/hogehoge/" <IfModule mod_dav.c> DAVMinTimeout 600 <Location /hogehoge> DAV On SSLRequireSSL AllowOverride None Options Indexes AuthType Basic AuthName WebDAV AuthUserFile /etc/httpd/conf/.htpasswd Require user testuser Order deny,allow Deny from all Allow from all </Location> </IfModule> ---

  • UNIX・WebDAVの動作が不安定です

    自宅内のFedora8サーバにWebDAVサーバを構築しました。 作成したWebDAVフォルダへWindowsXPから接続しているのですが、動作がとても不安定で困っています。 Windowsクライアントでマイネットワーク→ネットワークプレースの追加という一般的な手順でWebDAVフォルダに接続しているのですが、アクセスできたりできなかったりします。 ファイルを開くときに「ファイルが開けません。ファイル名が正しいか確認してください。」と言われたり WebDAVディレクトリのウィンドウをリロードしたときに多いのは「アクセスできません。このネットワークリソースを使用する許可がない可能性があります。アクセス許可があるかどうかこのサーバーの管理者に問い合わせてください。 ネットワークパスがみつかりません。」 と出て、ウィンドウがグレーになります。その後あきらめずに数回から数十回リロードを繰り返すとたまにファイル一覧が表示されます。 運がよいときはファイルの中身を読んだり、編集して書き込んだり、ファイルを新規作成する事もできます。 その他 クライアント・サーバ共に同じセグメントで固定ローカルIPになっています。 同じapacheのWebサーバへは同じクライアントのブラウザから問題なく表示できます。 同じサーバに構築したSambaのディレクトリは問題なく自由にアクセスできます。 httpd -version : Server version: Apache/2.2.6 (Unix) 以下httpd.confの関係ありそうな部分抜粋 LoadModule dav_module modules/mod_dav.so LoadModule dav_fs_module modules/mod_dav_fs.so # WebDAV module configuration section. <IfModule mod_dav_fs.c> # Location of the WebDAV lock database. DAVLockDB /var/lib/dav/lockdb </IfModule> 上記はデフォルト値のまま、下記は自分でWebDAV用に追加しました。 Alias /webdav "/var/www/html/webdav" <Location /webdav> DAV On Order deny,allow Deny from all Allow from all </Location> 他にバーチャルホストの設定を追加してあります。 ローカルIP・ホスト名・サーバ名(DNSを設定してあります)どれでアクセスしてみてもWebDAVディレクトリへのアクセスは同じように不安定です どの辺りが怪しいか、お気づきの点があればぜひご教授願います。

  • WebDAVの設定について

    お世話になっております。 Windows7+Apache2.2で、 PC内に、dav.example.comというサイトを立ち上げて、 WebDAVの設定を勉強中です。 同じPCのWindowsエクスプローラのネットワーク接続で、 http://dav.example.com/dav だと接続できるのですが、 https://dav.example.com/dav だと接続できません。 Apacheのログからは、以下のとおり401ではじかれています。 192.168.95.131 - - [12/May/2017:21:28:20 +0900] "OPTIONS / HTTP/1.1" 200 - 192.168.95.131 - - [12/May/2017:21:28:20 +0900] "PROPFIND /dav HTTP/1.1" 401 401 以下、httpd.confのVertualHostの部分です。 80のWebDAV設定をそのまま443にコピーしているのですが、うまくいきません。 WebDAVに詳しい方、解決のヒントでもいただければ助かります。 Listen 80 NameVirtualHost *:80 <VirtualHost *:80> ServerName dav.example.com:80 DocumentRoot "C:/Apache2.2/htdocs_example" ErrorLog "C:\Apache2.2\logs\example\error.log" TransferLog "C:\Apache2.2\logs\example\access.log" <IfModule mod_dav_fs.c> DavLockDB logs/DavLock </IfModule> Alias /dav "C:\Apache2.2\htdocs_example\webDAV" <IfModule mod_dav.c> DAVMinTimeout 600 <Location /dav> DAV On AuthType Digest AuthName "DAV" AuthUserFile "C:\Apache2.2\conf\.htdigest" Require valid-user Order deny,allow Allow from all </Location> </IfModule> </VirtualHost> AddType application/x-x509-ca-cert .crt AddType application/x-pkcs7-crl .crl SSLPassPhraseDialog exec:C:\Apache2.2\conf\extra\ssl_pass.bat SSLSessionCache "shmcb:C:/Apache2.2/logs/ssl_scache(512000)" SSLSessionCacheTimeout 300 SSLMutex default Listen 443 NameVirtualHost *:443 <VirtualHost *:443> ServerName dav.example.com:80 DocumentRoot "C:/Apache2.2/htdocs_example" ErrorLog "C:\Apache2.2\logs\example\error.log" TransferLog "C:\Apache2.2\logs\example\access.log" <IfModule mod_dav_fs.c> DavLockDB logs/DavLock </IfModule> Alias /dav "C:\Apache2.2\htdocs_example\webDAV" <IfModule mod_dav.c> DAVMinTimeout 600 <Location /dav> DAV On AuthType Digest AuthName "DAV" AuthUserFile "C:\Apache2.2\conf\.htdigest" Require valid-user Order deny,allow Allow from all </Location> </IfModule> Include conf/extra/ssl/ssl-dav.example.conf </VirtualHost> 以上です。 よろしくお願いします。

  • freeBSD付属のOpenSSLを使ったWebDAVの実現

    WebDAVのSSL化をしようと思って、apache2.2.4(ソースよりインストール)を使ってBasic認証とWebDAVを稼動させることには成功したのですが、SSLを使ったWebDAVはどう設定を変えても実現できません。 configure時には下記のようにオプションを設定しました。 ./configure --with-included-apr --enable-so --with-ssl \ --enable-ssl --enable-dav=yes --enable-shared=yes Webを見ていると--enable-sslにオプションをつけるようかいてあるのですが、どのパスを指定すればいいかわかりません。 どのようにしたらSSLを実現できますでしょうか?

  • Linux+Apache2.0でWebDAVを使いたい・・・

    RedHatLinux9.0でApache2.0をソースからインストールしてWebDAVを利用したいのですがうまくいきません・・・ 現在はソースを解凍して./configure --enable-dav=yes を指定しインストールしています・・・ そしてhttdocs(Apacheホームディレクトリ)に/davを作成してパーミションをテスト用に755に設定・・・ そしてhttpd.confに↓ <Directory "/usr/省略/dav">    DAV On </Directory> を追加し動かしています・・・ そしてLinuxのDAVクライアントCadaverを使用しlocalで接続するのですが・・・ 全然つながりません・・・ むしろ動作していないことになっています・・・ このような状況なのですが分かる方教えてください・・・

  • webDAVの設定

    OSはCentOSです。参考図書どおりにやりましたが、認証が通りません。 1、/var/www/webdavを作りました。(所有者・グループはApacheです) 2、/var/lock/webdav(Apache:Apache)とロックファイルを作成するディレクトリも作りました。 3、/etc/httpd/conf.d/dav.confを作りました。(内容は省略しますが  図書どおりです)SSLはコメントアウトしています。(実験段階なので)何度も見直しました。 4、#htpasswd -c でユーザーとパスワード設定しました。 httpdをスタートさせます。もちろん、モジュールはコメントになっていません。 Windowsからアクセスします。認証画面が出ます。ユーザー名パスワードを入れます。しかし、パスワードが違うと出るんです。 原因不明です。他の、sambaとかの認証はうまくいきます。 httpd.confの中で設定ってありましたでしょうか? 以前Fedora4でやったときはうまくいったのですが、そのときの設定メモを取っていなかったので、何か忘れていますでしょうか?

  • WebDAVの構築法

    WebDAVの設定を行っているのですが正常動作を行いません。 OS環境:Red Hat Linux7.2で Apache1.3.24をWebDAVサーバーとして利用したい考えています。 設定方法は以下のホームページを参考にしました。 http://webdav.todo.gr.jp/howto/install-mod_dav.html 【考えられる原因】 まず最初にインストールですが ./configure --with-apxs=/usr/local/apache/bin/apxs と入力しMakeコマンドを実行すると 「Make:”All”に対して行うべきことはありません」 というメッセージが表示されました。 これはどういう意味なのでしょうか? とりあえずメッセージを無視して Makeインストールすると成功した模様です。 次にhttp.conf(設定ファイル)の確認を行いました。 AddModule mod_dav.cという構文がなかったので 追加するとコンフィグテストで 「mod_dav.c is already added,skipping」 syntax OK と表示されましたがこれもよく原因が分かりません。 最終的に設定ファイルには ... DAVLockDB /usr/local/apache/var/DAVLock DAVMinTimeout 600 <Location /mypages> DAV On </Location> ... と追加しサービスの再起動後、telnetでの動作確認を行いました。 しかしAllow ヘッダーの項目にはWebDAVで追加されるメソッドを 確認することができませんでした。 どうすればWebDAVサーバを正常動作できるのでしょうか? よろしくお願いします。

  • 認証ありのWebDAVでのアクセス

    お世話になっております vmware serverを使い、ホストOS(WINDOWS)→ゲストOS(Linux)間でWebdavでの接続を試みます WINDOWS側でネットワークプレースの追加ウィザードを立ち上げ アドレスを"http://10.68.215.215/webdav"と入力 認証ウインドウ表示後、ユーザ名とパスワードを入力しますがはじかれてしまいます(OK押下後、再度認証ウインドウが表示) さらに認証ウインドウにはAuthNameの設定も反映されておりません(Authname "WebDAV"と設定したのにConnecting to 10.68.215.215と表示) 認証ありのWebDAVサービスを使いフォルダにアクセスするにはどうしたらいいでしょうか どなたか御教授ください 【パラメータ】 *ホストOS* WINDOWS XP Pro SP2 ファイアーウォール 無効 ip 10.68.215.95 *ゲストOS* Linux CentOS 5.0 SELinux 無効 ファイアーウォール 無効 ip 10.68.215.215 【設定内容】 /etc/httpd/conf.d/webdav.confの内容 <Location "/webdav"> DAV On AllowOverride None Options None AuthType basic AuthName "WebDAV" AuthUserFile /etc/httpd/conf/.htpasswd Require valid-user Allow from all </Location> /webdavのパーミッション、所有者 drwxrwxrwx+ 2 apache apache 4096 4月 8 22:46 webdav /etc/httpd/conf/.htpasswdの内容 centos:hE.ZDT47X1JtQ test:k0nNfcOEag5WQ user:xDMtj6bdx6gnM 【切り分け】 (1)tracert 10.68.215.95 → 10.68.215.215 OK (2)ログ /var/log/httpd/access_log 10.68.215.95 - - [10/Apr/2008:10:45:39 +0900] "OPTIONS / HTTP/1.1" 200 - "-" "Microsoft-WebDAV-MiniRedir/5.1.2600" 10.68.215.95 - - [10/Apr/2008:10:45:39 +0900] "PROPFIND /webdav HTTP/1.1" 401 479 "-" "Microsoft-WebDAV-MiniRedir/5.1.2600" 10.68.215.95 - "" [10/Apr/2008:10:45:39 +0900] "PROPFIND /webdav HTTP/1.1" 401 479 "-" "Microsoft-WebDAV-MiniRedir/5.1.2600" /var/log/httpd/error_log [Thu Apr 10 10:48:22 2008] [error] [client 10.68.215.95] user not found: /webdav (3)WINDOWSの仕様(?)で認証時にユーザ名の頭にサーバ名を勝手に入れてしまうらしいので、htpasswdでサーバ名を含むユーザ名を登録し、再度認証 →現象変わらず (4)ローカル(Linux→Linux)からのWebDAVアクセス 可能 (5)認証なしのWebdav接続 → WINDOWSから接続 OK   Linux殻接続 OK (6)WebDAVサーバ接続時のペーシック認証を有効(WINDOWSの設定) HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\WebClient\Parameters\UseBasicAuth 値のデータ "1" →"1","0"だろうが現象変わらず 以上、よろしくおねがいします