|
|
|
<?xml version="1.0" encoding="UTF-8"?>
|
|
|
|
<module xmlns="urn:lighttpd.net:lighttpd2/doc1">
|
|
|
|
<short>allows you to have user-specific document roots being accessed through http://domain/~user/</short>
|
|
|
|
|
|
|
|
<description>
|
|
|
|
<textile><![CDATA[
|
|
|
|
The document root can be built by using the home directory of a user which is specified by /~username/ at the beginning of the request path.
|
|
|
|
Alternatively, mod_userdir can build the docroot from a pattern similar to @vhost.pattern@ but using the username instead of the hostname.
|
|
|
|
]]></textile>
|
|
|
|
</description>
|
|
|
|
|
|
|
|
<action name="userdir">
|
|
|
|
<short>builds the document root by replacing certain placeholders in path with (parts of) the username.</short>
|
|
|
|
<parameter name="path">
|
|
|
|
<short>the path to build the document root with</short>
|
|
|
|
</parameter>
|
|
|
|
<description>
|
|
|
|
<textile><![CDATA[
|
|
|
|
If @path@ does not start with a slash (/), then the document root is prepended with the home directory of the given user as specified in /etc/passwd.
|
|
|
|
Otherwise the @path@ specifies the absolute docroot to be used.
|
|
|
|
|
|
|
|
Placeholders are:
|
|
|
|
* @*@ is replaced by the complete username
|
|
|
|
* @$1@-@$9@ are replaced by the n-th letter of the username, e.g. @$2@ is the second letter
|
|
|
|
|
|
|
|
Examples:
|
|
|
|
|
|
|
|
Request for http://host/~lighty/foo.html (assuming "/home/lighty" is the home of the "lighty" user):
|
|
|
|
|
|
|
|
table(table table-striped).
|
|
|
|
|_. @path@ |_. docroot |_. physicalpath|
|
|
|
|
| "public_html" | /home/lighty/public_html/ | /home/lighty/public_html/foo.html |
|
|
|
|
| "/usr/web/*/" | /usr/web/lighty/ | /usr/web/lighty/foo.html |
|
|
|
|
| "/usr/web" | /usr/web/lighty/ | /usr/web/lighty/foo.html |
|
|
|
|
| "/www/users/$1/$1$2/*/" | /www/users/l/li/lighty/ | /www/users/l/li/lighty/foo.html |
|
|
|
|
|
|
|
|
*Note*: username "root" is not allowed for security reasons.
|
|
|
|
]]></textile>
|
|
|
|
</description>
|
|
|
|
<example>
|
|
|
|
<config><![CDATA[
|
|
|
|
setup {
|
|
|
|
module_load "mod_userdir";
|
|
|
|
}
|
|
|
|
|
|
|
|
userdir "public_html";
|
|
|
|
]]></config>
|
|
|
|
</example>
|
|
|
|
</action>
|
|
|
|
</module>
|