scripts php estão sendo executados sob o apache uid [closed]

1

Eu tenho um vps, rodando o directadmin com o apache 2 e o php 5. Tudo funcionou bem, até hoje, desde que descobri que os scripts PHP são executados sob o apache: apache, e não sob o proprietário do arquivo uid. Isso estragou todo o sistema, mas o principal problema é que eu não consigo descobrir por que suphp iria parar de funcionar de repente ??

Algumas informações:

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

link

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>

extra / 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>

Sempre que eu executo phpinfo () dentro de / var / www / html, ou home / robert / domains / testing.com / public_html (com o proprietário do arquivo robert: robert), o resultado é o mesmo: User/Group apache(48)/48

Como posso resolver isso?

  • e o log do suphp está vazio: (
por develroot 04.01.2012 / 22:30

2 respostas

2

suPHP provavelmente não está instalado.

Como você está usando instruções de carga condicional, o suPHP pode ter sido removido em uma atualização do Apache.

Eu não trabalho mais nas caixas DirectAdmin, mas sei que costumavam ser problemáticas com a substituição de configurações personalizadas.

  1. Confirme se o suPHP está realmente instalado no Apache. Use:

    link

para listar os módulos internos do apache. Ou procure por uma instrução Load em sua configuração. Uma maneira rápida de testar é comentar as instruções de carga condicional e tentar reiniciar o Apache.

  1. Assegure-se de que o suPHP esteja ativado no domínio e que as especificações do usuário / grupo estejam corretas na configuração do httpd. (O que você postou parece ser bom.)

  2. Uma vez que o suPHP esteja habilitado, você pode simplesmente chown o diretório para o usuário correto.

por 04.01.2012 / 23:25
0

Honestamente, (do ponto de vista do administrador), o suphp é uma má ideia e perigoso. Doubly assim em um sistema compartilhado. Dito isto ... você tem certeza de que suphp está sendo carregado? Você tem uma instrução bem formatada que seria completamente ignorada se o módulo não carregasse ou estivesse faltando.

    
por 04.01.2012 / 23:18