我面临着清理庞大的 Apache 配置的任务。它已经积累了近十年的垃圾。我首先要重构它,修复制表符/缩进,将部分拆分为包含部分。
您是否有任何有用的脚本 / 技术 / bbedit 配置文件或有关保持有序 Apache 配置的一般建议?是否有任何书籍 / 网站专注于正确组织 Apache 配置?
答案1
我曾经处理过这样的文件,每次公司收购另一家公司时,他们都会将其品牌添加到 1 个 BIG httpd.conf 文件中,不同的品牌必须在不同的测试环境中进行测试。我们的方法是:
- 从一个新的空文件开始,只包含需要包含的内容。如果有版本控制系统,请将其保存在版本控制系统中。
- 使用 include 指令。这可让您启用禁用整个品牌。
- 使用模板系统创建虚拟主机,如下所示,有十几个品牌,运行在 5 或 6 个环境中
- 使用企业创建的电子表格来创建虚拟主机文件。这与 perl excel 解析器模块配合得很好。最后,业务分析师只需更改电子表格,即可获得一组新的虚拟主机以供纳入,而管理员也很高兴,因为他们可以通过在 httpd.conf 中注释/启用一行来禁用/启用环境。
grep
删除所有注释行和空白行。通过删除所有空格和注释,将 5000 行文件缩减到 2000 行,这似乎没那么困难。
# Begin Virtual Host: [% brand_description %]
Listen [% dyn_ip %]:[% dyn_port %]
<VirtualHost [% dyn_ip %]:[% dyn_port %]>
ServerAdmin [% server_admin %]
ServerName [% dyn_ip %]:[% dyn_port %]
DocumentRoot "[% document_root %]"
<Directory />
DirectoryIndex index.html
Options Indexes FollowSymLinks
AllowOverride None
</Directory>
ErrorLog [% error_log %]
CustomLog [% custom_log %] combined
JKMount [% jk_mount_point %] [% jk_balancer_name %]
ErrorDocument 502 /holding/50x_disruption-page.html
ErrorDocument 503 /holding/50x_disruption-page.html
RedirectPermanent [% payment_page %] [% brand_payment_url %]
</VirtualHost>
# End Virtual Host: [% brand_description %]