내 맥 OS 10.5 시스템에서, 나는의 하위 폴더를 설정하고 싶은 ~/Documents
처럼 ~/Documents/foo/html
될 수 // 로컬 호스트 / foo는 : HTTP를 .
내가 생각한 첫 번째 일은 다음과 같이 Alias를 사용하는 것입니다.
Alias /foo /Users/someone/Documents/foo/html
<Directory "/Users/someone/Documents/foo/html">
Options Indexes FollowSymLinks MultiViews
Order allow,deny
Allow from all
</Directory>
이것은 403 Forbidden을 받았다. error_log에서 다음을 얻었습니다.
[error] [client ::1] (13)Permission denied: access to /foo denied
해당 하위 폴더에는 chmod 755 액세스 권한이 있습니다. http : //localhost/foo/test.php 와 같은 것을 지정하려고 시도했지만 작동하지 않았습니다. 다음으로 심볼릭 링크를 시도했습니다.
(으)로 들어가서 /Library/WebServer/Documents
링크를 만들었습니다 ~/Documents/foo/html
. 문서 루트는
Options Indexes FollowSymLinks MultiViews
이것은 여전히 403 Forbidden을 받았습니다.
Symbolic link not allowed or link target not accessible: /Library/WebServer/Documents/foo
이것을 설정하기 위해 무엇이 더 필요합니까?
해결책 :
$ chmod 755 ~/Documents
일반적으로 공유 할 폴더와 모든 상위 폴더는 www
서비스 사용자 가 볼 수 있어야합니다 .
답변
액세스하려는 디렉토리 위의 일부 디렉토리에 Apache가 통과 할 수있는 권한이없는 것이 좋습니다. Apache가 ( sudo -i -u apache
또는 무엇이든) 실행중인 사용자가 된 다음 관심있는 디렉토리로 변경 ls
하십시오. 만약 당신이 (예상 한대로) 할 수 없다면, 당신이 들어갈 수있을 때까지 그 위의 디렉토리를 하나씩 들어 오십시오. 그것의 서브 디렉토리는 o+x
설정 이 필요한 디렉토리입니다 . 오히려 헹구고 필요에 따라 반복하십시오.
답변
사용하다 +FollowSymlinks
Alias /foo /Users/someone/Documents/foo/html
<Directory "/Users/someone/Documents/foo/html">
Options +Indexes +FollowSymLinks +MultiViews
Order allow,deny
Allow from all
</Directory>
답변
파일 볼트가 활성화되어 있지 않은지 확인하십시오. 나는 같은 문제가 있었다. 나는 찾을 수있는 다른 모든 것을 시도했다. 아무것도 효과가 없었습니다. 그러나 이것을 알아 내려고 한 시간 후에, 나는 파일 볼트가 활성화되어 있음을 상기했습니다.
비활성화하면 문제가 해결되었습니다.
답변
심볼릭 링크 소유권을 확인하십시오. Mac OS X를 사용하고 있으므로 symlink 소유자를 변경할 수 있습니다. 에서 /Library/WebServer/Documents
할 일ls -l
에 대한 심볼릭 링크 ~/Documents/foo/html
가 호출 foo
되고 다음과 같은 권한이있는 경우
lrwxr-xr-- 1 root wheel 27 2 Nov 17:00 foo -> /Users/username/Documents/foo/html
그런 다음 OS X에서 기본적으로 Apache는 _www 사용자 및 _www 그룹으로 실행되므로 위에서 언급 한 경우 symlink를 통과 할 수 없습니다. ~/Documents/foo/html
man 8 chown
시스템 터미널에서 실행 하거나 온라인 man chown을보십시오
-h
옵션 을 사용하면 해당 파일이 가리키는 파일이 아니라 심볼릭 링크 자체의 소유권이 변경됩니다 (소스). 그럼 당신은 같은 것을 할 수 있습니다
sudo chown -h :_www foo
이것은 simlink를
lrwxr-xr-- 1 root _www 27 2 Nov 17:02 foo -> /Users/username/Documents/foo/html
Apache _www 그룹은 링크를 통과 할 수 있습니다.
답변
/ Users 디렉토리 (ls -l / Users)에서 사용자 (누군가)에 대한 권한을 확인하십시오.
또한 localhost / ~ someone에서 ‘Site’디렉토리를 올바르게 사용할 수 있습니까?