O Apache não seguirá Symlink

5

Eu tenho uma configuração do servidor LAMP (Ubuntu 12.10) na minha máquina de desenvolvimento. É um T60 modificado com um SSD.

A base do servidor está em / var / www. O Apache tem a seguinte configuração:

DocumentRoot /var/www
<Directory />
  Options FollowSymLinks
  AllowOverride None
</Directory>
<Directory /var/www/>
  Options Indexes FollowSymLinks MultiViews SymLinksIfOwnerMatch
  AllowOverride all
  Order allow,deny
  allow from all
</Directory>

Atualmente, estou desenvolvendo um site em destaque SilverStripe CMS. A pasta para o servidor é / var / www / sfk /. O framework e todos os recursos do cms relavant estão em suas respectivas pastas. A única pasta que precisa ser modificada seria a pasta / var / www / sfk / mysite. Por causa disso eu quero manter a pasta mysite no meu diretório home e criar uma ligação simbólica na pasta do servidor. Então, aqui está o que eu fiz:

ln -s ~/sfk/mysite/ /var/www/sfk/
sudo chgrp www-data /var/www/sfk/mysite -R

ls diz-me o seguinte:

/var/www/sfk (exerpt)

drwxr-xr-x  3 marvin www-data 4096 Nov 16 16:53 assets
drwxr-xr-x 12 marvin www-data 4096 Nov 16 16:53 cms
drwxr-xr-x 29 marvin www-data 4096 Nov 16 16:53 framework
-rw-r--r--  1 marvin www-data 2410 Nov 16 16:53 index.php
lrwxrwxrwx  1 marvin www-data   24 Nov 20 17:45 mysite -> /home/marvin/sfk/mysite/
-rw-rw-r--  1 marvin www-data  514 Nov 16 16:55 _ss_environment.php
drwxr-xr-x  4 marvin www-data 4096 Nov 16 16:53 themes

e

ls /var/www/sfk/mysite/

drwxrwxr-x 6 marvin www-data 4096 Nov 16 00:15 code
drwxrwxr-x 2 marvin www-data 4096 Nov 16 11:51 _config
-rwxrwxr-x 1 marvin www-data 2685 Nov 16 15:39 _config.php
drwxrwxr-x 2 marvin www-data 4096 Nov 16 00:15 css
drwxrwxr-x 2 marvin www-data 4096 Nov 16 00:15 images
drwxrwxr-x 2 marvin www-data 4096 Nov 16 00:15 javascript
drwxrwxr-x 5 marvin www-data 4096 Nov 16 00:15 templates

Esta é literalmente a mesma configuração que eu tenho na minha máquina desktop. O problema que tenho é que o mysite / pasta simplesmente não é reconhecido. Eu sou grato por todo conselho que recebo. Estou frustrado porque estou preso a esse problema por horas.

    
por Weishaupt 20.11.2012 / 17:57

2 respostas

5

Tem certeza de que a conta www-data tem a capacidade de percorrer cada componente de diretório de /home/marvin/sfk/mysite/ ? Portanto, www-data precisa ter acesso a home , marvin , sfk e mysite . Você provavelmente precisará ter o+x em todos os componentes desse caminho. Quando um link simbólico é seguido, o usuário que segue o link simbólico deve ter a capacidade de realmente chegar à pasta / arquivo de destino.

Se você não quiser conceder acesso www-data à sua pasta, convém procurar uma montagem de ligação.

    
por 20.11.2012 / 19:40
0

Quais são as permissões em seu diretório pessoal e nos subdiretórios, pois eles precisam estar acessíveis ao usuário do Apache, por exemplo.

chmod 755 ~/ ~/sfk ~mysite
    
por 20.11.2012 / 19:48