Como você gerencia várias configurações semelhantes do Apache?

Como você gerencia várias configurações semelhantes do Apache?

No momento estou usando o Mercurial para sincronizar configurações semelhantes do Apache entre os servidores de produção e desenvolvimento. Além disso, uma fila de patches adiciona as alterações e itens extras necessários para o servidor de desenvolvimento.

O esquema funciona, mas poderia ser melhor. Sempre recebo conflitos de mesclagem quando reaplico a fila de patches depois de extrair alterações das configurações de implantação. Sinto que estou sempre fazendo alterações idênticas nos arquivos de configuração http:// e https:// separados.

Como devo fatorar os bits idênticos entre minhas configurações do Apache :80 e :443 e adicionar de forma mais limpa os "bits extras" à configuração de desenvolvimento?

Responder1

Você pode considerar usar oIncluirrecurso do sistema de configuração do Apache. Em seguida, separe os elementos da sua configuração que são específicos de uma máquina individual em um_local.confisso deve tornar a fusão mais simples

Responder2

O Apache tem a opção de ativar seletivamente determinadas configurações. Isso permite usar o mesmo arquivo de configuração para desenvolvimento e produção. Inicie o Apache com -DDEVELOPMENT ou -DPROD e você poderá usar tags para configuração específica do servidor de desenvolvimento. Dessa forma, você não terá conflitos de mesclagem (a menos que você altere os dois arquivos de configuração dev/prod antes da mesclagem, é claro)

Responder3

Isso pode ser antigo, mas minhas configurações de estágio e produção do Apache eram idênticas, exceto que alguns dos parâmetros dentro de cada um eram diferentes (ou seja: endereço IP). Usei um wrapper Perl em torno de um script inicial para 'preencher os espaços em branco' de maneira metódica. Os 'modelos' de configuração base reais eram realmente idênticos.

Isso garantiu que o apache de estágio fosse funcionalmente idêntico ao apache de produção.

Compartilhar essa configuração de produção com o desenvolvimento permitiu que eles testassem o mais próximo da produção que quisessem (e eles queriam, porque não entrariam em produção a menos que seu material 'funcionasse' no estágio. Fornecemos ajuda ocasionalmente (para regras mod_rewrite, por exemplo) e deixei o resto para o desenvolvedor.

As diferenças entre esta configuração específica e outros lugares em que trabalhei são:

a equipe de desenvolvimento foi incentivada a se envolver em áreas não diretamente relacionadas aos programas em que trabalhavam... ou seja: eles podem trabalhar em aplicativos back-end (portanto, não precisariam saber muito sobre apache), mas configuraram seus próprios servidores apache ( na verdade construíram seus próprios desktops, mas essa é uma linha cruzada (IMnsHO).

na verdade, as operações impulsionaram grande parte da infraestrutura, em vez de apenas operá-la.

informação relacionada