답변:
나는 스스로 사용자를 www-data
그룹에 추가 할 것이다 .
sudo adduser {username} www-data
간단하고 효과적입니다. 구성 파일이나 권한을 망칠 필요가 없습니다.
다음 파일을 루트로 편집하십시오. / etc / apache2 / envvars
명령을 사용하여 :
sudo nano /etc/apache2/envvars
사용자가 한 명이고 권한 문제가 다시 발생하지 않으면 사용자와 그룹을 자신으로 변경하십시오.
IE, 사용자 'big_dog'으로 만 로그인하고 서버를 실행중인 경우 :
export APACHE_RUN_USER=big_dog
export APACHE_RUN_GROUP=big_dog
그 문제에 대해 그 사용자를 현재 사용자로 변경할 수 있습니다. 그런 다음 user_dir을 설치하십시오. 웹을 모두 보유하고 있습니다 (이를 수정하지 않는 한).
서버를 다시 시작하십시오 (확실하지 않은 경우 재부팅 또는 goole).
sudo chown big_dog.big_dog /var/lock/apache2
sudo chown big_dog.big_dog -R /var/log/apache2
/etc/apache2/uid.conf
export APACHE_RUN_USER=#$(id -u)
사용자 ID를 제공하고 id -g
스크립트에서 그룹에 대해 비슷하게 사용 했으며 결국에는 아파치를 호출했습니다.
왜 당신이 이것을 할 것입니까, 나는 과거에 그 파마 문제로 어려움을 겪고 있었지만 이것은 오늘부터 나의 개발 과정입니다.
sudo apt-get install lamp-server^
램프를 켜려면 표준 proc을 실행하십시오.프로젝트가 다음과 같은 내 집 디렉토리에 sym 링크를 만드십시오.
ln -s /home/user/html /var/www/html
호스트 구성 파일에 sym 링크 만들기
ln -s /home/user/html/Apache-VirtualHosts.conf /etc/apache/sites-enabled/000-default
그게 다야 :)
mysql에 대한 프로세스가 조금 더 길기 때문에 사용자 권한이나 아파치 서버와 비슷한 문제가없는 것으로 간주됩니다.
hth, 건배
"이 작업을 수행해야합니다"문제를 회피하면서 다음을 실행하여 아파치 사용자를 설정 한 위치를 찾을 수 있습니다.
grep www- /etc/apache2/apache2.conf
그런 다음 해당 인스턴스를 편집 /etc/apache2/apache2.conf
하고 Apache ( sudo /etc/init.d/apache2 reload
)를 다시로드 하는 경우입니다 .
apache2.conf
www-
나를 포함하지 않습니다
grep -HR "www-" /etc/apache2/
합니다. 이미 apache2.conf에 있다는 것을 알고 있다면 해당 파일을 편집하십시오. 필자의 경우 Eric의 답변이 지적한 것처럼 / etc / apache2 / envvars에는 없었습니다.
apache.conf
외모에 ${APACHE_RUN_USER}
와 ${APACHE_RUN_GROUP}
. www-data
직접 아닙니다 .
새 사용자 그룹 webdev
을 만들고 www-data
사용자를 추가하십시오 .
sudo addgroup webdev
sudo adduser www-data webdev
그런 다음 해당 그룹에 사용자를 추가하고 해당 사용자를 기본 그룹으로 설정하십시오.
sudo adduser {your-user} webdev
sudo addgroup webdev
마지막으로 webdev 그룹에 파일에 대한 rwx 권한이 있는지 확인하십시오.
sudo chmod 775 -R /path/to/project
이제 일어날 수있는 유일한 것은 예를 들어 www-data가 새 로그 파일을 생성하고 rwx 할 수 없다는 것입니다.
www-data
특히 개발 환경에 대해 이야기하고 있기 때문에 내 사용자를 그룹에 추가하는 것보다 장점은 무엇입니까 ?