Apache permite acesso ao symlink

4

Por favor, ajude-me a descobrir isso, eu estou fora de opções que até mesmo o google. Não sei por que essa configuração do apache não está funcionando como eu esperava.

<VirtualHost *:80>        
        DocumentRoot "/var/www/x/frontend/www"
        ServerName test.dev
        Alias /uploads "/var/www/x/common/uploads"
        <Directory "/var/www/x/frontend/www">
                AllowOverride All
        </Directory>
        <Directory "/var/www/x/common/uploads">
                Options +FollowSymLinks
                AllowOverride All
                Order allow,deny
                allow from all   
        </Directory>
</VirtualHost>

Agora, ao acessar o link , recebo o 403 Forbidden. No log de erros do apache:

"AH00037: Symbolic link not allowed or link target not accessible: /var/www/x/common/uploads/something"

/var/www/x/common/uploads/something é um link simbólico para /home/myusername/something , que é uma pasta remota montada com sshfs.

/home/myusername/something tem 755 permissões e tudo dentro dele tem 777 permissões.

    
por Dalius 16.07.2014 / 10:25

1 resposta

3

Eu tenho dois palpites:

  1. / home / myusername tem 750 permissões, portanto, o Apache não consegue acessar subdiretórios

  2. O diretório montado ainda não está acessível para outros usuários (o FUSE o faz por padrão), tente sshfs -o allow_other para corrigir isso.

De qualquer forma, você precisa determinar se há algo errado com a configuração do Apache ou se o servidor Apache não pode acessar os arquivos. Tente fazer sudo -u www-data ls /var/www/x/common/uploads/something (altere o www-data para um usuário sob o qual o apache está sendo executado em seu sistema). Se você receber um erro, precisará corrigir permissões em algum lugar, caso contrário, há algo errado com a configuração.

    
por 16.07.2014 / 11:35