PHP executando para root, mas não para outros usuários (apache2 virtual)

0

Então, eu tenho um site configurado em /var/www de propriedade do root que pode executar o PHP sem problemas.

Eu criei um usuário, adicionei www-data a esse grupo de usuários e configurei um site virtual apontando para /home/user/public_html . Eu naveguei com êxito para o domínio associado a esse site virtual e carrego HTML de lá sem problemas.

Mas, quando eu criei index.php e coloquei alguns php simples ( <?php echo '<h1>test</h1>'; ?> ), ele mostra o código fonte do php.

O PHP no site de propriedade da raiz funciona bem; PHP no site de propriedade do usuário mostra a origem.

Então, eu sei que o php está trabalhando com o apache2, mas não quando o usuário está envolvido.

O PHP é executado como algo diferente de www-data? Então eu preciso adicionar algum outro usuário ao grupo do meu usuário como eu fiz com www-data ?

Isso faz sentido? Obrigado pela ajuda antecipadamente ... Estou aprendendo lentamente. :)

    
por Isaac Eiland-Hall 15.08.2015 / 13:48

1 resposta

0

Por padrão, o php é desativado explicitamente para / home / * / public_html. Para mudar isso no Ubuntu 14.04,

cd /etc/apache2/mods-enabled/
sudo cp php5.conf my-php5.conf
sudo rm php5.conf

e edite o my-php5.conf alterando as linhas

<IfModule mod_userdir.c>
   <Directory /home/*/public_html>
      php_admin_flag engine Off
   </Directory>
</IfModule>

para

<IfModule mod_userdir.c>
   <Directory /home/*/public_html>
      # php_admin_flag engine Off
   </Directory>
</IfModule>

reinicie o apache com

sudo /etc/init.d/apache2 restart

Esses comandos podem precisar de algumas alterações para outras versões do Ubuntu.

    
por meuh 15.08.2015 / 17:39