No meu 10,5 máquina Mac OS, eu gostaria de criar uma subpasta de ~/Documents
como ~/Documents/foo/html
ser http: // localhost / foo .
A primeira coisa que pensei em fazer é usar o Alias da seguinte maneira:
Alias /foo /Users/someone/Documents/foo/html
<Directory "/Users/someone/Documents/foo/html">
Options Indexes FollowSymLinks MultiViews
Order allow,deny
Allow from all
</Directory>
Isso me deixou 403 Proibido. No error_log, obtive:
[error] [client ::1] (13)Permission denied: access to /foo denied
A subpasta em questão tem acesso ao chmod 755. Tentei especificar gostos como http: //localhost/foo/test.php , mas isso também não funcionou. Em seguida, tentei a rota do link simbólico.
Entrou /Library/WebServer/Documents
e fez um link simbólico para ~/Documents/foo/html
. A raiz do documento possui
Options Indexes FollowSymLinks MultiViews
Isso ainda me deixou 403 Proibido:
Symbolic link not allowed or link target not accessible: /Library/WebServer/Documents/foo
O que mais eu preciso para configurar isso?
Solução :
$ chmod 755 ~/Documents
Em geral, a pasta a ser compartilhada e todas as suas pastas ancestrais precisam ser visualizadas pelo www
usuário do serviço.
fonte
Respostas:
Aposto que algum diretório acima do que você deseja acessar não tem permissões para permitir que o Apache o atravesse. Torne-se o usuário que o Apache está executando como (
sudo -i -u apache
ou qualquer outra coisa) e tente mudar para o diretório de seu interessels
. Se você não puder (conforme o esperado), tente entrar nos diretórios acima dele, um por um, até que um permita sua entrada. O subdiretório é o que precisa sero+x
definido. Espuma, enxágüe, repita conforme necessário.fonte
sudo -i -u _www
no OS X (como o usuário do Apache está _www na configuração padrão do apache no OS X), entãowhoami
continuo recebendo meu nome de usuário, e não _wwwsudo - www-data
(para Ubuntu).Usar
+FollowSymlinks
fonte
Verifique se o cofre de arquivos não está ativado. Eu tive o mesmo problema. Eu tentei de tudo o que pude encontrar. Nada funcionou. Mas depois de uma hora tentando descobrir isso, lembrei que tinha o cofre de arquivos ativado.
Desativá-lo resolveu o problema.
fonte
Verifique a propriedade do link simbólico. Como você está no Mac OS X, os proprietários de links simbólicos podem ser alterados. Em
/Library/WebServer/Documents
fazerls -l
Se o seu link simbólico para
~/Documents/foo/html
for chamadofoo
e tiver permissões comoPor padrão, no OS X, o Apache é executado como o grupo _www user e _www, portanto, no caso mencionado acima, não será possível atravessar o link simbólico para
~/Documents/foo/html
Execute
man 8 chown
no terminal do sistema ou veja online chown manVocê verá que o uso da
-h
opção alterará a propriedade do próprio link simbólico, em vez do arquivo para o qual ele aponta (sua origem). Então você pode fazer algo comoIsso mudará o simlink para
e o grupo Apache _www poderá atravessar o link.
fonte
Verifique o diretório / Users (ls -l / Users) para ver os direitos do seu usuário (alguém).
O diretório 'Sites' também está disponível corretamente em localhost / ~ alguem?
fonte