У меня есть vps, на котором работает directadmin с apache 2 и php 5. Все работало нормально до сегодняшнего дня, так как я обнаружил, что сценарии PHP выполняются под apache: apache, а не под uid владельца файла. Это испортило всю систему, но главная проблема в том, что я не могу понять, ПОЧЕМУ suphp внезапно перестанет работать ??
Некоторая информация:
root # php -v
PHP 5.2.17 (cli) (built: Aug 17 2011 21:02:28)
Copyright (c) 1997-2010 The PHP Group
Zend Engine v2.2.0, Copyright (c) 1998-2010 Zend Technologies
httpd.conf
User apache
Group apache
...
<Directory "/var/www/html">
Options -Indexes FollowSymLinks
AllowOverride All
Order allow,deny
Allow from all
<IfModule mod_suphp.c>
suPHP_Engine On
suPHP_UserGroup webapps webapps
SetEnv PHP_INI_SCAN_DIR
</IfModule>
</Directory>
<VirtualHost 192.168.56.55:80 >
...
SuexecUserGroup robert robert
...
<Directory /home/robert/domains/testing.com/public_html>
Options +Includes -Indexes
php_admin_flag engine ON
</Directory>
</VirtualHost>
дополнительный / httpd-php-handlers.conf
<FilesMatch "\.(inc|php|php3|php4|php5|php6|phtml|phps)$">
AddHandler application/x-httpd-php .inc .php .php3 .php4 .php5 .phtml
AddHandler application/x-httpd-php-source .phps
</FilesMatch>
Когда я запускаю phpinfo () внутри / var / www / html или home / robert / domains / testing.com / public_html (с владельцем файла robert: robert), результат один и тот же: User/Group apache(48)/48
Как я могу это решить?
suPHP скорее всего не установлен.
Поскольку вы используете операторы условной загрузки, suPHP мог быть удален при обновлении Apache.
Я больше не работаю с модулями DirectAdmin, но знаю, что раньше у них были проблемы с перезаписью пользовательских конфигураций.
Убедитесь, что suPHP действительно установлен в Apache. Использование:
httpd -l
чтобы вывести список встроенных модулей apache. Или поищите в своей конфигурации оператор Load. Быстрый способ проверки - прокомментировать операторы условной нагрузки и затем попытаться перезапустить Apache.
Убедитесь, что suPHP включен в домене и что спецификации пользователя / группы верны в конфигурации httpd. (То, что вы опубликовали, выглядит хорошо.)
После включения suPHP вы, скорее всего, сможете просто указать каталог нужному пользователю.
Честно говоря, (с точки зрения администратора) suphp - плохая идея и опасна. Вдвойне так в общей системе. При этом ... вы уверены, что suphp загружается? У вас есть красиво оформленный оператор, который полностью игнорируется, если модуль не загружается или отсутствует.