Configurei o Compartilhamento da Web nas Preferências do Sistema no Mac OS X 10.6 e cliquei no link que ele me deu lá. Infelizmente, o Apache me deu este erro 403:
Proibido
Você não tem permissão para acessar /~myusername/index.html neste servidor.
O log de acesso é exibido: 10.0.1.2 - - [30/Jun/2010:16:25:15 -0700] "GET /~myusername/ HTTP/1.1" 403 210
O log de erros é exibido: [Wed Jun 30 16:26:09 2010] [error] [client 10.0.1.2] client denied by server configuration: /Users/myusername/Sites/
Curiosamente, acessar http: // localhost funciona bem. É apenas com duas das pastas de usuário com as quais estou tendo problemas, a outra pasta de usuário, que é mais recente que a minha atualização do sistema, está funcionando bem.
Eu já tinha esse trabalho em minha máquina no Leopard antes, então alterei tudo ~/Sites
para 755, o que não adiantou. Alguma sugestão? Eu presumo que fiz algo na minha máquina que causou isso, pois não consigo imaginar a Apple estragando algo assim.
Eu configurei o PEAR com essas instruções , mas não tenho idéia se isso poderia ser a causa disso.
fonte
Respostas:
A Apple possui um documento de suporte para esse problema . Corrigir o problema envolve a criação de um arquivo
/etc/apache2/users/yourusername.conf
(seu nome de usuário é o nome abreviado da conta , por exemplodanielbeck
- geralmente é o nome da sua pasta pessoal/Users
) com o seguinte conteúdo:Depois, execute
sudo chown root:wheel /etc/apache2/users/yourusername.conf
e reinicie o Apache.fonte
sudo apachectl restart
no seu terminal.Para que o Apache veja o arquivo, o usuário que o Apache executa como (provavelmente
www
ou_www
) deve ter acesso aos diretórios de Sites desses usuários. Ter acesso de leitura / execução ao conteúdo de~/Sites
não é suficiente, pois é necessário permitir que ele atravesse/
o caminho para~/Sites
. Então certifique-se/
,/Users
,/Users/myusername
, e/Users/myusername/Sites
todos têm pelo menosa+x
permissão (o bit de execução em diretórios permite que classe de usuário para percorrer o diretório, mesmo que o acesso de leitura não é permitido).Se algum desses diretórios não mostrar o último
x
conjunto (aquele para "outros"), use algo parecidochmod a+x ...
para defini-lo para esse diretório.Se a ACL de qualquer um desses diretórios mostrar que o
www
acesso foi negado especificamente ao usuário, use os argumentos apropriadoschmod
para corrigir as ACLs.fonte
Para referência, eu apenas lidei com isso, e nenhuma das respostas aqui funcionou no meu caso específico. Eu estava configurando hosts virtuais, mas o mais importante era que meus arquivos htaccess realmente funcionavam.
Mudei em "AllowOverride None" para "AllowOverride All" no meu arquivo /etc/apache2/users/USERNAME.conf, e todos os meus sites começaram a ser proibidos.
Eu mudei de volta e depois mudei apenas para um site no meu arquivo httpd-vhosts.conf, e somente esse site foi proibido.
Depois de examinar os logs e ver que o problema estava na reescrita de URL e na falta de FollowSymLinks, voltei ao arquivo USERNAME.conf. Alterno "AllowOverride None" para "AllowOverride All" e adicionei "Options + FollowSymLinks" na próxima linha.
As coisas começaram a funcionar. Eu vim usando o xampp no Windows e muitas dessas configurações já estavam definidas em todo o servidor para manequins como eu.
fonte
Options +FollowSymLinks
funcionou como um encanto.Eu tinha o mesmo problema: minha conta (antiga) não estava acessível, mas a conta de outro usuário criada após a atualização para o Lion funcionou perfeitamente.
Depois de garantir que o seu /etc/apache2/users/USERNAME.conf fique assim:
faça uma raiz do sudo chown: wheel /etc/apache2/users/USERNAME.conf
parece que essa configuração de permissão não foi definida durante a atualização do sistema operacional, e o usuário do Apache não pode ler o arquivo de configuração e gera um erro.
Pelo menos isso resolveu para mim.
fonte
sudo apachectl restart
depois disso.atualização para Lion em 10/2011 eu tive que adicionar também
UserDir ativado para que meu /etc/apache2/extra/httpd-userdir.conf fique assim:
fonte
Continuando a conversa a partir dos comentários iniciais da pergunta - Confira seu
/etc/apache2/httpd.conf
arquivo. Na minha máquina, eu tenho o seguinte:Eu suspeito que o seu está comentado. Lembro-me vagamente de mudar isso manualmente quando passava de 10,5 para 10,6 e o padrão foi alterado.
Provavelmente isso é óbvio, mas você precisará usar
sudo
para editar o arquivo, pois ele será de propriedade do root.fonte
Meu caso é o diretório XAMPP + Mac OS X 10.7 + na pasta Dropbox (fazendo referência cruzada a minha outra pergunta no Stack Overflow)
403 O Acesso Proibido é relatado pelo Apache; portanto, segui o comentário acima para alterar Usuário no
/XAMPP/xamppfiles/etc/httpd.conf
, deUser nobody
paraUser my_user_name
. Reinicie o Apache e ele funciona bem.fonte
Você provavelmente não tem os índices ativados. Caso contrário, você precisará criar um arquivo de índice (
index.html
ouindex.php
) ou especificar o arquivo explicitamente, ou sejahttp://localhost/~me/mypage.html
.fonte
~myusername
tudo o que acredito.http://localhost/
deve apontar para/Users/youruser/Sites/
.