본문 바로가기

Story/Server

서브도메인 자동셋팅 Rewrite(리눅스 BIND, 아파치설정)

반응형

대량의 서브도메인 생성이 매번 DNS서버와 아파치서버를 설정하고 재실행
그것도 양이 많아지지만 끊기는 현상이 발생합니다.
특히나 자동화 계정및 자동 서브도메인부분에서는...
다차원 서브도메인지원 클럽을 만들면서 클럽이 서브도메인에 생성되기때문에
서버를 자동셋팅으로 해결하는 수밖에 없어서 이곳저곳 참고하여 셋팅한걸 올립니다.

BIND zone파일에 대한 셋팅
존파일의 경우

test.com. IN A 111.111.111.111
*.test.com. IN A 111.111.111.111 <-- *.test.com으로 모든 서브도메인을 네임서버에서
잡아줍니다.

APACHE http.conf
먼저 아파치에서 자동서브도메인이 셋팅되도록할려면
mod_rewrite 모듈이 필요합니다. 컴파일시 첨부하거나 DSO(동적)방식으로 삽입을 해야합니다.

/home/계정명/폴더 <---- 해당 폴더가 서브도메인이 되도록 셋팅

<VirtualHost 218.236.58.88>
ServerAdmin webmaster@test.com // 관리자 이메일
DocumentRoot /home/test/www // 기본 웹 루트
ServerName test.com // 기본서버명
ServerAlias *.test.com // 모든 서브도메인을 Alias로 받습니다.
RewriteEngine on // RewriteEngine 활성화
RewriteCond %{HTTP_HOST} ^[^.]+\.test\.com$ // 서버명에 서브도메인 정규화로 매치
RewriteRule ^(.+) %{HTTP_HOST}$1 [C] // Cond에 해당되는 도메인에 대해서 도메인뒤에 나온 문장 매치
RewriteRule ^([^.]+)\.test\.com(.*) /home/test/$1/$2 서브도메인과 해당페이지 매치
ErrorDocument 404 /home/test/error/err-404.html
ErrorDocument 403 /home/test/error/err-403.html
ErrorLog /home/test/web_log/error_log
CustomLog /home/test/web_log/access_log common
</VirtualHost>

계정이용자들을 서브도메인으로
domain.com/~id를 id.domain.com으로
생략합니다.(상단은 같음)
RewriteEngine on
RewriteCond %{HTTP_HOST} ^[^.]+\.test\.com$
RewriteRule ^(.+) %{HTTP_HOST}$1 [C]
RewriteRule ^([^.]+)\.test\.com(.*) /home/$1/www$2

이제 아파치 Restart하면 끝......*^^*






http://www.ying.co.kr/study.php?fn=10&bc=study&cate=&type=view&num=37¤tPage=1&sh=&shc=
반응형