Почему я получаю страницу по умолчанию Apache2 Ubuntu вместо моей собственной страницы index.html?

У меня есть компьютер Ubuntu 14.10, который используется для локального тестирования веб-сайтов, он не работает в Интернете. На нем установлено семь веб-сайтов. Однако, когда я обращаюсь к двум из семи, я получаю Apache2 Ubuntu Default Page вместо моей собственной индексной страницы.

Насколько я могу судить, я установил все семь, используя точно такой же процесс, поэтому я не знаю, чего не хватает этим двум. Кроме того, в каталоге журналов Apache у меня есть два файла журнала, error и access для каждого из двух сайтов, ведущих себя плохо, но все они пусты. Когда я перезапускаю службу apache2, ошибок нет. Я повторил свои действия несколько раз и не вижу никакой разницы между работающими и неработающими сайтами.

Какие у меня есть варианты для диагностики этой проблемы? Могу ли я как-то заставить вести более подробные журналы ошибок? Есть ли где-то другой журнал, на который я могу сослаться?

Вот пример файла .conf для одного из неисправных сайтов:

<VirtualHost *:80>
   ServerName www.local_example.com
   ServerAlias local_example.com
   ServerAdmin address@example.com

   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>

Попробуйте следующее

Включить подробные журналы.

sudo nano /etc/apache2/apache2.conf

Найдите переменную LogLevel и измените ее со значения по умолчанию warn на info или debug. debug будет выдавать наибольшее количество сообщений.

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

Перезапустите Apache.

sudo service apache2 restart

Apache включает в себя небольшой инструмент проверки синтаксиса

apache2ctl -t

Проверка определений виртуальных хостов

apache2ctl -S
Комментарии (1)

После установки index.html имеет более высокий приоритет, поэтому вы все еще видите стандартную страницу Ubuntu проверьте эту папку var/www/html/ переименуйте или удалите эту страницу вот так просто

Комментарии (0)
Решение

Оказалось, что проблема была в разрешениях.

Когда вы храните веб-сайт в директории вне /var/www и подключаетесь по симлинку, то исходная директория, и ее родительская директория должны иметь разрешения 755.

По какой-то неизвестной причине, два неправильных сайта имели разные разрешения, и выполнение команды chmod -R 755 для каталога веб-сайта и его родительского каталога решило проблему.

Комментарии (3)