www-data - não é possível criar diretórios

1

Estou executando o Ubuntu 8.04 LTS, seu servidor da Web (LAMP).

Minha raiz da web é:

/var/www/website/trunk/html/

Eu criei um diretório para uploads de usuários por trás disso, em:

/var/www/vault/

eu fiz:

chown -R www-data /var/www/vault/

e até bravamente: (foi um momento desesperado)

chmod 777 -R /var/www/vault

Meu script php não consegue criar subdiretórios em:

/var/www/vault

e eu preciso disso, tive sorte de carregar um arquivo para o diretório, no entanto, eu recebo erros como este quando ele tenta fazer diretórios ...

Warning: mkdir() [function.mkdir]: Permission denied in /var/www/website/trunk/html/jquery.uploadify/uploadretro.php on line 149
File /var/www/website/trunk/html../../../../vault/4d4d3092c24be8a8dac2ec269e969446.jpg does not exist.

Alguém poderia me ajudar ou sugerir algo?

Meu arquivo INI do php está configurado corretamente permitindo uploads, com um tamanho de 5m.

Alguma idéia?

Mais informações O comando na linha 149 do erro acima é:

mkdir(str_replace('//','/',$targetPath), 777, true);

Permissões:

drwxrwxrwx  2 www-data root 4.0K Jun  3 06:04 vault
    
por Mike Curry 03.06.2009 / 06:00

2 respostas

3

Para ajudar a depurar o acesso, sugiro que você entre no sistema e execute um comando como sudo -i -u www-data . Isto lhe dará um shell com os mesmos privilégios que o servidor web. Em seguida, simplesmente mude para o diretório / var / www / vault e veja se você pode criar arquivos e diretórios.

Se você pode criar arquivos / diretórios, então seu problema não é permissões e, em vez disso, algo está quebrado em seu aplicativo.

Ah, e bem, seu caminho parece estar quebrado.

/var/www/website/trunk/html../../../../vault/

Preste especial atenção ao html .. . Se html .. for o valor correto, esse caminho será resolvido para / var / vault , e não / var / www / vault .

    
por 03.06.2009 / 06:11
0

Reinicie o apache.

    
por 03.06.2009 / 06:01