November 2019

S M T W T F S
      12
34 5 678 9
10111213141516
17181920212223
24252627282930

Style Credit

Expand Cut Tags

No cut tags
Monday, March 30th, 2009 12:54 pm
Стандартная дебиановская сборка апача предполагает, что DocumentRoot лежит в /var/www.
Ну и пусть себе лежит, место ничем не хуже других. Тем более, что если просто зайти на морду сайта, то срабатывает установленный по умолчанию RedirectMatch ^/$ /apache2-default/

Если сайтов становится больше одного, то каждому надо создавать свой подкаталог. Подкаталоги логично создавать там же - в /var/www/.

А дефолтовый сайт часто оставляют. Он ловит все запросы, не адресованные к другим явно определённым сайтам, и радостно говорит It works!. Ну и пусть говорит.

Вот тут-то и прячется несколько неожиданная засада. Остальные сайты лежат аккурат в подкаталогах /var/www. Который есть DocumentRoot от дефолтового сайта.
То есть, через него можно получить доступ к файлам всех остальных сайтов.

И что особенно радостно, по умолчанию для /var/www/ включены Indexes и FollowSymLinks, а никакой перл или PHP как раз не включены. Поэтому есть сильно ненулевая вероятность, что все скрипты будут отдаваться в виде исходников.

Мораль:
1) отключайте ненужную функциональность. даже если она на первый взгляд ничему не мешает. чисто из чувства паранойи.

2) не создавайте DocumentRoot одного сайта в подкаталоге другого. а дефолтовый сайт, если вы решили его оставить, лучше перенести на уровень пониже - например, в /var/www/default

3) блоки <Directory> по возможности располагайте на глобальном уровне, ВНЕ <VirtualHost>. и ограничения доступа приделывайте к Directory, а не к VirtualHost. в качестве дополнительной защиты от непредусмотренного доступа через другой виртуальный хост.

Написано сие по результатам внимательного рассматривания собственного сервера.
А у вас, случайно, не так? :)
Thursday, April 16th, 2009 01:35 am (UTC)
Ты меня пугаешь такими заявлениями, хотя я и не очень удивлен :>

man hier ?
Thursday, April 16th, 2009 05:18 am (UTC)
Да знаю я man hier. Но заметим, FreeBSD кладёт www в /usr/local :)
А вообще, такое моё мнение сформировалась в процессе постройки систем бэкапов на серверах — /var бэкапить неохота совершенно, там много (собственно, всё кроме почты) того, что при крахе винта и не потребуется. Потребуется /etc, /usr/local/etc и /usr/home. Плодить сущности не хочется — так что я и сайты и базы данных переношу в /usr/home :)
Да, бэкап у меня конечно нищебродский — места мало, каналы тощие, и бэкапить всё то, что есть на исталяционном диске я, опять же, смысла не вижу, бэкаплю с расчётом на ПЕРЕстановку в случае краха и разворота только действительно уникальных данных.
Thursday, April 16th, 2009 04:32 pm (UTC)
it depends.
на почтовом сервере, например, почта - это как раз то, что надо бэкапить, а всё остальное быстрее переналить, чем восстанавливать :)
Thursday, April 16th, 2009 04:42 pm (UTC)
Ну, когда мой сервер стал ещё и почтовым, я и почту перенёс в /usr/home, та и живёт там — /usr/home/v-mail (потому что всё виртуальное). Ничуть не хуже /var/spool/mail'а, благо mail'ом там почту никто не читает.