Não é possível usar links simbólicos no diretório local / var / www

5

Estou configurando meu servidor LAMP local e, quando vou a ele, não consigo seguir links simbólicos com o usuário do Apache (www-data). Neste ponto, eu tentei chowning e chmoding e adicionei o
Opções FollowSymLinks para o meu arquivo httpd.conf para o meu DocumentRoot. Eu estou em uma perda.

Então, aqui está o que eu vou perguntar:

Se você estivesse configurando seu Apache com uma instalação padrão 11.10 LAMP, quais seriam as etapas necessárias para que os links simbólicos funcionassem corretamente para o usuário do Apache?

    
por b. e. hollenbeck 02.12.2011 / 04:30

3 respostas

4

Isso soa como um problema de permissão. Certifique-se de que cada diretório e diretório pai que o Apache deve acessar (ambos em / var / www e nos diretórios de destino dos links simbólicos) tenha o bit de execução global definido.

Por exemplo, se os seus links simbólicos apontarem para / home / somebody / www, faça o seguinte:

sudo chmod a+x /var /var/www /home /home/somebody /home/somebody/www

É não necessário para definir o acesso de leitura em qualquer diretório; somente os arquivos que o Apache deve ler devem ter permissões de leitura apropriadas.

    
por Scott Severance 02.12.2011 / 09:53
0

Gostaria de ver as permissões com o meu script pathlld ( link ):

Um exemplo de pathlld :

walt@aardvark:~(0)$ ll $(type -p emacsclient)  
lrwxrwxrwx 1 root root 29 2011-10-23 11:20 /usr/bin/emacsclient -> /etc/alternatives/emacsclient  
walt@aardvark:~(0)$ pathlld $(type -p emacsclient)   
drwxr-xr-x 27 root root 4096 2011-12-02 04:07 /  
drwxr-xr-x 12 root root 4096 2011-10-23 19:29 /usr  
drwxr-xr-x 2 root root 135168 2011-12-02 16:03 /usr/bin  
lrwxrwxrwx 1 root root 29 2011-10-23 11:20 /usr/bin/emacsclient -> /etc/alternatives/emacsclient  
-rwxr-xr-x 1 root root 23440 2011-08-14 12:41 /usr/bin/emacsclient  
drwxr-xr-x 27 root root 4096 2011-12-02 04:07 /  
drwxr-xr-x 234 root root 12288 2011-12-02 16:06 /etc  
drwxr-xr-x 2 root root 20480 2011-11-29 09:31 /etc/alternatives  
lrwxrwxrwx 1 root root 28 2011-10-23 11:20 /etc/alternatives/emacsclient -> /usr/bin/emacsclient.emacs23  
-rwxr-xr-x 1 root root 23440 2011-08-14 12:41 /etc/alternatives/emacsclient  
drwxr-xr-x 27 root root 4096 2011-12-02 04:07 /  
drwxr-xr-x 12 root root 4096 2011-10-23 19:29 /usr  
drwxr-xr-x 2 root root 135168 2011-12-02 16:03 /usr/bin  
-rwxr-xr-x 1 root root 23440 2011-08-14 12:41 /usr/bin/emacsclient.emacs23  
    
por waltinator 02.12.2011 / 22:28
0

exemplo:

$ mkdir /home/myuser/proyects/php/myproyect

$ cd /var/www/

$ sudo ln -s /home/myuser/proyects/php/myproyect .

agora você precisa:

1) defina o apache como dono do seu projeto

$ sudo chown myuser:www-data /home/myuser/proyects/php/myproyect -R

2) defina as permissões de + x em cada pasta para o seu caminho

$ sudo chmod +x /home/myuser/proyects
$ sudo chmod +x /home/myuser/proyects/php
$ sudo chmod +x /home/myuser/proyects/php/myproyect

Agora você pode ver seu projeto em http://localhost .

se algum problema tentar:

reinicie o apache

$ sudo service apache2 restart

se o problema persistir, tornar o usuário do apache proprietário do link

$ cd /var/www/
$ sudo chown myuser:www-data myproyect -R

se o problema persistir, adicione permissões de execução em sua casa

$ sudo chmod +x /home/myuser/
    
por David Rearte 08.12.2014 / 17:21