O Apache não carrega arquivos do host virtual [fechado]

2

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

Então, a questão é por que isso não está funcionando? E como faço isso funcionar?

    
por Zlug 22.03.2015 / 18:21

2 respostas

5

Normalmente, se alguém deseja configurar configurações de host virtual separadas, você as colocaria nesse diretório:

/etc/apache2/sites-available/

Portanto, se você tiver um host virtual chamado www.example.com , o nome do arquivo de configuração pode ser denominado www.example.com.conf da seguinte forma:

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

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

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

Em seguida, coloque um 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 o arquivo e use a2ensite para que o sistema defina um link simbólico de sites-available para sites-enabled desta forma:

sudo a2ensite www.example.com.conf

Ou, se você quiser, você pode usar manualmente ln -s para 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 isso for feito, basta recarregar o Apache assim:

sudo service apache2 reload

Se, por algum motivo, reload não funcionar, basta forçar uma reinicialização assim:

sudo service apache2 restart

O benefício de usar reload antes de restart é que, se houver um erro de digitação em um arquivo de configuração, o Apache informará um erro, mas não carregará os arquivos de configuração. O que significa que seu servidor da Web Apache ainda estará ativo e em execução com base no último arquivo de configuração estável carregado.

O risco é que, se você forçar um restart e houver um erro de digitação em um arquivo de configuração, o Apache estará inativo porque restart forçará um serviço completo stop seguido por start . E se esse start engasgar, o servidor estará inativo até que o erro / problema de configuração seja resolvido.

    
por 22.03.2015 / 19:18
2

Verifique seu arquivo httpd.conf , 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 os novos arquivos conf correspondem ao padrão curinga e estão armazenados na mesma pasta que o 000-default.conf .

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

    
por 23.03.2015 / 00:59