서버 설정을 위해 어떤 권한을 부여해야합니까?


3

MacBook Pro에서 로컬로 웹 응용 프로그램에 대한 서버 설정을 시도하고 있습니다. Apache, PHP를 성공적으로 설치하고 웹 응용 프로그램의 코드를 /var/www위치로 확인했습니다. 이제 내 앱에 파일을 쓰는 스크립트가 /var/www/someDir있습니다. 그렇게하려면 다음 줄을 사용하고 있습니다.

$file = fopen($_SERVER['DOCUMENT_ROOT']."/abc.ini", "w");

그리고 실행시 오류 로그에 다음 오류가 표시됩니다.

PHP Warning: fopen(/var/www/someDir/abc.ini): failed to open stream: Permission denied in /private/var/www/myscript.php on line 6

someDir은 user abhilash.goje(나)와 group 소유 wheel입니다. 다음 권한을 부여하려고했습니다.

$ sudo chmod -R 755 www-> 문제를 해결하지 못했습니다
$ sudo chmod -R 775 www-> 문제를 해결하지 못했습니다
$ sudo chmod -R 777 www-> 문제가 해결되었지만 안전하지는 않습니다.

권한 777은 작동하지만이 솔루션은 전혀 안전하지 않으므로이 솔루션을 사용하는 것을 선호하지 않습니다. 이 폴더에 대한 올바른 권한을 어떻게 설정합니까?

미리 감사드립니다 !!

답변:


6

Apache는 액세스 할 수있는 적절한 권한이 필요한 프로세스입니다 /var/www. Apache는 일반적으로 MacOS _www에서 그룹의 사용자 입니다 _www. 이것을 확인하십시오 :

 grep -e '^Group\|^User' /etc/apache2/httpd.conf

두 줄을 인쇄해야합니다. 내 출력은 다음과 같습니다

User _www
Group _www

이것은 내 시스템에서 Apache 프로세스 _www가 group을 가진 사용자 로 실행됨을 의미합니다 _www. 다른 구성을 사용하는 경우 동일한 구성 파일에 대해 해당 구성 파일을 확인하고 구성이 _www다를 경우 다음 해결 방법으로 교체 하십시오.

  1. 로 그룹을 변경하십시오 /var/www.chgrp -R _www /var/www
  2. 다음을 사용하여 그룹 쓰기를 추가 할 권한을 변경하십시오. chmod -R 775 /var/www

오류를 수정해야합니다.

추가 단계로서, 당신은의 소유권 변경 /var/www에를 _www다음 읽기 및 쓰기 권한을 유지하기 위해 해당 그룹에 자신을 추가 할 수 있습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.