Apache2.4.x 配置文件详解

时间:2022-02-22 16:55:03

Apache配置需要了解如下:

Apache默认配置文件所在目录

- 源码包安装

/usr/local/apache2/conf/httpd.conf

/usr/local/apache2/conf/extra/*.conf

- rpm包安装

/etc/httpd/conf/httpd.conf


默认网页保存位置

- 源码包安装

/usr/local/apache2/htdocs/

- rpm包安装

/var/www/html


Apache基本配置

ServerRoot -Apache主目录
Listen - 监听端口
LoadModule - 加载的相关模块
User - 伪用户
Group - 伪用户组
ServerAdmin - 管理员邮箱
ServerName - 服务器名
DirectoryIndex - 默认主页文件
ErrorLog - 错误日志
LogLevel - 日志等级
CustomLog - 正确访问日志
Include - 加载子配置文件


开始讲解:

从默认配置文件开头说起:

#Apache安装目录

ServerRoot "/usr/local/apache2"


#Listen 12.34.56.78:80 

#如不指定IP地址,默认监听全局80端口

Listen 80


...

省略LoadModule

...


#伪用户

User daemon

#伪用户组

Group daemon


#管理员邮箱

ServerAdmin postmaster@localhost


#(主)站点名称(域名)

ServerName www.xxxx.com:80


#这里是全局目录默认规则,拒绝所有

<Directory />
    AllowOverride none
    Require all denied
</Directory>


#这个是源码包安装后,网站主目录位置

DocumentRoot "/usr/local/apache2//htdocs"


<Directory "/usr/local/apache2//htdocs">

Option None

AllowOverride None 

Require all granted 

</Directory>

# --- Options 目录权限

# None :没有任何额外权限

#   All :所有权限

#   Indexs没有找到默认文章(如:index.php)就会返回当前文件夹下的所以文件列表


# --- AllowOverride子权限文件开关

# 定义是否允许目录下.htaccess文件中的权限生效,这里只列举以下两种常见的选项

#   None.htaccess中权限不生效

#   All .htaccess文件中所有权限都生效


# --- Require访问控制管理

# Require all granted允许所有访问

# Require all denied拒绝所有访问

# Require ip 192.168.1.0/24 仅允许192.168.1.0/24网络的主机访问

# Require not ip 192.168.1.2 禁止192.168.1.2的主机访问,其它都可以


#设置默认目录的默认文档

<IfModule dir_module>
    DirectoryIndex index.html index.php
</IfModule>




#防止 .htaccess 和 .htpasswd 文件被从Web*问

<Files ".ht*">
    Require all denied
</Files>


#防止 .htaccess 和 .htpasswd 文件被从Web*问
#错误日志的位置,如果你不在<VirtualHost>中指定错误日志位置,则错误日志都会在此目录,反之在<VirtualHost>指定的路径

ErrorLog "logs/error_log"



#控制日志记录的等级

LogLevel warn


#定义了日志记录的格式

<IfModule log_config_module>

</IfModule>