mod_userdir - Apache HTTP サーバ

Apache Server 2.0

<-

Apache モジュール mod_userdir

説明:ユーザ専用のディレクトリを提供
ステータス:Base
モジュール識別子:userdir_module
ソースファイル:mod_userdir.c

概要

このモジュールは、 http://example.com/~user/ 構文を使ってユーザ専用ディレクトリにアクセスできるようにします。

top

UserDir ディレクティブ

説明:ユーザ専用ディレクトリの位置
構文:UserDir directory-filename
デフォルト:UserDir public_html
コンテキスト:サーバ設定ファイル, バーチャルホスト
ステータス:Base
モジュール:mod_userdir

UserDir ディレクティブは、 ユーザのドキュメントへのリクエストを受けた時に使う ユーザのホームディレクトリ中の、実際のディレクトリを 設定します。 directory-filename には次のどれかを指定します:

  • ディレクトリ名か下に示すようなパターン。
  • disabled キーワード。 enabled キーワード (下記参照) で明示的に 指定されたユーザ以外の 全てのユーザ名-ディレクトリ変換を しないようにします。
  • disabled キーワードと、スペース区切りのユーザ名リスト。 このリスト中に含まれるユーザ名に対しては、たとえ enabled 節にあったとしても、 決してディレクトリ変換は行われません。
  • enabled キーワードとスペース区切りのユーザ名リスト。 全体では変換が無効になっていたとしても、 これらのユーザ名にはディレクトリ変換が行われます。 ただし、disabled 節にもあれば変換はされません。

もし enableddisabled キーワードも UserDir に現われていなければ、 引数はファイル名パターンとして扱われ、 名前からディレクトリへの変換の指定を行なう時に使われます。 http://www.foo.com/~bob/one/two.html へのリクエストは次のように変換されます:

UserDir ディレクティブ 変換後のパス
UserDir public_html~bob/public_html/one/two.html
UserDir /usr/web/usr/web/bob/one/two.html
UserDir /home/*/www/home/bob/www/one/two.html

次のディレクティブはクライアントに対してリダイレクトを 送信します:

UserDir ディレクティブ 変換後のパス
UserDir http://www.foo.com/usershttp://www.foo.com/users/bob/one/two.html
UserDir http://www.foo.com/*/usrhttp://www.foo.com/bob/usr/one/two.html
UserDir http://www.foo.com/~*/http://www.foo.com/~bob/one/two.html
このディレクティブを使うときは注意してください; "UserDir ./" は "/~root" から "/" へマップしますが、 これは望ましい動作ではないでしょう。 "UserDir disabled root" 宣言を 設定の中に含めておくことを強くお薦めします。 追加情報に Directory ディレクティブや セキュリティ Tips のページもご覧下さい。

追加の例:

少数のユーザのみが UserDir ディレクトリを利用し、それ以外には利用させたくない場合は 次を使いましょう:

UserDir disabled
UserDir enabled user1 user2 user3

大部分のユーザは UserDir ディレクトリを利用するけれど、 少数の人は不許可にしたい場合は、次を使いましょう:

UserDir enabled
UserDir disabled user4 user5 user6

他のユーザディレクトリを指定することもできます。 次のようなコマンドを使うと:

Userdir public_html /usr/web http://www.foo.com/

http://www.foo.com/~bob/one/two.html へのリクエストはまず ~bob/public_html/one/two.html のページを調べ、その次に /usr/web/bob/one/two.html を調べ、最後に http://www.foo.com/bob/one/two.html へのリダイレクトを送ります。

リダイレクトを加える場合は、リストの最後の選択肢でなければなりません。 Apache はリダイレクトが成功するかどうかを決めることはできませんので、 リストの前の方にリダイレクトを書くと、それが必ず使用される選択肢に なってしまいます。

参照