Назад | Перейти на главную страницу

скрипты php работают под apache uid

У меня есть 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, но знаю, что раньше у них были проблемы с перезаписью пользовательских конфигураций.

  1. Убедитесь, что suPHP действительно установлен в Apache. Использование:

    httpd -l

чтобы вывести список встроенных модулей apache. Или поищите в своей конфигурации оператор Load. Быстрый способ проверки - прокомментировать операторы условной нагрузки и затем попытаться перезапустить Apache.

  1. Убедитесь, что suPHP включен в домене и что спецификации пользователя / группы верны в конфигурации httpd. (То, что вы опубликовали, выглядит хорошо.)

  2. После включения suPHP вы, скорее всего, сможете просто указать каталог нужному пользователю.

Честно говоря, (с точки зрения администратора) suphp - плохая идея и опасна. Вдвойне так в общей системе. При этом ... вы уверены, что suphp загружается? У вас есть красиво оформленный оператор, который полностью игнорируется, если модуль не загружается или отсутствует.