Apache 2 Link simbólico não permitido ou destino do link não acessível

2

Meu servidor apache é executado como usuário foo.

Eu tenho alguns aplicativos Rails em / home / foo / app1 / home / foo / app2. Cada um deles tem um vhost

<VirtualHost *:80>
    ServerName app1.foobar.com
    ServerAlias www.app1.foobar.com
    DocumentRoot /var/www/html/app1/current/public
    RailsEnv production
    <Directory /var/www/html/app1/current/public>
    AllowOverride all
     Options -MultiViews
    </Directory>
</VirtualHost>

Eu tenho um link simbólico em / var / www / html / app1:

current -> /home/foo/app1/tmp_20102611

Todas as permissões de arquivo estão definidas corretamente (usuário foo group foo), eu posso passar pelo sistema de arquivos a partir do shell.

SELINUX está desativado

Distro é CentOs 5.5

Qual o link simbólico acima eu recebo um 403 e uma entrada de erro no error_log

Symbolic link not allowed or link target not accessible:/var/www/html/app1/current

Quando eu symlink meu aplicativo no subdir de / var / www / html em vez de / home / foo ele funciona.

Como posso evitar esse erro ainda colocando meu aplicativo no meu diretório / home / foo?

    
por astropanic 26.11.2010 / 07:26

2 respostas

8

Eu tive um problema muito parecido. Como você, eu era incapaz de seguir links simbólicos sob o meu diretório pessoal, mesmo que eu tivesse o FollowSymlinks ativado mais eu poderia ls com meu usuário http, mas colocando links simbólicos em / srv / http funcionou muito bem ... eu corrigi-lo por chmod ' fazendo com que meu diretório home seja executável:

chmod +x /home/mgalgs

E isso fez isso por mim! Talvez tente

chmod +x /home/foo/app1
    
por 14.01.2011 / 22:32
1

Você pode tentar definir a opção

Options +FollowSymLinks 

na sua configuração. Consulte a documentação aqui para obter mais detalhes.

    
por 26.11.2010 / 08:43