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 - 加载子配置文件
开始讲解:
从默认配置文件开头说起:
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>