Essa estrutura de pastas é toda sobre capacidade de gerenciamento. Embora seja perfeitamente correto adicionar toda a configuração do módulo e do host virtual em um único httpd.conf
, seria muito complicado modificar. Portanto, por exemplo, no Debian, os curingas foram usados para separar a configuração em vários arquivos:
# Include generic snippets of statements
IncludeOptional conf-enabled/*.conf
# Include the virtual host configurations:
IncludeOptional sites-enabled/*.conf
Isso faz com que tudo que corresponde ao caminho sites-enabled/*.conf
seja adicionado à configuração e, para o Apache HTTPd, não importa se é um arquivo de texto ou um link simbólico para um. Dessa perspectiva, não importa se o arquivo tem <VirtualHost>
blocos ou se é apenas alguma outra configuração do Apache. Também é perfeitamente possível ter o arquivo example.com.conf
com configuração para example.net
etc.
Os problemas que você enfrentará com configuração não convencional estão relacionados à falta de gerenciamento:
-
Você não poderá ativar ou desativar os hosts virtuais com
a2ensite
/a2dissite
.# a2dissite example.com ERROR: Site example.com does not exist!
-
A documentação oficial (man pages) torna-se inútil.
-
Você não pode desativar o site facilmente. Por exemplo. um host virtual pega-tudo facilita a criação de uma página em manutenção para exibição enquanto o site está desabilitado para atualizações.
-
-
Alguém administrando o mesmo servidor pode ter usado
ln -s
erm
em vez desses comandos oficiais. Ao tentar desativar temporariamente o site, eles podem excluí-lo acidentalmente. -
Ninguém mais sabe que você não segue as práticas normais. Daqui a alguns meses você vai esquecer também. Nesse ponto, você fará uma nova pergunta no Serverfault a respeito de por que seguir a documentação ou um tutorial não se aplica mais à sua configuração.