no Apache no Ubuntu, configurei um vhost, mas no navegador continuo recebendo o erro "403 Acesso proibido"; o log diz " Cliente negado pela configuração do servidor: / home / remix / ".
Procurando a solução online, encontrei muitas postagens sobre o acesso ao diretório (Permitir de todos, etc), mas até onde eu sei, já fiz isso. No httpd-vhosts.conf, 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 são ativados no httpd.conf.
Existe algo que eu não estou 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/
linux
apache-2.2
ubuntu
virtualhost
RemiX
fonte
fonte
Respostas:
Altere sua configuração de autorização:
... para a versão Apache 2.4 do mesmo.
Revise o documento de visão geral da atualização para obter informações sobre outras alterações que você possa precisar fazer - e esteja ciente de que a maioria dos exemplos de configuração e assistência que você encontra lá no Google (assim como neste site) se refere ao 2.2.
fonte
Verifique as permissões no diretório. Aposto que está definido para negar o acesso a qualquer pessoa que não seja você, por exemplo:
Se você vir
drwx------
exatamente, esse é o caso. Corrija-o executando:fonte
Verifique se o usuário que está executando o
httpd
serviço tem acesso a esses diretórios.fonte
User
param."cliente negado pela configuração do servidor" significa que o próprio servidor Linux proíbe o acesso ao arquivo, não o Apache.
Se o fornecimento de acesso através da alteração de permissões / propriedade / associação ao grupo não resolver o problema, a causa da rota poderá ser o SELinux proibindo o acesso a qualquer pasta que não possua o contexto apropriado do SE Linux, conforme explicado em 'Realocando um Apache DocumentRoot no Selinux' .
setenforce 0
torna o arquivo acessívelsetenforce 0
tornando novamente o arquivo não acessívelEntão, com certeza, o acesso é proibido pelo SELinux, sejam quais forem as permissões do arquivo.
fonte
Outro simples (mas complicado truque) que pode causar esse problema para as pessoas é quando os diretórios do usuário não estão em / home / * Mas em algum outro lugar, por exemplo, / nethome / *
O userdir.conf fornecido contém algo como isto: (mas com Userdir: disabled)
A especificação de diretório supõe ~ user == / home / user. Basta alterar ou adicionar a especificação de diretório para onde os diretórios pessoais do usuário estão.
Bastante óbvio, mas levei um tempo para descobrir !! :-P DUH!
por exemplo, ~ user == / nethome / user
Veja também uma autorização mais aberta nesse diretório em geral.
fonte