Por que estou recebendo a página padrão do Apache2 Ubuntu em vez da minha própria página index.html?

8

Eu tenho um computador Ubuntu 14.10 que é usado para testes de sites locais , não está sendo veiculado na Internet. Nele, tenho sete sites configurados. No entanto, ao acessar dois dos sete, recebo a Apache2 Ubuntu Default Pagepágina de índice em vez da minha.

Pelo que sei, configurei os sete usando exatamente o mesmo processo, para não saber o que esses dois estão faltando. Além disso, no diretório de logs do Apache, tenho dois arquivos de log errore accesspara cada um dos dois sites que se comportam mal, mas todos estão vazios. Quando reinicio o apache2serviço, não há erros. Eu refiz minhas etapas várias vezes e não vejo nenhuma diferença entre os sites de trabalho e os sites que não estão funcionando.

Que opções eu tenho para diagnosticar esse problema? Posso forçar registros de erro mais detalhados de alguma forma? Existe outro log em algum lugar que eu possa referenciar?

Aqui está um exemplo de .confarquivo para um dos sites com defeito:

<VirtualHost *:80>
   ServerName www.local_example.com
   ServerAlias local_example.com
   ServerAdmin [email protected]

   DocumentRoot /var/www/Websites/example.com
   <Directory /var/www/Websites/example.com/>
       Options Indexes FollowSymLinks MultiViews
       # pcw AllowOverride None
       AllowOverride All
       Order allow,deny
       allow from all
       # This directive allows us to have apache2's default start page
       # in /apache2-default/, but still have / go to the right place
       # Commented out for Ubuntu
       #RedirectMatch ^/$ /apache2-default/
   </Directory>

   ErrorLog /home/example/Apache_Logs/local_example.com_error.log

   # Possible values include: debug, info, notice, warn, error, crit,
   # alert, emerg.
   LogLevel warn

   CustomLog /home/example/Apache_Logs/local_example.com_access.log combined
   ServerSignature On

</VirtualHost>
Questionador
fonte
2
Como você criou os hosts virtuais? Você os criou adicionando arquivos a /etc/apache2/sites-available? Se sim, você os ativou sudo a2ensite <your_site_name>? O arquivo de log de erros padrão do apache possui alguma coisa? E você tem um ServerAlias ​​ou ServerName configurado em seus arquivos de host virtual? Se você desabilitar o site padrão sudo a2dissite 000-default(poderá reativá-lo sudo a2ensite 000-default), ele funciona? Além disso, pode ser que você tenha esquecido de reiniciar o apache?
Dan
@ Dan, obrigado por responder. Criei os sites adicionando-os a sites-available. O log de erros padrão não possui nada. Eu defini ServerAliasno arquivo hosts. Desativei o 000-defaultsite, mas isso não mudou nada. Eu reiniciei e recarreguei o apache muitas vezes.
Pergunta
Quando você desabilitou o site padrão e reiniciou o apache, ele ainda estava mostrando a página index.html padrão, ou estava mostrando uma de um host virtual diferente? Você pode postar o conteúdo de um dos arquivos vhost com comportamento inadequado? Isso pode facilitar muito as coisas para nós ajudarmos.
Dan
@ Dan, obrigado por responder. Quando fiz a alteração, você sugeriu, como mencionei, nada mudou, o que significa que ela mostrava exatamente a mesma página de índice padrão. Adicionei um .confarquivo à minha pergunta.
lNTERROGANTE

Respostas:

8

Tente o seguinte

Ativar logs detalhados

sudo nano /etc/apache2/apache2.conf

Localize a variável LogLevel e atualize-a do aviso padrão para informações ou depuração. debug produzirá a maior quantidade de saída.

# LogLevel: Control the number of messages logged to the error_log.
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
# 
LogLevel debug

Reinicie o Apache

sudo service apache2 restart

O Apache inclui uma pequena ferramenta de verificação de sintaxe

apache2ctl -t

Verificando definições de host virtual

apache2ctl -S
2707974
fonte
Obrigado por esta sugestão. Defino o nível de log para depuração e ainda não recebo absolutamente nenhuma entrada nos arquivos de log de erros. Os logs de acesso agora são exibidos toda vez que eu abro os sites, mas nada mais.
Pergunta
6

Para mim, uma das sugestões do @Dan resolveu.

sudo a2dissite 000-default.conf
service apache2 reload

Aparentemente, a configuração padrão do site estava substituindo minha configuração de vhost.

highfalutin
fonte
Em outro servidor, ele se comportou de maneira diferente e o index.php foi lido em vez do index.html. Muito situação sorrateira
Margus Pala
2

após a instalação, index.html tem prioridade mais alta, é por isso que você ainda está vendo a página padrão do Ubuntu. Verifique esta pasta var / www / html / rename ou remova esta página de maneira simples.

Amin
fonte
1

Acontece que o problema era de permissões.

Quando você está armazenando o site em um diretório fora /var/wwwe conectado por link simbólico, o diretório de origem e o diretório pai precisam ter permissões de 755.

Por alguma razão desconhecida, os dois sites com comportamento inadequado tinham permissões diferentes e a execução chmod -R 755no diretório do site e no diretório pai resolveu o problema.

Questionador
fonte
Você não deve executar chmod -R 755em um diretório porque todos os arquivos não vão ser marcados como "executável" ...
Alexis Wilke
@AlexisWilke, qual é o melhor comando para definir as permissões corretas?
Interrogante
Não é fácil alterar as permissões de todos os diretórios e não o padrão ... Você pode usar find. Algo parecido com isto: find top-dir-name -type d -exec chmod 755 {} \;.
Alexis Wilke