디렉토리가 아파치 쓰기 가능하다는 것을 어떻게 알 수 있습니까? 들었습니다. 또한 app

이미지 폴더와 에셋 폴더를 만들어야하며 “아파치 쓰기 가능”인지 확인해야한다는 말을 들었습니다. 또한 app / runtime 디렉토리를 웹 쓰기 가능으로 설정하라는 지시를 받았습니다. 이것은 아파치 쓰기 가능과 동일합니까? 그렇다면:

한 번에 어떻게 할 수 있습니까?

이렇게 ls -l같은 I 받고 있어요 뭔가를 :

drwxr-xr-x 13 user user 4096 2011-08-26 10:23 app
drwxr-xr-x 4 user user 4096 2011-08-26 10:23 runtime
drwxr-xr-x 2 user user 4096 2011-08-26 11:11 images
drwxr-xr-x 2 user user 4096 2011-08-26 11:12 assets


답변

Apache는 백그라운드에서 실행되는 프로그램입니다. Apache는 원래 사용자 root()에서 시작합니다 root-process. 이 root-process출시 클라이언트 요청을 처리하는 여러 자식 프로세스. 보안상의 이유로 하위 프로세스는 사용자가 root아니라 최소 권한을 가진 사용자로 실행됩니다 . 일반적으로이 사용자의 이름은 apache또는 www-data입니다.

apache v1의 사용자를 확인하려면 다음을 수행하십시오.

ps -ef | grep httpd | grep -v grep

또는 아파치 v2의 경우 :

ps -ef | grep apache | grep -v grep

아파치 2의 결과는 다음과 같습니다.

루트 50011 07:21? 00:00:00 / usr / sbin / apache2-k 시작
www-data 5021 50010 07:21? 00:00:00 / usr / sbin / apache2-k 시작
www-data 5022 50010 07:21? 00:00:00 / usr / sbin / apache2-k 시작
www-data 5023 50010 07:21? 00:00:00 / usr / sbin / apache2-k 시작

이 경우 사용자 / 그룹은 www-data

따라서 웹 서버가 디렉토리를 쓸 수 있도록하려면 디렉토리의 소유자 또는 그룹을 Apache의 소유자 또는 그룹으로 설정하고 해당 디렉토리에 대한 쓰기 권한을 활성화해야합니다. 일반적으로 우리는 디렉토리를 아파치 그룹 ( apache또는`www-data 또는 자식 프로세스를 시작하는 데 사용되는 모든 것) 에 속하도록 설정하고 그룹에 대한 쓰기 권한을 활성화합니다.

chgrp www-data /path/to/mydir
chmod g+w /path/to/mydir

( 위 www-dataps명령으로 찾은 이름입니다 ).

에 관해서:

2) 또한 app / runtime 디렉토리를 웹 쓰기 가능하게 만들라고 들었습니다. 이것은 아파치 쓰기 가능과 동일합니까?

예, 이것은 Apache가 기대하는 그룹에 쓰기 가능으로 설정해야하는 디렉토리입니다. 아마도 이것은 어딘가에 /var/www/있거나 가상 호스트로 설정되어 /etc/apache2/sites-enabled/있거나/etc/apache2/sites-available