免責事項: このページは Microsoft Corpolation の Windows2000 Professional にApache Web Server と mod_dav for Win32 を導入した際の個人的な覚え書きです。もし貴方がこのページに書かれた内容を参考にして各種ソフトウェアの導入・設定・実行・運用を行い、それによって貴方が何らかの損害を被ったとしても当方は責任を負い兼ねますので予め御了承下さい。なお誤り等を発見された方はご指摘のメールを頂けると非常に有難いので宜しくお願いします。:D
まず最初にmod_davのコンパイル済みバイナリを入手します。mod_dav for Win32 オフィシャルページの"Download"セクションから最新版を辿ってください。ちなみに今回は2001//1/7現在の最新版である
mod_dav-1.0.2.zip
をダウンロードしました。ダウンロードが終ったらどこか適当な場所に展開しておいてください。
続いてWindows版のApache Web Server(以下 Apache for Windows)です。こちらはApache Projectのバイナリ配布等から入手してください。今回はOCNのRINGサーバ(ようするに作業環境からネットワーク的に最も近いミラーサイト)から
apache_1_3_14_win32_r2.exe
(先にダウンロードしたmod_davが対応している最も新しいバージョン)をダウンロードしました。ダウンロードが終ったらファイルを実行してインストールします。ちなみに以降の説明はインストール方法およびインストール先は標準設定のままであることを前提としますので注意してください。標準の設定でインストールした場合、Apache for Windowsは
C:\Program Files\Apache Group\Apache\
にインストールされます(以降このディレクトリをベースディレクトリと呼びます)。Apacheは基本的に以下のようなファイル配置になっています。
Apache
- ベースディレクトリ
apache.exe
- 実行ファイルbin
- ユーティリティ
htpasswd.exe
- パスワード管理プログラムcgi-bin
- CGI格納用ディレクトリconf
- 設定
httpd.conf
- 最も重要な設定ファイルlogs
- ログ
access.log
- アクセスの記録error.log
- エラーの記録htdocs
- サンプル文書xmlparse.dll
xmltok.dll
mod_davを展開した先にあるディレクトリ
1.3.14_module
の中にあるmod_dav.dll
を上記のmodules
ディレクトリの中へコピーします。ちなみにもしApache for Windowsのベースディレクトリ内にxmlparse.dll
とxmltok.dll
が無い場合は同じくmod_davの展開先から同名のDLLファイルをApacheのベースディレクトリにコピーしておいて下さい(もし既にある場合はそちらを使用します)。ここでひとまず Apache for Windows が正常に動くかどうか確かめてみましょう。コマンドプロンプトでC:\Program Files\Apache Group\Apache
に移動してapache.exe
を起動します。C:\Program Files\Apache Group\Apache>apache
続いてInternet Explorer等から
http://127.0.0.1/
(Apacheを動かしているマシンがホスト名を持っている場合はIPアドレスのかわりにホスト名で開いてもかまいません)を開いてみてください。このような画面が表示されればApacheは正常に動作しています。お使いのブラウザまたは環境によってはメッセージが英語かもしれません。ではようやく
mod_dav
の設定です。ここではhttp://127.0.0.1/~kotone/shared/
、つまりユーザー名 kotone さんのshared
ディレクトリを共有することにします。「~(チルダ)+ユーザー名」という形式でユーザディレクトリを参照したい場合、Apache for Windowsではユーザデータを格納するためのディレクトリ(以下ユーザディレクトリ)を用意し、その中に各ユーザー名と同じ名前のディレクトリを作成します。またhttpd.conf
のUserir
で先程のユーザディレクトリを指定します。ここではユーザディレクトリはE:\users
とします。エディタ等でhttpd.conf
を開いたら、まず#LoadModule headers_module modules/ApacheModuleHeaders.dll
という行を探して先頭の # を削除してください。
LoadModule headers_module modules/ApacheModuleHeaders.dll
続いて
<IfModule mod_userdir.c>
UserDir "C:/Program Files/Apache Group/Apache/users/"
</IfModule>という行を探し、
UserDir
の部分を書き換えます。<IfModule mod_userdir.c>
UserDir "E:/users"
</IfModule>最後に以下の一文を書き加えます。ちなみに
DAVLockDB
で指定しているパスは適当な場所で構いません。dav_lock
という名前も適当なもので構いません。たとえば「"C:\dav_lock"」や「"C:/Program Files/Apache Group/Apache/dav_lock"」等でも大丈夫です。また共有ディレクトリを利用可能なユーザー名およびパスワードを記したファイルの保存先であるAuthUserFile
も適宜変更して構いません。LoadModule dav_module modules/mod_dav.dll
DAVLockDB "D:/tmp/dav_lock"
<Location /~kotone/shared>
DAV On
Header add MS-Author-Via "DAV"
AuthUserFile "C:/Program Files/Apache Group/Apache/user.passwd"
AuthName Authorize
AuthType basic
Options Includes FollowSymLinks Indexes
<Limit PUT POST DELETE PROPFIND PROPPATCH MKCOL COPY MOVE LOCK UNLOCK>
Require user kotone
</Limit>
</Location>最後にパスワードファイルを作成して利用可能なユーザー名とパスワードを指定します。前述の設定では
Require user
に kotone とだけしか書いていないので、kotone さんだけしか使えないことになりますが、上記のように共有ファイルへのフルアクセスを許可しているような状況では「必要最小限の範囲(ボリューム)のみ共有」および「必要最低限のユーザのみ利用を許可する」という方針を取っておいた方が無難でしょう。パスワードファイルの作成およびパスワードの指定はbin
ディレクトリのhtpasswd.exe
を使います。コマンドプロンプトを開いてApacheのベースディレクトリへ移動しhtpasswd.exe -c パスワードファイル名 ユーザー名
を実行してパスワードを入力します。
C:\Program Files\Apache Group\Apache>bin\htpasswd -c user.passwd kotone
Automatically using MD5 format on Windows.
New password: ********
Re-type new password: ********
Adding password for user kotone以上でサーバ側の設定は完了です。再度Apacheを起動してください。
C:\Program Files\Apache Group\Apache>apache
ちなみにWindows2000等ではApacheをサービスとして登録することでWindowsが起動する際自動的に Apache をバックグラウンドで走らせておくことが可能です。スタートメニューから「Apache Web Server」を開き「Apache as Service」の「Install service」を選択するとサービスに登録、「Unistall service」を選択すると登録解除されます。なおサービスで運用する際に設定を変更した場合は同じく「Apache as Service」内の「Restart Service」で Apache を再起動させて変更された設定を反映させます。
サーバ側の設定に問題がなければ :-P クライアント側の設定は非常に簡単です。デスクトップの「マイ ネットワーク」から「ネットワーク プレースの追加」を選んで
http://127.0.0.1/~kotone/shared/
を指定します。もちろんIPアドレス(127.0.0.1
)のかわりに(そのマシンの)ホスト名でも構いません。以下ではホスト名で指定しています。「次へ」で進むとユーザー名とパスワードを尋ねられますので、先程のユーザー名とパスワードを入力します。
これで準備が整いました。
完了すると
/~kotone/shared/
がWebフォルダとして開かれるはずです。あとは通常のエクスプローラと同様にファイルをコピー、削除、リネームすることが可能ですが、ここで一つだけ大きな問題があります。それは日本語のファイル名が使えないことです。正確には、ハードディスク上を直接参照する場合、およびWebブラウザから参照する場合には日本語のファイル名が正しく表示されるのですが、エクスプローラからWebフォルダとして開いた場合のみ日本語のファイル名が正しく表示されません。まあ日本語のファイル名を使わなければ問題はないのですが、たとえばWebフォルダの中に(Webフォルダ経由で)フォルダを新規作成した場合、エクスプローラは通常最初に「新しいフォルダ」という名前でフォルダを作成するので困ったことになってしまいます。恐らくエクスプローラとApacheでファイル名をやりとりする際の文字コードの問題だと思うのですが、どうにかこれをfixする方法は無いですかねぇ…
Finderの「移動」メニューから「サーバへ接続...」を選択、左上のプルダウンメニューから
Web Servers
を選んで「URL:」欄に先程と同じようにWebフォルダのURL「http://kudryavka/~kotone/shared/
」を入力します。続いてユーザ名とパスワードを入力
これでデスクトップにエイリアスが作成されます。
多分こちらもWindows2000での場合と同様日本語のファイル名の問題があるかと思われます。出来るだけ日本語のファイル名は使わない方が無難かな?