From 2faa747e2303ee774a4b4aace961188e950e185a Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Mon, 8 Apr 2024 21:09:22 +0200 Subject: Adding upstream version 2.4.58. Signed-off-by: Daniel Baumann --- docs/manual/howto/public_html.html.en | 218 ++++++++++++++++++++++++++++++++++ 1 file changed, 218 insertions(+) create mode 100644 docs/manual/howto/public_html.html.en (limited to 'docs/manual/howto/public_html.html.en') diff --git a/docs/manual/howto/public_html.html.en b/docs/manual/howto/public_html.html.en new file mode 100644 index 0000000..d0b5162 --- /dev/null +++ b/docs/manual/howto/public_html.html.en @@ -0,0 +1,218 @@ + + + + + +Per-user web directories - Apache HTTP Server Version 2.4 + + + + + + + +
<-
+

Per-user web directories

+
+

Available Languages:  en  | + es  | + fr  | + ja  | + ko  | + tr 

+
+ +

On systems with multiple users, each user can be permitted to have a + web site in their home directory using the UserDir directive. Visitors + to a URL http://example.com/~username/ will get content + out of the home directory of the user "username", out of + the subdirectory specified by the UserDir directive.

+

Note that, by default, access to these directories is not + enabled. You can enable access when using UserDir by uncommenting the line:

+
#Include conf/extra/httpd-userdir.conf
+ +

in the default config file conf/httpd.conf, and adapting the httpd-userdir.conf + file as necessary, or by including the appropriate directives in a + <Directory> block + within the main config file.

+
+ +
top
+
top
+
+

Setting the file path with UserDir

+ + +

The UserDir + directive specifies a directory out of which per-user + content is loaded. This directive may take several different forms.

+ +

If a path is given which does not start with a leading slash, it is + assumed to be a directory path relative to the home directory of the + specified user. Given this configuration:

+ +
UserDir public_html
+ + +

the URL http://example.com/~rbowen/file.html will be + translated to the file path + /home/rbowen/public_html/file.html

+ +

If a path is given starting with a slash, a directory path will be + constructed using that path, plus the username specified. Given this + configuration:

+ +
UserDir /var/html
+ + +

the URL http://example.com/~rbowen/file.html will be + translated to the file path /var/html/rbowen/file.html

+ +

If a path is provided which contains an asterisk (*), a path is used + in which the asterisk is replaced with the username. Given this + configuration:

+ +
UserDir /var/www/*/docs
+ + +

the URL http://example.com/~rbowen/file.html will be + translated to the file path + /var/www/rbowen/docs/file.html

+ +

Multiple directories or directory paths can also be set.

+ +
UserDir public_html /var/html
+ + +

For the URL http://example.com/~rbowen/file.html, + Apache will search for ~rbowen. If it isn't found, + Apache will search for rbowen in /var/html. If + found, the above URL will then be translated to the file path + /var/html/rbowen/file.html

+ +
top
+
+

Redirecting to external URLs

+ +

The UserDir directive can be + used to redirect user directory requests to external URLs.

+ +
UserDir http://example.org/users/*/
+ + +

The above example will redirect a request for + http://example.com/~bob/abc.html to + http://example.org/users/bob/abc.html.

+
top
+
+

Restricting what users are permitted to use this + feature

+ + +

Using the syntax shown in the UserDir documentation, you can restrict + what users are permitted to use this functionality:

+ +
UserDir disabled root jro fish
+ + +

The configuration above will enable the feature for all users + except for those listed in the disabled statement. + You can, likewise, disable the feature for all but a few users by + using a configuration like the following:

+ +
UserDir disabled
+UserDir enabled rbowen krietz
+ + +

See UserDir + documentation for additional examples.

+ +
top
+
+

Enabling a cgi directory for each user

+ + +

In order to give each user their own cgi-bin directory, you can use + a <Directory> + directive to make a particular subdirectory of a user's home directory + cgi-enabled.

+ +
<Directory "/home/*/public_html/cgi-bin/">
+    Options ExecCGI
+    SetHandler cgi-script
+</Directory>
+ + +

Then, presuming that UserDir is set to + public_html, a cgi program example.cgi + could be loaded from that directory as:

+ +

+ http://example.com/~rbowen/cgi-bin/example.cgi +

+ +
top
+
+

Allowing users to alter configuration

+ + +

If you want to allows users to modify the server configuration in + their web space, they will need to use .htaccess files to + make these changes. Ensure that you have set AllowOverride to a + value sufficient for the directives that you want to permit the users + to modify. See the .htaccess tutorial for + additional details on how this works.

+ +
+
+

Available Languages:  en  | + es  | + fr  | + ja  | + ko  | + tr 

+
top

Comments

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file -- cgit v1.2.3