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-data
의 ps
명령으로 찾은 이름입니다 ).
에 관해서:
2) 또한 app / runtime 디렉토리를 웹 쓰기 가능하게 만들라고 들었습니다. 이것은 아파치 쓰기 가능과 동일합니까?
예, 이것은 Apache가 기대하는 그룹에 쓰기 가능으로 설정해야하는 디렉토리입니다. 아마도 이것은 어딘가에 /var/www/
있거나 가상 호스트로 설정되어 /etc/apache2/sites-enabled/
있거나/etc/apache2/sites-available