LAMP 403 acesso proibido na pasta personalizada

2

Eu sei que é um problema comum, e é principalmente uma questão de permissões para o usuário www-data , mas seguindo este guia eu tenho o erro clássico:

403 forbidden 
You don't have permission to access /web on this server.

Não consegui encontrar uma solução on-line, apesar da enorme quantidade de pessoas que enfrentam o mesmo problema. Desculpa! :)

Este é o meu arquivo 000-default.conf

<VirtualHost *:80>
    ServerAdmin webmaster@localhost

    DocumentRoot /home/tom/Dropbox/web
    <Directory />
            Options FollowSymLinks
            AllowOverride All
    </Directory>
    <Directory /home/tom/Dropbox/web>
            Options Indexes FollowSymLinks MultiViews
            AllowOverride All
            Order allow,deny
            allow from all
    </Directory>

    ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
    <Directory "/usr/lib/cgi-bin">
            AllowOverride All
            Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
            Order allow,deny
            Allow from all
    </Directory>

    ErrorLog /home/tom/Dropbox/web/error.log

    # Possible values include: debug, info, notice, warn, error, crit,
    # alert, emerg.
    LogLevel warn

    CustomLog home/tom/Dropbox/web/access.log combined

 Alias /doc/ "/usr/share/doc/"
 <Directory "/usr/share/doc/">
     Options Indexes MultiViews FollowSymLinks
     AllowOverride All
     Order deny,allow
     Deny from all
     Allow from 127.0.0.0/255.0.0.0 ::1/128
 </Directory>

e, claro, a pasta na qual tentei configurar meu site local está em ~/Dropbox/web .

Finalmente, estas são as permissões atuais

drwxrwxrwx   8 tom tom   4096 mars  26 09:57 Dropbox
drwxrwxrwx   3 tom tom   4096 mars  26 11:47 web

Obrigado

    
por Sfrow 26.03.2015 / 13:48

1 resposta

8

Isso acontece depois que você atualiza para o apache 2.4.9 +

basicamente apenas substitua

Order allow,deny
allow from all

com

Require all granted

deve corrigir este problema.

algo como

<Directory /home/tom/Dropbox/web>
    Options Indexes FollowSymLinks MultiViews
    AllowOverride All
    Require all granted
</Directory>

ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
<Directory "/usr/lib/cgi-bin">
    AllowOverride All
    Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
    Require all granted
</Directory>

Aqui está uma observação do link

  

Se você deseja restringir o acesso a partes do seu site com base no endereço de host de seus visitantes, isso é feito com mais facilidade usando mod_authz_host .

     

O Exigir fornece uma variedade de maneiras diferentes de permitir ou negar acesso a recursos. Em conjunto com as diretivas RequireAll , RequireAny e RequireNone , esses requisitos podem ser combinados de maneiras arbitrariamente complexas para impor o que quer que sua política de acesso aconteça ser.

     

As diretivas Permitir , Negar e Ordem , fornecidas por mod_access_compat , estão obsoletas e desaparecerão em uma versão futura. Você deve evitar usá-los e evitar tutoriais desatualizados que recomendem seu uso.

    
por Jacob Benny John 26.03.2015 / 21:01