ユーザーが自分の Web ページを保守したい場合があります。サーバー上のすべてのユーザーが管理者の介入なしにホームページやその他のドキュメントを作成できるようにするための、公開情報ディレクトリを構成できます。
クライアントはこのシステムを使用することで、サーバーが公開情報ディレクトリとして認識する特定の URL を使ってサーバーにアクセスすることができます。たとえば、プレフィックス ~ とディレクトリ public_html を選択したとします。サーバーは、http://www.sun.com/~jdoe/aboutjane.html に対する要求を受信すると、~jdoe があるユーザーの公開情報ディレクトリを参照していると認識します。サーバーは、システムのユーザーデータベース内で jdoe を検索し、Jane のホームディレクトリを見つけます。そこでサーバーは、~/jdoe/public_html/aboutjane.html を検索します。
公開ディレクトリを使用するようにサーバーを構成するには、次の手順に従います。
仮想サーバーのページから「コンテンツ処理」タブをクリックします。
「ドキュメントディレクトリ」をクリックします。
「ユーザードキュメントディレクトリ」の下でユーザー URL プレフィックスを選択します。
通常使用されるプレフィックスは ~ です。なぜなら、チルド文字が、ユーザーのホームディレクトリにアクセスするための標準 UNIX/Linux プレフィックスであるからです。
HTML ファイルの検索場所として使用する、ユーザーのホームディレクトリ内のサブディレクトリを選択します。
典型的なディレクトリは、public_html です。
パスワードファイルを指定します。
サーバーは、システム上のユーザーのリストを含むファイルをどこで検索すべきかを知る必要があります。サーバーは、このファイルを使用することで、有効なユーザー名を決定し、それらのユーザーのホームディレクトリを見つけます。システムのパスワードファイルをこの目的で使用する場合、サーバーは標準ライブラリ呼び出しを使ってユーザーの検索を行います。あるいは、別のユーザーファイルをユーザー検索用として作成することもできます。そのユーザーファイルは、絶対パスを使って指定できます。
ファイル内の各行が次の構造になるようにしてください (/etc/passwd ファイル内の不要な要素は * で示してある)。
username:*:*:groupid:*:homedir:*
起動時にパスワードデータベースを読み込むかどうかを選択します。
「保存 」をクリックします。
詳細については、「ユーザードキュメントディレクトリ」ページに対するオンラインヘルプを参照してください。
ユーザーに個別のディレクトリを割り当てるための、もう 1 つの方法は、すべてのユーザーが変更可能な中央ディレクトリへの URL マッピングを作成することです。
状況によっては、システム管理者が、ユーザードキュメントディレクトリ経由でのユーザーアカウントによるコンテンツ発行を制限したい場合があります。ユーザーの発行を制限するには、/etc/passwd ファイルで、ユーザーのホームディレクトリパスの末尾にスラッシュを追加します。
jdoe::1234:1234:John Doe:/home/jdoe:/bin/sh
これは次のようになります。
jdoe::1234:1234:John Doe:/home/jdoe/:/bin/sh
この変更が完了すると、Web Server は、このユーザーのディレクトリからページを提供しないようになります。この URI を要求したブラウザは「404 ファイルが見つからない」エラーを受け取り、Web サーバーのアクセスログに 404 エラーが記録されます。エラーログには何のエラーも記録されません。
あとになって、このユーザーにコンテンツ発行を許可することにした場合は、/etc/passwd エントリの末尾のスラッシュを削除したあと、Web サーバーを再起動します。
パスワードファイルの全体を起動時に読み込むオプションも用意されています。このオプションを選択すると、サーバーが起動時にパスワードファイルをメモリー内に読み込むようになるため、ユーザー検索が大幅に高速化されます。ただし、パスワードファイルが非常に大きい場合にこのオプションを選択すると、メモリー使用量が多くなりすぎる可能性があります。