Home Operation and Maintenance Apache Apache service configuration explained in detail

Apache service configuration explained in detail

Aug 23, 2019 pm 01:52 PM
apache

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

<IfModule mpm_netware_module><br> DirectoryIndex index.html <br></IfModule>

If loaded Enter then execute
<IfModule! mpm_netware_module><br> DirectoryIndex index.html <br></IfModule>
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

<IfDefine Proxy>

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

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

FilesMatch: Files without adding a ~ symbol
<FilesMatch "\.(gif|jpe?g|png)$"><br>Order Deny,Allow<br>Allow from All<br></FilesMatch>

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:
<Location /server-status><br>SetHandler server-status<br></Location>

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

<Location /var/apache /html>

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 <Directory> container first, and the <Location> 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 of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

AI Hentai Generator

AI Hentai Generator

Generate AI Hentai for free.

Hot Article

R.E.P.O. Energy Crystals Explained and What They Do (Yellow Crystal)
3 weeks ago By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Best Graphic Settings
3 weeks ago By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. How to Fix Audio if You Can't Hear Anyone
3 weeks ago By 尊渡假赌尊渡假赌尊渡假赌

Hot Tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

PHP Framework Performance Comparison: The Ultimate Showdown of Speed ​​vs. Efficiency PHP Framework Performance Comparison: The Ultimate Showdown of Speed ​​vs. Efficiency Apr 30, 2024 pm 12:27 PM

According to benchmarks, Laravel excels in page loading speed and database queries, while CodeIgniter excels in data processing. When choosing a PHP framework, you should consider application size, traffic patterns, and development team skills.

How to conduct concurrency testing and debugging in Java concurrent programming? How to conduct concurrency testing and debugging in Java concurrent programming? May 09, 2024 am 09:33 AM

Concurrency testing and debugging Concurrency testing and debugging in Java concurrent programming are crucial and the following techniques are available: Concurrency testing: Unit testing: Isolate and test a single concurrent task. Integration testing: testing the interaction between multiple concurrent tasks. Load testing: Evaluate an application's performance and scalability under heavy load. Concurrency Debugging: Breakpoints: Pause thread execution and inspect variables or execute code. Logging: Record thread events and status. Stack trace: Identify the source of the exception. Visualization tools: Monitor thread activity and resource usage.

How to add a server in eclipse How to add a server in eclipse May 05, 2024 pm 07:27 PM

To add a server to Eclipse, follow these steps: Create a server runtime environment Configure the server Create a server instance Select the server runtime environment Configure the server instance Start the server deployment project

Application of algorithms in the construction of 58 portrait platform Application of algorithms in the construction of 58 portrait platform May 09, 2024 am 09:01 AM

1. Background of the Construction of 58 Portraits Platform First of all, I would like to share with you the background of the construction of the 58 Portrait Platform. 1. The traditional thinking of the traditional profiling platform is no longer enough. Building a user profiling platform relies on data warehouse modeling capabilities to integrate data from multiple business lines to build accurate user portraits; it also requires data mining to understand user behavior, interests and needs, and provide algorithms. side capabilities; finally, it also needs to have data platform capabilities to efficiently store, query and share user profile data and provide profile services. The main difference between a self-built business profiling platform and a middle-office profiling platform is that the self-built profiling platform serves a single business line and can be customized on demand; the mid-office platform serves multiple business lines, has complex modeling, and provides more general capabilities. 2.58 User portraits of the background of Zhongtai portrait construction

The evasive module protects your website from application layer DOS attacks The evasive module protects your website from application layer DOS attacks Apr 30, 2024 pm 05:34 PM

There are a variety of attack methods that can take a website offline, and the more complex methods involve technical knowledge of databases and programming. A simpler method is called a "DenialOfService" (DOS) attack. The name of this attack method comes from its intention: to cause normal service requests from ordinary customers or website visitors to be denied. Generally speaking, there are two forms of DOS attacks: the third and fourth layers of the OSI model, that is, the network layer attack. The seventh layer of the OSI model, that is, the application layer attack. The first type of DOS attack - the network layer, occurs when a large number of of junk traffic flows to the web server. When spam traffic exceeds the network's ability to handle it, the website goes down. The second type of DOS attack is at the application layer and uses combined

How to deploy and maintain a website using PHP How to deploy and maintain a website using PHP May 03, 2024 am 08:54 AM

To successfully deploy and maintain a PHP website, you need to perform the following steps: Select a web server (such as Apache or Nginx) Install PHP Create a database and connect PHP Upload code to the server Set up domain name and DNS Monitoring website maintenance steps include updating PHP and web servers, and backing up the website , monitor error logs and update content.

How to leverage Kubernetes Operator simplifiy PHP cloud deployment? How to leverage Kubernetes Operator simplifiy PHP cloud deployment? May 06, 2024 pm 04:51 PM

KubernetesOperator simplifies PHP cloud deployment by following these steps: Install PHPOperator to interact with the Kubernetes cluster. Deploy the PHP application, declare the image and port. Manage the application using commands such as getting, describing, and viewing logs.

How to implement PHP security best practices How to implement PHP security best practices May 05, 2024 am 10:51 AM

How to Implement PHP Security Best Practices PHP is one of the most popular backend web programming languages ​​used for creating dynamic and interactive websites. However, PHP code can be vulnerable to various security vulnerabilities. Implementing security best practices is critical to protecting your web applications from these threats. Input validation Input validation is a critical first step in validating user input and preventing malicious input such as SQL injection. PHP provides a variety of input validation functions, such as filter_var() and preg_match(). Example: $username=filter_var($_POST['username'],FILTER_SANIT

See all articles