Где мне разместить файлы моего веб-сайта с несколькими виртуальными хостами?

Где мне разместить файлы моего веб-сайта с несколькими виртуальными хостами?

Если vhosts включены, где мне следует разместить файлы моего веб-сайта?

  1. /home/aunser/www
  2. /var/www/site1,/var/www/site2
  3. /usr/local/website/site1,/usr/local/website/site2

система CentOS 6.x/RHEL 6.x, SELinux включен.

решение1

Для Apache это не имеет значения, вы просто определяетеDocumentRootуказывая на каталог, где находятся файлы.

С практической точки зрения может быть полезно следовать соглашениям используемого вами дистрибутива, поскольку такие вещи, как SELinux и, возможно, AppArmor, могут иметь политики по умолчанию, которые требуют изменения, когда Apache указывает на расположения, отличные от стандартных.

решение2

Apache сам по себе не заботится — он использует то, что вы пишете в конфигурации vhost. Однако администраторам машины есть до этого дело: вы должны следовать соглашениям. Если вы не следуете общепринятым соглашениям, у вас могут возникнуть трудности с менеджерами пакетов.

Данные ниже /homeдолжны принадлежать определенному пользователю. Обычно это не подходит для контента веб-сайта.

Каталог /usrпредназначен для установленных программ. Он не меняется, за исключением случаев установки или обновления программ. Не помещайте туда веб-корень.

Два обычных расположения корневых каталогов веб-сервера:

  • Под/srv, который предназначен для такого рода вещей;
  • или под/var, который предназначен для данных, которые изменяются в течение обычного срока службы системы — обычно в /var/www/VHOST_NAME.

решение3

Если ты имеешь ввидугде следует разместить файлы, чтобы Apache мог получить к ним доступ, затем...

Это полностью зависит от вас, где вы размещаете свои файлы. Вы настраиваете свой vhost на использование любого выбранного вами пути с помощью директивы DocumentRoot.

Помимо обычных настроек дискреционного контроля доступа (пользователи и группы), в зависимости от вашего дистрибутива, вам может потребоваться перенастроить обязательный контроль доступа (SELinux или AppArmor и т. д.), чтобы разрешить Apache доступ на чтение или чтение/запись к документам.

Связанный контент