public_html.xml.ja revision 353bea4bd4f2d567232d91686f797810bc176f2e
66267bcb678a9c341272c323b299337bcfdb7cc5Christian Maeder<?xml version="1.0" encoding="UTF-8" ?>
66267bcb678a9c341272c323b299337bcfdb7cc5Christian Maeder<!DOCTYPE manualpage SYSTEM "/style/manualpage.dtd">
66267bcb678a9c341272c323b299337bcfdb7cc5Christian Maeder<?xml-stylesheet type="text/xsl" href="/style/manual.ja.xsl"?>
66267bcb678a9c341272c323b299337bcfdb7cc5Christian Maeder<!-- English Revision: 1591191 -->
66267bcb678a9c341272c323b299337bcfdb7cc5Christian Maeder
66267bcb678a9c341272c323b299337bcfdb7cc5Christian Maeder<!--
ffd01020a4f35f434b912844ad6e0d6918fadffdChristian Maeder Licensed to the Apache Software Foundation (ASF) under one or more
66267bcb678a9c341272c323b299337bcfdb7cc5Christian Maeder contributor license agreements. See the NOTICE file distributed with
66267bcb678a9c341272c323b299337bcfdb7cc5Christian Maeder this work for additional information regarding copyright ownership.
fb69cd512eab767747f109e40322df7cae2f7bdfChristian Maeder The ASF licenses this file to You under the Apache License, Version 2.0
fb69cd512eab767747f109e40322df7cae2f7bdfChristian Maeder (the "License"); you may not use this file except in compliance with
fb69cd512eab767747f109e40322df7cae2f7bdfChristian Maeder the License. You may obtain a copy of the License at
e8ffec0fa3d3061061bdc16e44247b9cf96b050fChristian Maeder
fb69cd512eab767747f109e40322df7cae2f7bdfChristian Maeder http://www.apache.org/licenses/LICENSE-2.0
e8ffec0fa3d3061061bdc16e44247b9cf96b050fChristian Maeder
e8ffec0fa3d3061061bdc16e44247b9cf96b050fChristian Maeder Unless required by applicable law or agreed to in writing, software
628310b42327ad76ce471caf0dde6563d6fa6307Christian Maeder distributed under the License is distributed on an "AS IS" BASIS,
e8ffec0fa3d3061061bdc16e44247b9cf96b050fChristian Maeder WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
e8ffec0fa3d3061061bdc16e44247b9cf96b050fChristian Maeder See the License for the specific language governing permissions and
30203b61afb4393c8e459470b3a16d1fe26acc7fChristian Maeder limitations under the License.
e8ffec0fa3d3061061bdc16e44247b9cf96b050fChristian Maeder-->
712f5e5ca1c3a5cfdd28518154ecf2dd0994cdb5Christian Maeder
da245da15da78363c896e44ea97a14ab1f83eb50Christian Maeder<manualpage metafile="public_html.xml.meta">
f71a8dcf94fd9eb3c9800e16dcdc5e5ff74e5c22Christian Maeder<parentdocument href="./">How-To / チュートリアル</parentdocument>
e8ffec0fa3d3061061bdc16e44247b9cf96b050fChristian Maeder
024621f43239cfe9629e35d35a8669fad7acbba2Christian Maeder <title>ユーザ毎のウェブディレクトリ</title>
c00adad2e9459b422dee09e3a2bddba66b433bb7Christian Maeder
c18e9c3c6d5039618f1f2c05526ece84c7794ea3Christian Maeder<summary>
c18e9c3c6d5039618f1f2c05526ece84c7794ea3Christian Maeder<p>複数のユーザのいるシステムでは、<directive
024621f43239cfe9629e35d35a8669fad7acbba2Christian Maeder module="mod_userdir">UserDir</directive> ディレクティブを使って
cf3232cec840a6945667bdb06f5b47b22243bc8fChristian Maeder 各ユーザがホームディレクトリにウェブサイトを構築できるように設定することが
cf3232cec840a6945667bdb06f5b47b22243bc8fChristian Maeder 可能です。URL <code>http://example.com/~username/</code> を訪れた人は
ac07a6558423dae7adc488ed9092cd8e9450a29dChristian Maeder "<code>username</code>" というユーザの <directive
51281dddda866c0cda9fca22bf6bc4eea7128112Christian Maeder module="mod_userdir">UserDir</directive> ディレクティブで指定された
51281dddda866c0cda9fca22bf6bc4eea7128112Christian Maeder サブディレクトリからコンテンツを得ることになります。</p>
300ce2662e9abb115f7aa4e0a99c172a05ba454dChristian Maeder
ac07a6558423dae7adc488ed9092cd8e9450a29dChristian Maeder <p>in the default config file, and adapting the <code
cf3232cec840a6945667bdb06f5b47b22243bc8fChristian Maeder >httpd-userdir.conf</code>
cf3232cec840a6945667bdb06f5b47b22243bc8fChristian Maeder file as necessary, or by including the appropriate directives in a
cf3232cec840a6945667bdb06f5b47b22243bc8fChristian Maeder <code>Directory</code> block within the main config file.</p>
cf3232cec840a6945667bdb06f5b47b22243bc8fChristian Maeder <p>デフォルトではこれらのディレクトリへのアクセスは<strong>許可されていません</strong>。
df638d53c2d5fe5e80b943a58609c8936848ed82Christian Maeder <directive module="mod_userdir">UserDir</directive> を使って有効にできます。
df638d53c2d5fe5e80b943a58609c8936848ed82Christian Maeder 有効にするには、デフォルトの設定ファイルで付随する
df638d53c2d5fe5e80b943a58609c8936848ed82Christian Maeder <code>httpd-userdir.conf</code> ファイルが必要で、
fb50920e621bfc152c19147cb52077ff06b3526bChristian Maeder その中の次の行のコメントアウトを外して有効にするか、
fb50920e621bfc152c19147cb52077ff06b3526bChristian Maeder </p>
fb50920e621bfc152c19147cb52077ff06b3526bChristian Maeder <example>
fb50920e621bfc152c19147cb52077ff06b3526bChristian Maeder #Include conf/extra/httpd-userdir.conf
df638d53c2d5fe5e80b943a58609c8936848ed82Christian Maeder </example>
fb50920e621bfc152c19147cb52077ff06b3526bChristian Maeder <p>あるいは、メインの設定ファイル中の <code>Directory</code>
fb50920e621bfc152c19147cb52077ff06b3526bChristian Maeder ブロックの中に適切にディレクティブを記述しておきます。</p>
df638d53c2d5fe5e80b943a58609c8936848ed82Christian Maeder</summary>
df638d53c2d5fe5e80b943a58609c8936848ed82Christian Maeder
df638d53c2d5fe5e80b943a58609c8936848ed82Christian Maeder<seealso><a href="/urlmapping.html">URL からファイルシステムへのマッピング</a></seealso>
df638d53c2d5fe5e80b943a58609c8936848ed82Christian Maeder
df638d53c2d5fe5e80b943a58609c8936848ed82Christian Maeder <section id="related">
df638d53c2d5fe5e80b943a58609c8936848ed82Christian Maeder <title>ユーザ毎のウェブディレクトリ</title>
fb50920e621bfc152c19147cb52077ff06b3526bChristian Maeder <related>
fb50920e621bfc152c19147cb52077ff06b3526bChristian Maeder <modulelist>
fb50920e621bfc152c19147cb52077ff06b3526bChristian Maeder <module>mod_userdir</module>
df638d53c2d5fe5e80b943a58609c8936848ed82Christian Maeder </modulelist>
df638d53c2d5fe5e80b943a58609c8936848ed82Christian Maeder <directivelist>
df638d53c2d5fe5e80b943a58609c8936848ed82Christian Maeder <directive module="mod_userdir">UserDir</directive>
df638d53c2d5fe5e80b943a58609c8936848ed82Christian Maeder <directive module="core">DirectoryMatch</directive>
fb69cd512eab767747f109e40322df7cae2f7bdfChristian Maeder <directive module="core">AllowOverride</directive>
cf3232cec840a6945667bdb06f5b47b22243bc8fChristian Maeder </directivelist>
c18e9c3c6d5039618f1f2c05526ece84c7794ea3Christian Maeder </related>
c18e9c3c6d5039618f1f2c05526ece84c7794ea3Christian Maeder </section>
cf3232cec840a6945667bdb06f5b47b22243bc8fChristian Maeder
14b47f7dabb39996a31c7286810a5897587aed3aChristian Maeder <section id="userdir">
ac07a6558423dae7adc488ed9092cd8e9450a29dChristian Maeder <title>UserDir を使ってファイルのパスを設定する</title>
fb69cd512eab767747f109e40322df7cae2f7bdfChristian Maeder
31242f7541fd6ef179e4eb5be7522ddf54ae397bChristian Maeder <p><directive module="mod_userdir">UserDir</directive> ディレクティブは
31242f7541fd6ef179e4eb5be7522ddf54ae397bChristian Maeder ユーザ毎のコンテンツが読み込まれるディレクトリを指定します。
31242f7541fd6ef179e4eb5be7522ddf54ae397bChristian Maeder このディレクティブはいろいろ違った形式を取ることができます。</p>
31242f7541fd6ef179e4eb5be7522ddf54ae397bChristian Maeder
628310b42327ad76ce471caf0dde6563d6fa6307Christian Maeder <p>スラッシュで始まらないパスが与えられたときは、ユーザのホームディレクトリ
628310b42327ad76ce471caf0dde6563d6fa6307Christian Maeder からの相対パスとみなされます。次の設定があったときに:</p>
628310b42327ad76ce471caf0dde6563d6fa6307Christian Maeder
628310b42327ad76ce471caf0dde6563d6fa6307Christian Maeder <highlight language="config">UserDir public_html</highlight>
628310b42327ad76ce471caf0dde6563d6fa6307Christian Maeder
04dada28736b4a237745e92063d8bdd49a362debChristian Maeder <p>URL <code>http://example.com/~rbowen/file.html</code> は
04dada28736b4a237745e92063d8bdd49a362debChristian Maeder パス <code>/home/rbowen/public_html/file.html</code> へ
31242f7541fd6ef179e4eb5be7522ddf54ae397bChristian Maeder 変換されます。</p>
628310b42327ad76ce471caf0dde6563d6fa6307Christian Maeder
628310b42327ad76ce471caf0dde6563d6fa6307Christian Maeder <p>パスがスラッシュで始まるときは、ディレクトリパスはそのパスに
628310b42327ad76ce471caf0dde6563d6fa6307Christian Maeder ユーザ名を加えたものからなります。次の設定のとき:</p>
628310b42327ad76ce471caf0dde6563d6fa6307Christian Maeder
628310b42327ad76ce471caf0dde6563d6fa6307Christian Maeder <highlight language="config">UserDir /var/html</highlight>
628310b42327ad76ce471caf0dde6563d6fa6307Christian Maeder
628310b42327ad76ce471caf0dde6563d6fa6307Christian Maeder <p>URL <code>http://example.com/~rbowen/file.html</code> は
712f5e5ca1c3a5cfdd28518154ecf2dd0994cdb5Christian Maeder パス <code>/var/html/rbowen/file.html</code> へ変換されます。</p>
628310b42327ad76ce471caf0dde6563d6fa6307Christian Maeder
ffd01020a4f35f434b912844ad6e0d6918fadffdChristian Maeder <p>アスタリスク (*) を含むパスが指定されたときは、アスタリスクを
ffd01020a4f35f434b912844ad6e0d6918fadffdChristian Maeder ユーザ名で置換したものが使用されます。このような設定だと:</p>
ffd01020a4f35f434b912844ad6e0d6918fadffdChristian Maeder
f0742398d4587242b1a115de113cd17f63dcb6d0Christian Maeder <highlight language="config">UserDir /var/www/*/docs</highlight>
f0742398d4587242b1a115de113cd17f63dcb6d0Christian Maeder
f0742398d4587242b1a115de113cd17f63dcb6d0Christian Maeder <p>URL <code>http://example.com/~rbowen/file.html</code> は
f0742398d4587242b1a115de113cd17f63dcb6d0Christian Maeder パス <code>/var/www/rbowen/docs/file.html</code> へ変換されます。</p>
f0742398d4587242b1a115de113cd17f63dcb6d0Christian Maeder
cf3232cec840a6945667bdb06f5b47b22243bc8fChristian Maeder <p>ディレクトリやディレクトリパスを複数設定することもできます。</p>
f71a8dcf94fd9eb3c9800e16dcdc5e5ff74e5c22Christian Maeder
cf3232cec840a6945667bdb06f5b47b22243bc8fChristian Maeder <highlight language="config">UserDir public_html /var/html</highlight>
f71a8dcf94fd9eb3c9800e16dcdc5e5ff74e5c22Christian Maeder
c39be436ee9b0c08f9cb0c08988fcf5a5b147db9Christian Maeder
cf3232cec840a6945667bdb06f5b47b22243bc8fChristian Maeder <p><code>http://example.com/~rbowen/file.html</code> という
fb69cd512eab767747f109e40322df7cae2f7bdfChristian Maeder URL に対しては <code>~rbowen</code> を探します。見つからなければ、
4954b30d3c209d7dee4e43016cee8189daf646e8Christian Maeder <code>/var/html</code> の下にある <code>rbowen</code> を探します。
4954b30d3c209d7dee4e43016cee8189daf646e8Christian Maeder もし見つかれば上記の URL は <code>/var/html/rbowen/file.html</code>
4954b30d3c209d7dee4e43016cee8189daf646e8Christian Maeder というファイルパスに変換されます。</p>
4954b30d3c209d7dee4e43016cee8189daf646e8Christian Maeder
4954b30d3c209d7dee4e43016cee8189daf646e8Christian Maeder </section>
4954b30d3c209d7dee4e43016cee8189daf646e8Christian Maeder
4954b30d3c209d7dee4e43016cee8189daf646e8Christian Maeder <section id="redirect">
4954b30d3c209d7dee4e43016cee8189daf646e8Christian Maeder <title>外部 URL にリダイレクトする</title>
4954b30d3c209d7dee4e43016cee8189daf646e8Christian Maeder <p><directive module="mod_userdir">UserDir</directive>
5ea4161a514362065110614dd0d92adb13bf7cc3Christian Maeder ディレクティブを使って外部 URL にリダイレクトすることもできます。</p>
4954b30d3c209d7dee4e43016cee8189daf646e8Christian Maeder
5ea4161a514362065110614dd0d92adb13bf7cc3Christian Maeder <highlight language="config">UserDir http://example.org/users/*/</highlight>
4954b30d3c209d7dee4e43016cee8189daf646e8Christian Maeder
4954b30d3c209d7dee4e43016cee8189daf646e8Christian Maeder
<p>上記例では <code>http://example.com/~bob/abc.html</code>
へのリクエストは <code>http://example.org/users/bob/abc.html</code>
にリダイレクトされます。</p>
</section>
<section id="enable">
<title>この機能を使用できるユーザを制限する</title>
<p>UserDir のドキュメントに示されている構文を使うことで、
どのユーザがこの機能を使うことができるかを制限することができます:</p>
<example>
UserDir enabled<br />
UserDir disabled root jro fish
</example>
<p>上の設定は <code>dissabled</code> 文のユーザ以外のすべてのユーザに
対して UserDir の機能を有効にします。同様にして、以下のように
数名のユーザ以外に対してこの機能を無効にすることもできます:</p>
<highlight language="config">
UserDir disabled<br />
UserDir enabled rbowen krietz
</highlight>
<p>他の例は <directive module="mod_userdir">UserDir</directive>
の説明を参照してください。</p>
</section>
<section id="cgi">
<title>ユーザ毎の CGI ディレクトリ</title>
<p>それぞれのユーザに専用の cgi-bin ディレクトリを与えるために、
<directive module="core" type="section">Directory</directive>
を使ってユーザのホームディレクトリの指定された領域に対して CGI を有効に
することができます。</p>
<highlight language="config">
&lt;Directory /home/*/public_html/cgi-bin/&gt;
Options ExecCGI
SetHandler cgi-script
&lt;/Directory&gt;
</highlight>
<p>そして、<code>UserDir</code> が
<code>public_html</code> に設定されていると仮定すると、
そのディレクトリの CGI プログラム <code>example.cgi</code>
は以下の様に呼び出されることができます:</p>
<example>
http://example.com/~rbowen/cgi-bin/example.cgi
</example>
</section>
<section id="htaccess">
<title>ユーザによる設定変更を許可</title>
<p>ユーザに彼らのウェブ空間でのサーバの設定の変更を許可する場合、
ユーザは <code>.htaccess</code> ファイルを使って設定を変更する必要があります。
<directive module="core">AllowOverride</directive> の値を
ユーザが変更することを許可したいディレクティブに対して十分なものに
設定していることを確認してください。この機能がどのようにして動作しているか
の詳細は <a href="htaccess.html">.htaccess チュートリアル</a> を読んで
ください。</p>
</section>
</manualpage>