Я знаю, что есть разные способы сделать это, но я не уверен, что «лучший» способ подойдет для моей конкретной ситуации:
Моя первая мысль была использовать mod_fcgi
так как я думаю, что это обычно делается в некоторых общих серверных средах, которые я использовал. Я, конечно, погуглил эту настройку, но большинство руководств, которые я нашел, были случайными сообщениями в блогах. Я бы хотел что-то более убедительное (например, HOWTO KB компании VPS или вики-сайт). Таким образом, я могу указать администратору на него как на общее руководство, которое, я уверен, он приспособится к тому, как он настроил этот конкретный сервер.
Я сомневаюсь, что вы найдете это аккуратно написанным из надежный источник.
Я думаю, что ответ на ваш главный вопрос - взглянуть на suPHP. К сожалению, документация довольно скудная.
Из коробки suPHP скомпилирован в параноидальном режиме, что означает, что вы должны указать пользователя и группу, которые вы хотите, чтобы PHP запускался как с suPHP_UserGroup
директива для каждого виртуального хоста (также можно установить глобальное значение по умолчанию). Каждый виртуальный хост будет выглядеть примерно так
<VirtualHost *:80>
suPHP_Engine on
ServerName hostname.tld
DocumentRoot /home/websites/hostname.tld
suPHP_UserGroup hostname hostgroup
</VirtualHost>
Если у вас есть (или ожидаете иметь) большое количество хостов, описанный выше метод может стать трудным для администрирования. Вы можете скомпилировать suPHP самостоятельно и изменить paranoid
режим для owner
Режим. Это запускает сценарии от имени владельца / группы файла .php и позволяет использовать apache2. VirtualDocumentRoot
и значительно упрощает настройку виртуального хоста.
<VirtualHost *:80>
suPHP_Engine on
ServerName something.tld
ServerAlias *
VirtualDocumentRoot /home/websites/%1/public_html
</VirtualHost>
Вам нужно будет отключить check_vhost_docroot
в вашем suphp.conf, чтобы последняя конфигурация работала
;Check wheter script is within DOCUMENT_ROOT
check_vhost_docroot=false
Выполнение вышеуказанного позволяет apache «запускать» сайты в качестве пользователя / группы учетной записи.
Остальные ваши баллы - это базовое администрирование, о котором должен знать ваш администратор.