Apache “Cliente negado pela configuração do servidor”, apesar de permitir acesso ao diretório (configuração do vhost)

35

no Apache no Ubuntu eu configurei um vhost, mas no navegador eu continuo recebendo um erro "403 Access forbidden"; o log diz " Cliente negado pela configuração do servidor: / home / remix / ".

Procurando pela solução on-line, encontrei muitas postagens sobre o acesso ao diretório (Permitir de todos, etc), mas, até onde eu sei, já fiz isso. No link existe o seguinte código:

NameVirtualHost *:80

<VirtualHost *:80>
    ServerAdmin [email protected]
    DocumentRoot "/opt/lampp/htdocs/"
    ServerName localhost
    ServerAlias localhost
    ErrorLog "logs/dummy-host.example.com-error_log"
    CustomLog "logs/dummy-host.example.com-access_log" common
</VirtualHost>

<VirtualHost *:80>
    ServerAdmin webmaster@localhost
    DocumentRoot "/home/remix/"
    ServerName testproject
    ServerAlias testproject
    <Directory "/home/remix/">
        Options Indexes FollowSymLinks Includes ExecCGI
        AllowOverride All
        Order allow,deny
        Allow from all
    </Directory>
</VirtualHost>

Eu também adicionei

127.0.0.1    testproject

para o arquivo / etc / hosts.

Além disso, a pasta / home / remix / contém um arquivo index.html e os vhosts estão habilitados no httpd.conf.

Existe alguma coisa que eu não esteja vendo?

Edit: Esta é a entrada error_log do Apache:

[Sat Aug 18 09:15:32.666938 2012] [authz_core:error] [pid 6587] 
[client 127.0.0.1:38873] AH01630: client denied by server configuration: /home/remix/
    
por RemiX 16.08.2012 / 10:24

4 respostas

59

Altere sua configuração de autorização:

<Directory /home/remix/>
    #...
    Order allow,deny
    Allow from all
</Directory>

... para a versão Apache 2.4 do mesmo.

<Directory /home/remix/>
    #...
    Require all granted
</Directory>

Revise o documento de visão geral de atualização para obter informações sobre outras alterações que você pode precisar fazer - e esteja ciente que a maioria dos exemplos de configuração e assistência que você encontra no Google (assim como neste site) está se referindo ao 2.2.

    
por 20.08.2012 / 17:36
4

Verifique as permissões no diretório. Eu apostaria que está definido para negar acesso a qualquer pessoa, exceto você mesmo, por exemplo:

$ ls -ld /home/remix
drwx------ 92 remix remix 4096 Aug 17 22:59 /home/remix

Se você vir drwx------ exatamente, esse é o caso. Corrigi-lo executando:

chmod a+x /home/remix
    
por 18.08.2012 / 09:19
3

Certifique-se de que o usuário que está executando httpd service tenha acesso a esses diretórios.

    
por 16.08.2012 / 14:58
1

"cliente negado pela configuração do servidor" significa que o próprio servidor Linux proíbe o acesso ao arquivo, não ao Apache.

Se o fornecimento de acesso através da alteração de permissões / propriedade / associação a grupos não resolver o problema, a causa da rota pode ser o SELinux proibindo o acesso a qualquer pasta que não tenha o contexto apropriado do SE Linux, conforme explicado em 'Relocating an Apache DocumentRoot sob Selinux '.

  • Se desativar temporariamente o SELinux fazendo setenforce 0 torna o arquivo acessível
  • Considerando que a reativação do SELinux fazendo setenforce 0 torna novamente o arquivo não acessível

Então, com certeza o acesso é proibido pelo SELinux, quaisquer que sejam as permissões do arquivo.

    
por 10.02.2017 / 18:49