VirtualHost와 실행권한
Ubuntu 6.06에서 APM서버와 bind를 깔고 삽질을 하고 있는중 문제가 발생했습니다.
(Apache 2.0.55 입니다.)
VirtualHost를 이용해서, 사용자별로 서브도메인들을 돌리려고 하는데,
예를 들어, 도메인이 domain.com 이라면,
test.domain.com -> /home/test/www
babo.domain.com -> /home/babo/www
www.domain.com -> /home/www/www
요렇코롬 되게 하고 싶은거죠.
VirtualHost의 설정은 mod_rewrite를 이용해서 해놨고,
일단, 접속은 잘~ 됩니다만!!
아파치 설정파일에서 실행하는 유저,그룹은 nobody/nogroup로 해놨는데,
문제가.. 서브도메인에서 접속할때도 저 유저로 실행이 되더군요.
즉, test.domain.com 으로 접속해서, 웹에서 php를 통해 파일을 생성하면,
test라는 유저의 권한으로 만들어졌으면 하는데, nobody로 만들어집니다.
참고로, cafe24에 계정이 한개 있는데, 거기서는 제 계정으로 php가 실행이 됩니다.
그냥 간단히, <?php exec("whoami"); ?> 를 뿌려보니깐,
cafe24에 있는 계정에는 제 아이디로 나오는데,
지금 설정하고 있는 서버에는, nobody로 나옵니다.
cafe24처럼 exec(whoami);를 찍었을때, 서브도메인마다 각각의 유저 아이디가 나왔으면 하는데, 방법이 없나요?
# 요것땜시, moniwiki를 깔다가, 시드를 복사하는데, 다른 유저 권한으로 만들어져서 애로사항이 생기는군요.
아래는 VirtualHost 설정부분입니다.
보안(?)상, 도메인은 domain.com, IP는 xxx.xxx.xxx.xxx로 써놉니다..
----------------------------------------------------------------
<VirtualHost xxx.xxx.xxx.xxx:*>
ServerAdmin webmaster@domain.com
ServerName domain.com
ServerAlias *.domain.com
DocumentRoot /home/www/www
RewriteEngine On
RewriteCond %{HTTP_HOST} ^[^.]+\.domain\.com$
RewriteRule ^(.+) %{HTTP_HOST}$1 [C]
RewriteRule ^([^.]+)\.domain\.com(.*) /home/$1/www/$2
</VirtualHost>
자답입니다.
카페24에서는 mod_become이란 모듈을 쓰기에 그렇게 작동한다고 하더군요.
게다가, mod_become은 아파치 1.3 버전밖엔 없다네요.
이곳 kldp에서 찾았습니다.
http://kldp.org/node/65648
모든 것은 모든것에 잇닿아있다. - 호르헤 루이스 보르헤스
모든 것은 모든것에 잇닿아있다. - 호르헤 루이스 보르헤스
댓글 달기