Uma vez eu tive que lidar com esse tipo de arquivo, cada vez que a empresa comprava outra empresa, eles adicionavam suas marcas no arquivo 1 BIG httpd.conf, diferentes marcas tinham que ser testadas em diferentes ambientes de teste. Nossa abordagem foi:
- Comece com um novo arquivo vazio e inclua apenas os itens que precisam ser incluídos. Mantê-lo em um sistema de controle de versão, se você tiver um.
- Use a diretiva include. Isso permite ativar a desativação de marcas inteiras.
- Use um sistema de modelos para criar hosts virtuais, como abaixo, com mais de uma dúzia de marcas. correndo em 5 ou 6 ambientes
- Use uma planilha criada pela empresa para criar os arquivos de hosts virtuais. Isso funcionou bem com o módulo do analisador do perl excel. No final, os analistas de negócios poderiam apenas alterar a planilha e obter um novo conjunto de hosts virtuais para inclusão e os administradores ficariam satisfeitos porque poderiam desativar / ativar o ambiente comentando / ativando uma única linha no httpd.conf.
-
grep
de todas as linhas de comentário e linhas em branco. Parece menos assustador quando você reduz um arquivo de 5000 linhas para 2000, removendo todo o espaçamento e comentários.
# 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 %]