Home>Article>Operation and Maintenance> Apache service configuration explained in detail

Apache service configuration explained in detail

王林
王林 forward
2019-08-23 13:52:38 2901browse

Apahce configuration instructions can be divided into two blocks, core instructions and instructions provided by third parties. In apache, each instruction corresponds to a module, and among all modules, the most important ones are core_module, so_module, http_module, and mpm modules. Except for so_moudle, other modules cannot be turned off or disabled.

1: httpd.conf

(1) Main server part

1, ServerName: Define the apache default host name, you can Is the domain name or IP address

2, ServerRoot: used to define the directory where the server is located, this path is usually specified by --prefix during configuration

3, DocumentRoot: used to specify Apache provides the root directory of the page service. This path must be an absolute path rather than a relative path. If there are spaces, it needs to be enclosed in quotation marks.

4. ServerAdmin: The address to send an email to the administrator after a server error.

5, ServerAlias and Alias: are all used to map directories, but ServerAlias identifies the mapped directory as a CGI script directory and treats all files in this directory as CGI scripts. But Alias is just mapped to a normal directory

6, User and Group: used to define the user and user group used to run the apache child process

7, Listen: used to define the listening apache Port number

8, LoadModule command: used to load modules or target files LoadModule cgi_module modules/mod_cgi.so_module

9, ErrorDocument: Custom error page information ErrorDocument 500 "unknown error" ErrorDocument 404 "/var/server/www/cgi-bin/missing_404.pl" ErrorDocument 402 http://www.nicky.com/error_402.html

10. options: Determine which directories to use those features , these features are as follows:

None: The option command will not take effect

ExecCGI: Allows execution of CGI scripts in the current directory

Includes: Allows the use of SSI functions

IncludesNOEXEC: The SSI function is allowed, but the exec cgi and exec cmd functions are disabled.

Indexes: Enable the index function. For example, if a request is made to the directory URLz and there is no index file specified by the DirectoryIndex directive, the server will Automatically return a list of requested directory contents

FollowSymLinks: Allows the use of symbolic links in the current environment, but will be ignored in the Location container

All: Uses all features except MultiViews, also options The default parameters

MultiViews: used to start the multi-view function provided by the mod_negotiations module

11, ServerTokens: OS/Major/Full affects the detail of the error footer information, and is generally not recommended.

(2) Container part
1, Container: The container acts on the module. It will first determine whether the module is loaded, and then decide whether to process it, that is Only when the judgment result is true, the instructions in the container will be executed. On the contrary, if it is false, all will be ignored. You can use or to determine whether the module is loaded


DirectoryIndex index.html

If loaded Enter then execute

DirectoryIndex index.html

If not loaded, execute

2 Container: encapsulates only when a set of conditions is true The effective instructions act on server config, virtual host, directory, .htaccess. The difference from IfModule is that it is judged based on whether the module is loaded, but IfDefine is judged based on conditions

Based on

LoadModule proxy_module modules/libproxy.so

##

3 Container:

Directory: Let the encapsulated instructions take effect in its specified directory or its subdirectory. This directory must be a complete path , of course you can also use wildcard *? To match the directory, we also considered using [] to determine the character range, but no matter which type it is, it cannot match /

Order Deny,Allow

Deny from all

The above example disables access to the /var/apache/html directory. Any request to /var/apache/html will be rejected

If you want the directory to use regular expressions, you need to add a ~

Order Deny,Allow

Allow from all

DirectoryMatch: Similar to Directory, except that it can directly accept regular matching without adding a ~ symbol

## Order Deny,Allow

Allow from all

4 and
Files: only works on files, you can also use wildcards and [] and ~ in front of the regular expression to use regular expressions
< Files "^\.css">
Order Deny,Allow
Allow from All

FilesMatch: Files without adding a ~ symbol

Order Deny,Allow
Allow from All

5 and : only perform access control on the URL

Order Allow,Deny
Deny from All

If the URL starts with cgi, it will be rejected
In addition, you can also URL requests are mapped to the Apache module handler, for example, using the mod_status module:

SetHandler server-status

If you use the above configuration. Then when accessing /server-status, Apache will hand over the connection to the mod_status module for processing and return an Apache server running status page

Container processing order issue:
Apache will process it first The Directory container (but Directory and .htaccess with regular expressions will not be processed,) then the Files and FilesMatch containers, and then the Location and LocationMatch containers

Order deny,allow

## Allow from All

##

Order allow,deny

Allow from All

Deny from www.jons.com

##

Above For example, since Apache will process the container first, and the container processed last will overwrite the previous Directory configuration, so www.json.com will be allowed to be accessed by users. If the containers are the same, they will be listed in dictionary order. Work from short to long.

For more related questions, please visit the PHP Chinese website:

linux video tutorial

The above is the detailed content of Apache service configuration explained in detail. For more information, please follow other related articles on the PHP Chinese website!

Statement:
This article is reproduced at:csdn.net. If there is any infringement, please contact admin@php.cn delete