在不影响默认配置文件的情况下组织 Apache(站点自定义)配置文件的最佳方法是什么?

在不影响默认配置文件的情况下组织 Apache(站点自定义)配置文件的最佳方法是什么?

这是一个 CentOS 盒子,因此一些布局与 Ubuntu 不同。

如果我们查看 httpd.conf 文件,它期望从 /etc/httpd/conf.d 获取本地定义的配置文件(虚拟主机等):

[raub@webbie ~]$ fgrep Include /etc/httpd/conf/httpd.conf
Include conf.modules.d/*.conf
    #   Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews
    # (You will also need to add "Includes" to the "Options" directive.)
IncludeOptional conf.d/*.conf
[raub@webbie ~]$

现在Apache 文档建议使用单独的目录来存储特定于虚拟主机的配置,

IncludeOptional conf/vhosts/*/*.conf

但我不想编辑 httpd.conf 文件,以防它在升级或其他事件期间被覆盖。那么,在不修改原始文件的情况下伪造该文件的最佳方法是什么?我能想到的最好的方法是 /etc/httpd/conf.d/zvirtualhosts.conf 文件(命名以便尽可能只读取接近末尾的部分),其中只有上述包含语句,但感觉有点笨拙。有没有更优雅/更干净的解决方案?

答案1

除了使用一个或多个符号链接(老实说,我觉得不太可取)之外,我认为您提出的解决方案与您可能获得的解决方案一样优雅(至少如果您不愿意编辑任何配置文件)。

答案2

RHEL/Centos 文档建议使用与 Ubuntu/Debian 不同的配置文件: https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/7/html/system_administrators_guide/ch-web_servers#s2-apache-virtualhosts

如果您担心配置文件被覆盖,您可以随时使用一些配置管理工具,如 Puppet。

相关内容