Apache2.4 配置解析


基于XAMPP Version 8.1.6中Apache的默认配置,对常用配置项进行解析说明:

httpd.conf是Apache服务器的主配置文件,Apache的绝大多数功能都在此文件配置,httpd-ssl.confhttpd-vhosts.conf等作为模块化功能配置文件,在httpd.conf中以Include形式添加,以简化主配置文件,同时便于对模块化功能进行配置。

(一) httpd.conf

Windows下默认路径:%install_path%\xampp\apache\conf\httpd.conf,具体配置指令解释可参考 Apache官方文档 📖

注意以下几点:

  • 默认的相对路径为服务器根目录,如当服务器根目录为"/usr/local/apache2"时,“logs/access_log"就等同于”/usr/local/apache2/logs/access_log",为避免混淆,建议始终使用绝对路径进行配置
  • 注意文件路径必须使用正斜杠而不是反斜杠,如 “c:/apache”,而不是"c:\apache",且不要在目录路径的末尾添加斜杠
  • 配置命令和XML标签英文字符大小写不敏感

服务器根目录

# 定义服务器根目录,也是默认安装目录
# 是保存服务器配置文件、日志和错误信息的目录,注意与网站根目录区分开
Define SRVROOT "C:/xampp/apache"

ServerRoot "C:/xampp/apache"

服务监听端口

# 定义服务监听端口
# 可通过绑定监听端口的IP避免本机所有IP地址同时开启监听,如 Listen <IP>:80
# Listen 80 或 Listen 0.0.0.0:80 或 Listen *:80 代表本机所有IP都开启端口监听
# Listen 127.0.0.1:80 或 Listen localhost:80 代表只在本地环回地址上监听端口,这样服务就只能从本地访问
Listen 80

加载动态共享对象

# 加载动态共享对象(DSO)模块,这里省略注释掉的模块
# 已编译的DSO模块存放在Apache安装目录下的modules目录中
# DSO类似于动态链接库,用于在程序运行时动态加载功能模块的代码
LoadModule access_compat_module modules/mod_access_compat.so
LoadModule actions_module modules/mod_actions.so
LoadModule alias_module modules/mod_alias.so
LoadModule allowmethods_module modules/mod_allowmethods.so
LoadModule asis_module modules/mod_asis.so
LoadModule auth_basic_module modules/mod_auth_basic.so
LoadModule authn_core_module modules/mod_authn_core.so
LoadModule authn_file_module modules/mod_authn_file.so
LoadModule authz_core_module modules/mod_authz_core.so
LoadModule authz_groupfile_module modules/mod_authz_groupfile.so
LoadModule authz_host_module modules/mod_authz_host.so
LoadModule authz_user_module modules/mod_authz_user.so
LoadModule autoindex_module modules/mod_autoindex.so
LoadModule cgi_module modules/mod_cgi.so
LoadModule dav_lock_module modules/mod_dav_lock.so
LoadModule dir_module modules/mod_dir.so
LoadModule env_module modules/mod_env.so
LoadModule headers_module modules/mod_headers.so
LoadModule include_module modules/mod_include.so
LoadModule info_module modules/mod_info.so
LoadModule isapi_module modules/mod_isapi.so
LoadModule log_config_module modules/mod_log_config.so
LoadModule cache_disk_module modules/mod_cache_disk.so
LoadModule mime_module modules/mod_mime.so
LoadModule negotiation_module modules/mod_negotiation.so
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_ajp_module modules/mod_proxy_ajp.so
LoadModule rewrite_module modules/mod_rewrite.so
LoadModule setenvif_module modules/mod_setenvif.so
LoadModule socache_shmcb_module modules/mod_socache_shmcb.so
LoadModule ssl_module modules/mod_ssl.so
LoadModule status_module modules/mod_status.so
LoadModule version_module modules/mod_version.so

服务运行权限

# IfModule是条件配置,只有当后边的模块被加载时配置内容才生效
# 当unixd_module模块被加载时,标签内配置生效
<IfModule unixd_module>

# 定义运行httpd服务的用户/用户组
# 在Linux中默认用户/用户组是类似www-data、daemon的nologin低权限用户
# 这些用户/用户组在创建服务或系统时就已自动创建
# 但是在Windows中默认用户/用户组是运行程序的用户 (一般是管理员或SYSTEM)
User daemon
Group daemon

</IfModule>

联系方式和服务器名

# 这些配置为虚拟主机<VirtualHost>配置的默认值
# 如有相同的配置项则将被<VirtualHost>中的配置覆盖
# 服务器管理员联系邮箱,该信息将会显示在一些输出信息中,比如返回给客户端的错误信息
ServerAdmin postmaster@localhost

# 服务器绑定的域名和端口,用于标识服务器名称
# 如果没有域名可以用IP或localhost标识,不配置该项启动服务时会发出警告信息
ServerName localhost:80

系统目录访问权限

# 目录及其子目录设置访问权限
# 默认配置禁止访问主机文件系统,因此其他允许访问的目录要在下方配置
<Directory />
    # AllowOverride用于配置是否允许使用.htaccess文件中的配置覆盖当前配置生效
    # 有以下5种选项
    # All: 允许使用
    # None: 不允许使用,.htaccess文件配置将被忽略
    # FileInfo: 允许使用文件控制类型的配置指令,包括:AddEncoding, AddLanguage, AddType, DEfaultType, ErrorDocument, LanguagePriority等
    # AuthConfig: 允许使用认证类型的配置指令,包括:AuthDBMGroupFile, AuthDBMUserFile, AuthGroupFile, AuthName, AuthTypeAuthUserFile, Require等
    # Indexes: 允许使用控制目录索引的配置指令,包括:AddDescription, AddIcon, DirectoryIndex, HeaderName, IndexIgnore, IndexOptions等
    # Limit: 允许使用权限控制类型的配置指令,包括:Allow, Deny和Order
    AllowOverride none
    
    # Require用于配置访问权限
    # 常见的配置如下
    # Require all denied: 拒绝所有访问请求,也是Require缺省配置
    
  • 1
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值