
Если vhosts включены, где мне следует разместить файлы моего веб-сайта?
/home/aunser/www
/var/www/site1
,/var/www/site2
/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
предназначен для установленных программ. Он не меняется, за исключением случаев установки или обновления программ. Не помещайте туда веб-корень.
Два обычных расположения корневых каталогов веб-сервера:
решение3
Если ты имеешь ввидугде следует разместить файлы, чтобы Apache мог получить к ним доступ, затем...
Это полностью зависит от вас, где вы размещаете свои файлы. Вы настраиваете свой vhost на использование любого выбранного вами пути с помощью директивы DocumentRoot
.
Помимо обычных настроек дискреционного контроля доступа (пользователи и группы), в зависимости от вашего дистрибутива, вам может потребоваться перенастроить обязательный контроль доступа (SELinux или AppArmor и т. д.), чтобы разрешить Apache доступ на чтение или чтение/запись к документам.