Назад | Перейти на главную страницу

Должны ли веб-сайты размещаться в / var / или / usr / в соответствии с рекомендуемым использованием?

В соответствии с руководство по структуре каталогов Linux, /usr/ для файлов приложений, и /var/ предназначен для файлов, которые изменяются (я предполагаю, это означает «файлы, принадлежащие приложениям»). Это верно?

Если это так, то я немного разрываюсь между использованием того и другого. Веб-сайт - это приложение (если оно, так сказать, динамическое), но в других случаях это просто набор файлов, используемых Apache.

По умолчанию www dir находится в /var/www/, поэтому следует ли нам последовать его примеру, используя /var/websites/ (или что-то подобное), или выберите /usr/websites/ поскольку они могли быть приложениями?

Это очень тривиальный вопрос, но, тем не менее, меня он беспокоит. В нашем случае я склоняюсь к /usr/web или что-то в этом роде, поскольку все наши веб-сайты - это приложения.

Обновить:

Это для веб-сайтов нашей компании; это не сервер виртуального хостинга, поэтому нам не нужно беспокоиться о разделении их на /home/ или что-нибудь в этом роде.

Согласно FHS, /usr для shareable, read-only data - не там, где вы хотите разместить сайт. Здесь вы должны поместить свой код (например, Fedora делает это для Wordpress). См. Также веб-ресурсы руководство по упаковке для Fedora.

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

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

Другое распространенное место для размещения файлов сайта - это /home - создав специального пользователя с именем website или что-то подобное, а затем поместив файлы в домашний каталог этого пользователя (например, /home/website).

Взгляните на Стандарт иерархии файловой системы (Википедия). Я сам использую / srv / web / $ domain / {htdocs, logs, cgi-bin, ...}.

Веб-сайты должны находиться в домашних каталогах пользователей. Это пользовательские данные, которые должны быть изолированы одним пользователем для каждого сайта, а динамический контент должен снова запускаться как отдельный пользователь с файлами, которые динамический контент должен читать и изменять при наличии соответствующих разрешений для этого.

Обновить:

Тот факт, что это не общий хостинг-сервер, не означает, что вам не следует применять передовые методы обеспечения безопасности и разделять независимые роли на их собственные зоны безопасности.

Полное руководство - это Стандарт иерархии файловой системы который говорит, что /srv это подходящее место.

Где они живут на диске, не имеет значения. Это там, где вы их хотите.

У меня есть символическая ссылка с / www на всех моих машинах туда, где они действительно живут, так что мне никогда не придется гадать от машины к машине. На некоторых старых машинах есть / u0 и / u1 для пользовательских дисков, и я помещаю туда веб-файлы. У некоторых / home установлен напрямую, поэтому они идут туда, но / www всегда указывает в нужное место.

Я также не помещаю никаких настроек ни в / usr, ни в / var. Он идет в / local (который, как вы уже догадались, обычно является символической ссылкой где-то в / u0 или / u1). Это упрощает резервное копирование. Я просто делаю резервную копию пользовательских дисков.

Конечно, у меня есть главный сайт распространения для моей выбранной ОС, NetBSD. Я делаю систему такой, как хочу, на этой основной машине (на самом деле это экземпляр xen) и rsync / usr вокруг. Облегчает мою жизнь.

Веб-сервер Apache имеет веб-сайт по умолчанию под / var / www / но предлагается поместить другие веб-сайты в / srv /

Я заметил это на Ubuntu Server 14.04 LTS. Его файл apache2.conf по умолчанию содержит закомментированный блок:

#<Directory /srv/>
#   Options Indexes FollowSymLinks
#   AllowOverride None
#   Require all granted
#</Directory>

По моему мнению, вам НИКОГДА и НИКОГДА не следует помещать какие-либо Интернет-службы в общую системную зону.

Ваши интернет-службы (Apache / Tomcat / SSH и т. Д.) Являются входной дверью, тогда, если вы поместите эти службы в свою системную зону, вы потенциально будете уязвимы для некоторых атак.

Больше, чем если бы вы поместили свои разные службы в безопасную зону песочницы, например, в другой отдельный раздел.

Вот пример структуры, которую вы можете использовать:

/ --> Root System --> On SDA1 --> Root and System security operator access only
 |
 | -->/usr /etc /var etc.

/SRV --> Web Root --> On SDB1 --> Web users access with minimal rights access.
 |
 |-->/srv/bin & /srv/dta
      |
      |-->/srv/bin/apache (or any other APPLICATION Binaries)
      |-->/srv/dta/SQL (or any other APPLICATION Datas like a 
                        database or web PHP files etc.)