사이트 디렉터리에 동기화할 때 권한 문제

사이트 디렉터리에 동기화할 때 권한 문제

ln로컬 컴퓨터에서 웹 개발을 할 때 웹 브라우저에서 볼 수 있도록 권한이 올바르도록 OS X의 ~/Sites/ 디렉터리를 사용하여 디렉터리를 기호적으로 연결하는 방법이 있습니까 ?

이것이 내가 디렉토리에서 했던 일이지만 여전히 읽을 수 없습니다 ln -s ~/code/web/yolkportfolio ~/Sites/yolkportfolio.chmod 755

어떤 도움이라도 대단히 감사하겠습니다.

답변1

문제는 내 아파치 구성에 있었습니다. 이것이 작동하도록 허용한 것은 바로 규칙입니다 FollowSymLinks.

<Directory "/Users/Joe/Sites/">
    Options Indexes MultiViews FollowSymLinks
    AllowOverride None
    Order allow,deny
    Allow from all
</Directory>

답변2

몇 가지 옵션이 있습니다:

1.apache자신이 아닌 다른 사용자로 실행 중이고 DocumentRoot집 안의 일부 디렉터리를 가리키도록 하려면 홈 디렉터리에 대한 권한을 다음으로 변경해야 합니다(기본값은 750또는 이어야 함 700).755

이것이 귀하의 노트북이거나 개인용 컴퓨터이고 다른 사람이 이에 접근할 수 없는 경우에만 이 방법을 권장합니다.

2.첫 번째는 옵션이 아니지만 여전히 DocumentRoot집 내부를 원하는 경우 실행하는 사용자를 변경할 수 있습니다 apache. 구성 파일을 편집하고 지시문 UserGroup.

삼.두 번째는 여전히 선택 사항이 아니지만 여전히 집 안에 물건을 원합니다. 아파치의 mod_userdir을 사용하세요. 다음 구성을 사용합니다.

<IfModule mod_userdir.c>
        UserDir public_html
        UserDir disabled root

        <Directory /home/*/public_html>
                AllowOverride FileInfo AuthConfig Limit Indexes
                Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec
                <Limit GET POST OPTIONS>
                        Order allow,deny
                        Allow from all
                </Limit>
                <LimitExcept GET POST OPTIONS>
                        Order deny,allow
                        Deny from all
                </LimitExcept>
        </Directory>
</IfModule>

이는 Debian에서 Apache mod_userdir의 기본 구성입니다. 다음 항목에 액세스할 수 있습니다.

/home/your-username/public_html/*

귀하의 브라우저에서 다음 주소로 접속하세요:

http://somewhere/your-username/*

4.DocumentRoot마지막으로, 필요에 따라 다른 곳에( /srv/www또는 무엇이든) 배치 /opt/www하고 권한을 설정할 수 있습니다.

관련 정보