Atualmente estou estudando hosts virtuais Apache e tenho alguma confusão em relação à sua configuração.
Criei um arquivo host virtual na sites-available
pasta e habilitei o site correspondente usando o comando a2ensite example.com.conf
como root. Percebo que isso cria um link simbólico na sites-enabled
pasta.
Para entender melhor o comportamento, experimentei salvar o example.com.conf
arquivo diretamente no sites-enabled
, evitando a indireção por meio de um link simbólico. Depois de reiniciar o Apache, fiquei surpreso ao descobrir que o host virtual continua funcionando bem.
Se eu armazenar example.com.conf
o arquivo apenas em sites-enabled
, sem armazenar na sites-available
pasta e usando um link simbólico, isso causará algum problema?
Responder1
Essa estrutura de pastas tem tudo a ver com gerenciamento. Embora fosse perfeitamente adequado adicionar todas as configurações do módulo e do host virtual em um único arquivo httpd.conf
, a modificação seria longa e complicada. Portanto, por exemplo no Debian, inclusões curinga foram usadas 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 corresponda 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 contém <VirtualHost>
blocos ou é apenas alguma outra configuração do Apache. Também é perfeitamente possível ter arquivo example.com.conf
com configuração para example.net
etc.
Os problemas que você enfrentará com configurações não convencionais estão relacionados à falta de capacidade de gerenciamento:
Você não poderá ativar ou desativar hosts virtuais com
a2ensite
/a2dissite
.# a2dissite example.com ERROR: Site example.com does not exist!
A documentação oficial (páginas de manual) torna-se inútil.
Você não pode desativar temporariamente o site facilmente. Por exemplo, um host virtual abrangente facilita a criação de umem manutençãopágina para mostrar enquanto o site está desativado para atualizações.
Outra pessoa 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. Em alguns meses você também esquecerá isso. Nesse ponto, você fará uma nova pergunta no Serverfault sobre por que seguir a documentação ou um tutorial não se aplica mais à sua configuração.