Apache não carrega arquivos de host virtual

Apache não carrega arquivos de host virtual

Estou tentando configurar um servidor Apache2, mas não consigo carregar meus hosts virtuais. Ou, para ser mais preciso, funciona bem desde que eu os escreva 000-default.conf, mas sempre que tento usar um arquivo separado, ele parece ignorá-lo completamente.

Por que isto não está funcionando? E como faço para que isso funcione?

Responder1

Normalmente, se alguém quiser definir configurações de host virtual separadas, você as colocaria neste diretório:

/etc/apache2/sites-available/

Portanto, se você tiver um host virtual chamado, www.example.como nome do arquivo de configuração poderá ser nomeado www.example.com.confassim:

/etc/apache2/sites-available/www.example.com.conf

Você então abriria esse arquivo em um editor de texto como este; Estou usando nanocomo exemplo, mas fique à vontade para usar o editor de texto de sua preferência:

sudo nano /etc/apache2/sites-available/www.example.com.conf

E então coloque conteúdo semelhante a este em www.example.com.conf:

<VirtualHost *:80>
  ServerAdmin [email protected]
  ServerName example.com
  ServerAlias www.example.com
  DocumentRoot /var/www/example.com/
  ErrorLog ${APACHE_LOG_DIR}/error.log
  CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

Feche e salve esse arquivo e use a2ensiteassim para que o sistema defina um link simbólico para sites-availableassim sites-enabled:

sudo a2ensite www.example.com.conf

Ou, se desejar, você pode usar manualmente ln -spara definir um link simbólico como este:

ln -s /etc/apache2/sites-available/www.example.com.conf /etc/apache2/sites-enabled/www.example.com.conf

Quando terminar, basta recarregar o Apache assim:

sudo service apache2 reload

E se por algum motivo reloadnão funcionar, basta forçar uma reinicialização assim:

sudo service apache2 restart

A vantagem de usar reloadantes restarté que se houver um erro de digitação em um arquivo de configuração, o Apache reportará um erro, mas não carregará os arquivos de configuração. Isso significa que seu servidor web Apache ainda estará funcionando com base no último arquivo de configuração estável carregado.

O risco é que se você forçar um restarte houver um erro de digitação em um arquivo de configuração, o Apache estará morto porque restartforça um serviço completo stopseguido por um start. E se isso startengasgar, o servidor estará morto até que o erro de digitação/problema de configuração seja resolvido.

Responder2

Verifique seu httpd.confarquivo, ele deve conter uma linha como Include conf/*.conf. Verifique se é um curinga ou um arquivo fixo (como 000-default.conf).

Além disso, verifique se seus novos arquivos conf correspondem ao padrão curinga e estão armazenados na mesma pasta que o arquivo 000-default.conf.

Finalmente, existem distribuições Apache onde eles têm arquivos conf disponíveis e ativos, então em alguns casos é necessário um link virtual para que funcione

informação relacionada