Мне удалось сделать mod_fastcgi работу с fpm, что позволяет мне настроить группу пользователей: запуск сценариев через определение пула fpm. Однако аналогичной альтернативы, например, скрипту python, выполняемому через mod_fastcgi, нет, поэтому я пытаюсь научиться использовать suexec для запуска любого скрипта через mod_fastcgi с пользователем: group i choose.Не удалось выполнить suexec с mod_fastcgi
Я начинаю с этой рабочей конфигурации:
#/etc/apache2/sites-available/test1
<VirtualHost *:80>
ServerName test1.slothcompany.net
DocumentRoot /var/www/test1
LogLevel Debug
ErrorLog /var/www/test1/error.log
<Directory /var/www/test1/>
Options Indexes Includes FollowSymLinks ExecCGI
AllowOverride All
DirectoryIndex index.php
AddHandler php5-fastcgi .php
Action php5-fastcgi /php5.fcgi
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
#/var/www/test1/php5.fcgi
#!/bin/bash
PHPRC="/var/www/test1/php.ini"
PHP_FCGI_CHILDREN=5
export PHPRC
export PHP_FCGI_CHILDREN
exec /usr/bin/php5-cgi
Я положил phpInfo()
внутри /var/www/test1/index.php
, которая показывает правильный путь php.ini
.
Теперь, чтобы активировать suexec
я:
- Установленная
apache2-suexec
:sudo apt-get install apache2-suexec
- Активированный
mod_suexec
:sudo a2enmod suexec
- измененных файлов разрешений:
sudo chown -R michele:michele /var/www/test1
- добавления этой строки в конфигурацию ВХост:
SuexecUserGroup michele michele
- Реактивировано si te и restarted apache:
sudo a2dissite test1 && sudo a2ensite test1 && sudo service apache2 restart
Пользователь: группа michele:michele
существует в системе. При работе test1.slothcompany.net
я вижу вывод phpInfo()
точно так же, как и раньше, и echo exec('whoami');
печатает www-data
вместо michele
.
sudo /usr/lib/apache2/suexec -V
сообщает, что файл журнала должен быть в /var/log/apache2/suexec.log
, но такого файла нет. Затем я знаю, что apache должен зарегистрировать файл error.log активацию оболочки suexec в качестве уведомления, но в файле error.log такого уведомления не найдено. Итак, я подозреваю, что по какой-то причине suexec не начинается вообще.
Я прочитал here список проверок Suexec делает , чтобы решить, если вызов успешен, но я не знаю, как проверить, что результаты этих проверок are..it говорит, что они должны быть записаны в журнале Suexec файл, но этот файл никогда не создается, как кажется.
Итак, что я делаю неправильно?
Спасибо вам большое.
Спасибо за все эти детали –
Добро пожаловать :) – swahnee