Как работают виртуальные хосты Apache?

Только начал знакомиться с apache+php, никак не могу понять одну вещь: почему апач продолжает работать (отдавать контент сайта), когда в нем не прописано ни одного виртуального хоста? Причем на любой порт, какой бы мы ни добавили в ports.conf .

Мало того, отдает контент он из папки /var/www , хотя в доках к апачу сказано что DocumentRoot по-умолчанию /usr/local/apache/htdocs , но в конфигах установленного апача он вообще нигде не переопределяется на /var/www

p.s.
Версию документации не перепутал.
service apache2 restart делать не забывал.
  • Вопрос задан
  • 2893 просмотра
Решения вопроса 1
@inkvizitor68sl
Linux-сисадмин с 8 летним стажем.
Ну апач он дурак =)
Он биндится на порт, а чего ему дальше делать - сам придумывает.

Виной тому то, что они вынесли Listen из секции виртуалхоста выше. nginx, например, без хотя бы одного server {} он не взлетит, т.к. listen можно указывать только внутри server {} (а если не указать, то он он просто будет считать, что там написано listen 80).

/var/www - это специфика вашего дистрибутива linux. Оно в исходниках апача переопределяется при сборке:
./httpd.spec:1:%define contentdir /var/www
anonscm.debian.org/gitweb/?p=pkg-apache/apache2.gi...
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
в апаче инклудиятся все конфиги находящиеся в папке /var/www/apache2/
Включая такой default.conf далее думаюдогадаешся.

В зависимости от дистрибутива может находиться в разных подкаталогах
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы