Ошибка 404 после перезагрузки сервера

Наткнулся недавно на весьма интересную проблему. Сервер работает трудится, всё как говорится хорошо. Но стоит произвести перезагрузку системы — apache выдаёт 404 ошибку. Более того, если после этого выполнить перезагрузку самого apache — всё снова начинает работать:

/etc/init.d/apache2 restart

Т.е. после перезагрузки системы apache выдаёт 404 ошибку, а после перезагрузки самого апача — всё начинает работать.

Подозрение пало на строку в логах апача:

[Sat Mar 10 13:25:39 2011] [error] [client 12.34.56.78] File does not exist: /etc/apache2/htdocs, referer: http://www.example.com/

Т.е. apache после перезагрузки полез в директорию «по-умолчанию», её там не оказалось и он тупо стал отдавать 404 радуясь внеплановому выходному. Надо ли говорить, что после какой нибудь технической перезагрузки оборудования сайт сам не поднимется.

Решение проблемы очень простое, а если быть точным их несколько, в файле /etc/apache2/apache2.conf обязательно должны присутствовать строки либо по указанию директивы ServerRoot:

ServerRoot "/etc/apache2"

Либо о доступных сайтах:

# Include the virtual host configurations:
Include sites-enabled/
Include sites-available/

По мне первое решение гораздо логичнее, но мало ли, может и второе пригодится, как и эта статья тоже.

Инструкции по теме:

Добавить комментарий