After defining the Server Name,
Webmaster email address, and Available Addresses, click the Virtual Hosts tab and click the Edit Default Settings button. A window as shown in
Figure
25-3 appears. Configure the default settings for your Web
server in this window. If you add a virtual host, the settings you
configure for the virtual host take precedence for that virtual
host. For a directive not defined within the virtual host settings,
the default value is used.
The default values for the Directory Page
Search List and Error Pages work for
most servers. If you are unsure of these settings, do not modify
them.
The entries listed in the Directory Page
Search List define the DirectoryIndex
directive. The DirectoryIndex is the
default page served by the server when a user requests an index of
a directory by specifying a forward slash (/) at the end of the
directory name.
For example, when a user requests the page https://www.example.com/this_directory/, they are
going to get either the DirectoryIndex
page, if it exists, or a server-generated directory list. The
server tries to find one of the files listed in the DirectoryIndex directive and returns the first one
it finds. If it does not find any of these files and if Options Indexes is set for that directory, the
server generates and returns a list, in HTML format, of the
subdirectories and files in the directory.
Use the Error Code section to configure
Apache HTTP Server to redirect the client to a local or external
URL in the event of a problem or error. This option corresponds to
the ErrorDocument directive.
If a problem or error occurs when a client tries to connect to the
Apache HTTP Server, the default action is to display the short
error message shown in the Error Code
column. To override this default configuration, select the error
code and click the Edit button. Choose
to display the default short
error message. Choose to redirect
the client to an external URL and enter a complete URL, including
the https://, in the Location field. Choose to redirect the client to an internal URL
and enter a file location under the document root for the Web
server. The location must begin the a slash (/) and be relative to
the Document Root.
For example, to redirect a 404 Not Found error code to a webpage
that you created in a file called 404.html, copy 404.html
to DocumentRoot/../error/404.html. In this
case, DocumentRoot is the Document
Root directory that you have defined (the default is /var/www/html/). If the Document Root is left as
the default location, the file should be copied to /var/www/error/404.html. Then, choose as the Behavior for 404
- Not Found error code and enter /error/404.html as the .
From the Default Error Page Footer menu,
you can choose one of the following options:
-
Show footer with email address —
Display the default footer at the bottom of all error pages along
with the email address of the website maintainer specified by the
ServerAdmin directive.
Refer to
Section 25.3.1.1 General Options for information about
configuring the ServerAdmin directive.
-
Show footer — Display just the
default footer at the bottom of error pages.
-
No footer — Do not display a
footer at the bottom of error pages.
Use the Logging tab to configure options
for specific transfer and error logs.
By default, the server writes the transfer log to the /var/log/httpd/access_log file and the error log to
the /var/log/httpd/error_log file.
The transfer log contains a list of all attempts to access the
Web server. It records the IP address of the client that is
attempting to connect, the date and time of the attempt, and the
file on the Web server that it is trying to retrieve. Enter the
name of the path and file in which to store this information. If
the path and file name do not start with a slash (/), the path is
relative to the server root directory as configured. This option
corresponds to the TransferLog
directive.
You can configure a custom log format by checking Use custom logging facilities and entering a custom
log string in the Custom Log String field.
This configures the LogFormat directive.
Refer to https://httpd.apache.org/docs-2.0/mod/mod_log_config.html#formats
for details on the format of this directive.
The error log contains a list of any server errors that occur.
Enter the name of the path and file in which to store this
information. If the path and file name do not start with a slash
(/), the path is relative to the server root directory as
configured. This option corresponds to the ErrorLog directive.
Use the Log Level menu to set the
verbosity of the error messages in the error logs. It can be set
(from least verbose to most verbose) to emerg, alert, crit, error,
warn, notice, info or debug. This option corresponds to the
LogLevel directive.
The value chosen with the Reverse DNS
Lookup menu defines the HostnameLookups
directive. Choosing No Reverse Lookup sets
the value to off. Choosing Reverse Lookup
sets the value to on. Choosing Double Reverse
Lookup sets the value to double.
If you choose Reverse Lookup, your
server automatically resolves the IP address for each connection
which requests a document from your Web server. Resolving the IP
address means that your server makes one or more connections to the
DNS in order to find out the hostname that corresponds to a
particular IP address.
If you choose Double Reverse Lookup,
your server performs a double-reverse DNS. In other words, after a
reverse lookup is performed, a forward lookup is performed on the
result. At least one of the IP addresses in the forward lookup must
match the address from the first reverse lookup.
Generally, you should leave this option set to No Reverse Lookup, because the DNS requests add a
load to your server and may slow it down. If your server is busy,
the effects of trying to perform these reverse lookups or double
reverse lookups may be quite noticeable.
Reverse lookups and double reverse lookups are also an issue for
the Internet as a whole. Each individual connection made to look up
each hostname adds up. Therefore, for your own Web server's
benefit, as well as for the Internet's benefit, you should leave
this option set to No Reverse Lookup.
Use the Environment tab to configure
options for specific variables to set, pass, or unset for CGI
scripts.
Sometimes it is necessary to modify environment variables for
CGI scripts or server-side include (SSI) pages. The Apache HTTP
Server can use the mod_env module to
configure the environment variables which are passed to CGI scripts
and SSI pages. Use the Environment
Variables page to configure the directives for this module.
Use the Set for CGI Scripts section to
set an environment variable that is passed to CGI scripts and SSI
pages. For example, to set the environment variable MAXNUM to 50, click the
Add button inside the Set for CGI Script section, as shown in
Figure 25-5, and type MAXNUM in
the Environment Variable text field and
50 in the Value to
set text field. Click OK to add it to
the list. The Set for CGI Scripts section
configures the SetEnv directive.
Use the Pass to CGI Scripts section to
pass the value of an environment variable when the server is first
started to CGI scripts. To see this environment variable, type the
command env at a shell prompt. Click the
Add button inside the Pass to CGI Scripts section and enter the name of
the environment variable in the resulting dialog box. Click
OK to add it to the list. The Pass to CGI Scripts section configures the PassEnv directive.
To remove an environment variable so that the value is not
passed to CGI scripts and SSI pages, use the Unset for CGI Scripts section. Click Add in the Unset for CGI
Scripts section, and enter the name of the environment variable
to unset. Click OK to add it to the list.
This corresponds to the UnsetEnv directive.
To edit any of these environment values, select it from the list
and click the corresponding Edit button.
To delete any entry from the list, select it and click the
corresponding Delete button.
To learn more about environment variables in the Apache HTTP
Server, refer to the following:
Use the Directories page in the
Performance tab to configure options for
specific directories. This corresponds to the <Directory>
directive.
Click the Edit button in the top
right-hand corner to configure the Default
Directory Options for all directories that are not specified in
the Directory list below it. The options
that you choose are listed as the Options directive within the
<Directory>
directive. You can configure the following options:
-
ExecCGI — Allow execution of CGI
scripts. CGI scripts are not executed if this option is not
chosen.
-
FollowSymLinks — Allow symbolic
links to be followed.
-
Includes — Allow server-side
includes.
-
IncludesNOEXEC — Allow server-side
includes, but disable the #exec and
#include commands in CGI scripts.
-
Indexes — Display a formatted list
of the directory's contents, if no DirectoryIndex (such as index.html) exists in the requested directory.
-
Multiview — Support
content-negotiated multiviews; this option is disabled by
default.
-
SymLinksIfOwnerMatch — Only follow
symbolic links if the target file or directory has the same owner
as the link.
To specify options for specific directories, click the Add button beside the Directory list box. A window as shown in Figure
25-7 appears. Enter the directory to configure in the Directory text field at the bottom of the window.
Select the options in the right-hand list and configure the
Order directive with the
left-hand side options. The Order
directive controls the order in which allow and deny directives are
evaluated. In the Allow hosts from and
Deny hosts from text field, you can specify
one of the following:
-
Allow all hosts — Type all to
allow access to all hosts.
-
Partial domain name — Allow all hosts whose names match or
end with the specified string.
-
Full IP address — Allow access to a specific IP
address.
-
A subnet — Such as 192.168.1.0/255.255.255.0
-
A network CIDR specification — such as 10.3.0.0/16
If you check the Let .htaccess files
override directory options, the configuration directives in the
.htaccess file take precedence.