|
Last-modified: 2012-07-10 (火) 14:32:05 (3985d)
Apache HTTP Serverに関しては、書籍や解説記事が数多くありますので、今更ここに書くようなこともほとんど無いんですけどね。 (2011/08/06) WebDAV †1ヶで数GBのファイルを含むフォルダは、ApacheではWebDAV公開できない。【未解決】 † 私の場合、VMwareのイメージファイルで18GBってのがあってNGでした。IIS 5.1のWebDAVでは問題ないのですが…。 CIFSもWebDAV公開できる †Windowsネットワーク共有で、例えば「\\192.168.176.3\e」だと Alias /e "//192.168.176.3/e" <Directory "//192.168.176.3/e"> と設定できます。(参考) <Directory>の代わりに <Location /e> も可。 Alias /f01 "//192.168.176.3/e/folder01" <Directory "//192.168.176.3/e/folder01"> ただし、Apacheプロセス(httpd.exe)実行アカウントが、そのCIFSに対して権限を持っている必要があります。通常、httpd.exeは、Windowsサービスとして、"Local System Account"で実行されていると思いますが、それを変更する必要があるってことです。 ForceType text/plain を設定しちゃダメ †WebDAVのGETメソッドで*.phpや*.plが実行されてしまい、ダウンロード・アップロードできなくなるのを防ぐために、 ForceType text/plain を設定せよというWeb記事も散見します。が、これを設定すると、100MB超のPDFファイルが転送で破損したりしました。 AddType text/plain .php .pl ...... いやいや、binary扱いすればいいんじゃないですかね? Forcetype application/octet-stream DavLockDBを設定しよう †DavLockDBは、同じファイルを二人が操作できないようにするためのものらしいので、1行設定しておきましょう。 DavLockDB "logs/DavLock" FrontPage Server Extension対策をしよう †WindowsのWebFolderから使うと、 File does not exist: /home/httpd/html/_vti_inf.html 等の[error]ログが出てウザイ。 Header add MS-Author-Via "DAV" と設定し、このエラーを回避しましょう。(参考) 全Methodに認証つけると、WindowsのWebFolderから接続できなくなる!? †全てのHTTP Methodに認証をかけると、WindowsのWebFolderから使えなくなることがあるようです。他のWebDAVアプリでは問題ないのですけど…。 <LimitExcept OPTIONS> Require valid-user </LimitExcept> として、OPTIONSから認証を外すと不具合が解消しました。詳細は不明。 Digest認証対応が不十分なClientも居るかも!? †iPadアプリ「i文庫HD」のWebDAVフォルダから利用すると、時々、 Digest: client used wrong authentication scheme `Basic': なんて[error]ログが出ます。ApacheのDigest認証と折り合いが悪いのかしら? でも、iPadの使用には全く問題なく、ログを見なければ気づきません。 mod_encodingはもう要らない † NTFS・CIFS上の日本語ファイル名・フォルダ名も、今や文字化けしません。Charset等の設定も、defaultのままでOKです。 SSL †(今や常識ですが)Port:80用のVirtualHost設定は不要 †<VirtualHost _default_:443> を追加したからといって、 <VirtualHost *:80> をわざわざ設定しなくても、Port:80は活きたままです。 ユーザーのOSにルート証明がInstallされていないサーバー証明書の場合 † 「そのサーバー証明書を信頼しろ」と指示が必要になるでしょう。特にSSL参照するアプリ等に影響が。 str << " --no-auth-cache --non-interactive" を str << " --no-auth-cache --non-interactive --trust-server-cert" に変えました。 Subversion †URLパス末尾には'/'をつけろ †<Location /svn> ではなく、 <Location /svn/> でないと、リポジトリ一覧が表示されませんでした。なので、 <IfModule mod_rewrite.c> RewriteEngine On RewriteCond %{REQUEST_URI} ^/svn$ RewriteRule ^(/svn)$ /svn/ [R=301,L] </IfModule> として、末尾の'/'を強制しています。 httpsを使え †http(port:80)でのSubversion利用だと、職場等のWeb-Proxyによっては"Bad Gateway"を返すことがあります。https(port:443)だと問題なさそうです。 |