O que acontecerá se eu incluir o arquivo de configuração vhost diretamente na pasta “sites-enabled”?

1

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

Eu criei um arquivo host virtual na pasta sites-available e habilitei o site correspondente usando o comando a2ensite example.com.conf as root. Percebo ao fazer isso, isso cria um link simbólico na pasta sites-enabled .

Para entender melhor o comportamento, experimentei salvar o arquivo example.com.conf diretamente no sites-enabled , evitando a indireção por meio de um symlink. Depois de reiniciar o Apache, fiquei surpreso ao descobrir que o host virtual continua funcionando bem.

Se eu armazenar o arquivo example.com.conf somente em sites-enabled , sem armazenar na pasta sites-available e usando um link simbólico, isso causará algum problema?

    
por Khurshid Alam 31.08.2018 / 05:53

1 resposta

5

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 e rm 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.

por 31.08.2018 / 07:26