home *** CD-ROM | disk | FTP | other *** search
/ Chip 2004 November / CMCD1104.ISO / Software / Complet / Apache / apache_2.0.52-win32-x86-no_ssl.msi / Data.Cab / F277864_public_html.xml < prev    next >
Extensible Markup Language  |  2004-08-29  |  6KB  |  164 lines

  1. <?xml version='1.0' encoding='UTF-8' ?>
  2. <!DOCTYPE manualpage SYSTEM "../style/manualpage.dtd">
  3. <?xml-stylesheet type="text/xsl" href="../style/manual.en.xsl"?>
  4. <!-- $Revision: 1.5.2.7 $ -->
  5.  
  6. <!--
  7.  Copyright 2002-2004 The Apache Software Foundation
  8.  
  9.  Licensed under the Apache License, Version 2.0 (the "License");
  10.  you may not use this file except in compliance with the License.
  11.  You may obtain a copy of the License at
  12.  
  13.      http://www.apache.org/licenses/LICENSE-2.0
  14.  
  15.  Unless required by applicable law or agreed to in writing, software
  16.  distributed under the License is distributed on an "AS IS" BASIS,
  17.  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  18.  See the License for the specific language governing permissions and
  19.  limitations under the License.
  20. -->
  21.  
  22. <manualpage metafile="public_html.xml.meta">
  23. <parentdocument href="./">How-To / Tutorials</parentdocument>
  24.  
  25.   <title>Per-user web directories</title>
  26.  
  27. <summary>
  28. <p>On systems with multiple users, each user can be permitted to have a
  29.     web site in their home directory using the <directive 
  30.     module="mod_userdir">UserDir</directive> directive. Visitors
  31.     to a URL <code>http://example.com/~username/</code> will get content
  32.     out of the home directory of the user "<code>username</code>", out of
  33.     the subdirectory specified by the <directive
  34.     module="mod_userdir">UserDir</directive> directive.</p>
  35.  
  36. </summary>
  37.  
  38. <seealso><a href="../urlmapping.html">Mapping URLs to the Filesystem</a></seealso>
  39.  
  40.   <section id="related">
  41.     <title>Per-user web directories</title>
  42.     <related>
  43.       <modulelist>
  44.         <module>mod_userdir</module>
  45.       </modulelist>
  46.       <directivelist>
  47.         <directive module="mod_userdir">UserDir</directive>
  48.         <directive module="core">DirectoryMatch</directive>
  49.         <directive module="core">AllowOverride</directive>
  50.       </directivelist>
  51.     </related>
  52.     </section>
  53.  
  54.     <section id="userdir">
  55.     <title>Setting the file path with UserDir</title>
  56.  
  57.     <p>The <directive module="mod_userdir">UserDir</directive>
  58.     directive specifies a directory out of which per-user
  59.     content is loaded. This directive may take several different forms.</p>
  60.  
  61.     <p>If a path is given which does not start with a leading slash, it is
  62.     assumed to be a directory path relative to the home directory of the
  63.     specified user. Given this configuration:</p>
  64.  
  65.     <example>
  66.       UserDir public_html
  67.     </example>
  68.  
  69.     <p>the URL <code>http://example.com/~rbowen/file.html</code> will be
  70.     translated to the file path
  71.     <code>/home/rbowen/public_html/file.html</code></p>
  72.  
  73.     <p>If a path is given starting with a slash, a directory path will be
  74.     constructed using that path, plus the username specified. Given this
  75.     configuration:</p>
  76.  
  77.     <example>
  78.       UserDir /var/html
  79.     </example>
  80.  
  81.     <p>the URL <code>http://example.com/~rbowen/file.html</code> will be
  82.     translated to the file path <code>/var/html/rbowen/file.html</code></p>
  83.  
  84.     <p>If a path is provided which contains an asterisk (*), a path is used
  85.     in which the asterisk is replaced with the username. Given this
  86.     configuration:</p>
  87.  
  88.     <example>
  89.       UserDir /var/www/*/docs
  90.     </example>
  91.  
  92.     <p>the URL <code>http://example.com/~rbowen/file.html</code> will be
  93.     translated to the file path
  94.     <code>/var/www/rbowen/docs/file.html</code></p>
  95.  
  96.   </section>
  97.  
  98.   <section id="enable">
  99.     <title>Restricting what users are permitted to use this 
  100.     feature</title>
  101.  
  102.     <p>Using the syntax shown in the UserDir documentation, you can restrict
  103.     what users are permitted to use this functionality:</p>
  104.  
  105.     <example>
  106.       UserDir enabled<br />
  107.       UserDir disabled root jro fish
  108.     </example>
  109.  
  110.     <p>The configuration above will enable the feature for all users
  111.     except for those listed in the <code>disabled</code> statement.
  112.     You can, likewise, disable the feature for all but a few users by
  113.     using a configuration like the following:</p>
  114.  
  115.     <example>
  116.       UserDir disabled<br />
  117.       UserDir enabled rbowen krietz
  118.     </example>
  119.  
  120.     <p>See <directive module="mod_userdir">UserDir</directive>
  121.     documentation for additional examples.</p>
  122.  
  123.   </section>
  124.  
  125.   <section id="cgi">
  126.   <title>Enabling a cgi directory for each user</title>
  127.  
  128.    <p>In order to give each user their own cgi-bin directory, you can use
  129.     a <directive module="core" type="section">Directory</directive>
  130.     directive to make a particular subdirectory of a user's home directory
  131.     cgi-enabled.</p>
  132.  
  133.     <example>
  134.       <Directory /home/*/public_html/cgi-bin/><br />
  135.        Options ExecCGI<br />
  136.        SetHandler cgi-script<br />
  137.        </Directory>
  138.     </example>
  139.  
  140.     <p>Then, presuming that <code>UserDir</code> is set to
  141.     <code>public_html</code>, a cgi program <code>example.cgi</code>
  142.     could be loaded from that directory as:</p>
  143.  
  144.     <example>
  145.     http://example.com/~rbowen/cgi-bin/example.cgi
  146.     </example>
  147.  
  148.     </section>
  149.  
  150.     <section id="htaccess">
  151.     <title>Allowing users to alter configuration</title>
  152.  
  153.     <p>If you want to allows users to modify the server configuration in
  154.     their web space, they will need to use <code>.htaccess</code> files to
  155.     make these changed. Ensure that you have set <directive
  156.     module="core">AllowOverride</directive> to a
  157.     value sufficient for the directives that you want to permit the users
  158.     to modify. See the <a href="htaccess.html">.htaccess tutorial</a> for
  159.     additional details on how this works.</p>
  160.  
  161.   </section>
  162.  
  163. </manualpage>
  164.