O que acontecerá se eu incluir o arquivo de configuração vhost diretamente na pasta "habilitado para sites"?

O que acontecerá se eu incluir o arquivo de configuração vhost diretamente na pasta "habilitado para sites"?

Atualmente estou estudando hosts virtuais Apache e tenho alguma confusão em relação à sua configuração.

Criei um arquivo host virtual na sites-availablepasta e habilitei o site correspondente usando o comando a2ensite example.com.conf como root. Percebo que isso cria um link simbólico na sites-enabledpasta.

Para entender melhor o comportamento, experimentei salvar o example.com.confarquivo 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.confo arquivo apenas em sites-enabled, sem armazenar na sites-availablepasta 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/*.confseja 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.confcom configuração para example.netetc.

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 -se rmem 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.

informação relacionada