2009. 12. 31. 14:17 운영체제(OS)/Linux
Virtual User Host 라는 것
0. 목적.
-------
"http://www.domain.com/~userid" 라는 URL 대신에
"http://userid.domain.com" 으로 바꿔서 서비스를 제공하려는 것입니다.
의외로 찾기가 힘들군요.
어쨌든 하나 찾아서, 다시 정리해서 올립니다.
간단히 3단계로 나눌수 있습니다.
1. 네임서버 설정
2. mod_rewrite 모듈 탑재
3. httpd.conf 에 rewrite 관련 설정
1. 네임서버 설정
----------------
해당하는 zone 파일에서 호스트 이름에 "*" 문자를 사용합니다.
* IN A 111.2.333.4
2. mod_rewrite 모듈 탑재
------------------------
a) 아파치의 모듈들이 설치된 디렉토리에 mod_rewrite.so 가 존재할 경우.
c) 로 건너 띄면 됩니다 ^^;
b) 아파치의 모듈들이 설치된 디렉토리에 mod_rewrite.so 가 없는 경우.
apache 를 다시 컴파일 합니다.
env CFLAGS="-DEAPI"
./configure
--prefix=/etc/httpd
--enable-module=so
--enable-shared=max
--enable-module=rewrite
--enable-shared=rewrite
make
make install
c) httpd.conf 에서 다음을 확인합니다.
LoadModule rewrite_module libexec/mod_rewrite.so
AddModule mod_rewrite.c
3. httpd.conf 에 rewrite 관련 설정
----------------------------------
<VirtualHost *>
ServerAdmin admin@domain.com
DocumentRoot /home/httpd/html
ServerName www.domain.com
ServerAlias domain.com *.domain.com
ErrorLog logs/domain.com-error_log
CustomLog logs/domain.com-access_log common
### Virtual User Hosts
RewriteEngine on
RewriteCond %{HTTP_HOST} !^www.domain.com$
RewriteCond %{HTTP_HOST} !^domain.com$
RewriteCond %{HTTP_HOST} ^[^.]+.domain.com$
RewriteRule ^(.+) %{HTTP_HOST}$1 [C]
RewriteRule ^([^.]+).domain.com(.*) /home/$1/html$2
</VirtualHost>
-------
"http://www.domain.com/~userid" 라는 URL 대신에
"http://userid.domain.com" 으로 바꿔서 서비스를 제공하려는 것입니다.
의외로 찾기가 힘들군요.
어쨌든 하나 찾아서, 다시 정리해서 올립니다.
간단히 3단계로 나눌수 있습니다.
1. 네임서버 설정
2. mod_rewrite 모듈 탑재
3. httpd.conf 에 rewrite 관련 설정
1. 네임서버 설정
----------------
해당하는 zone 파일에서 호스트 이름에 "*" 문자를 사용합니다.
* IN A 111.2.333.4
2. mod_rewrite 모듈 탑재
------------------------
a) 아파치의 모듈들이 설치된 디렉토리에 mod_rewrite.so 가 존재할 경우.
c) 로 건너 띄면 됩니다 ^^;
b) 아파치의 모듈들이 설치된 디렉토리에 mod_rewrite.so 가 없는 경우.
apache 를 다시 컴파일 합니다.
env CFLAGS="-DEAPI"
./configure
--prefix=/etc/httpd
--enable-module=so
--enable-shared=max
--enable-module=rewrite
--enable-shared=rewrite
make
make install
c) httpd.conf 에서 다음을 확인합니다.
LoadModule rewrite_module libexec/mod_rewrite.so
AddModule mod_rewrite.c
3. httpd.conf 에 rewrite 관련 설정
----------------------------------
<VirtualHost *>
ServerAdmin admin@domain.com
DocumentRoot /home/httpd/html
ServerName www.domain.com
ServerAlias domain.com *.domain.com
ErrorLog logs/domain.com-error_log
CustomLog logs/domain.com-access_log common
### Virtual User Hosts
RewriteEngine on
RewriteCond %{HTTP_HOST} !^www.domain.com$
RewriteCond %{HTTP_HOST} !^domain.com$
RewriteCond %{HTTP_HOST} ^[^.]+.domain.com$
RewriteRule ^(.+) %{HTTP_HOST}$1 [C]
RewriteRule ^([^.]+).domain.com(.*) /home/$1/html$2
</VirtualHost>
'운영체제(OS) > Linux' 카테고리의 다른 글
Ubuntu 서버에서 dns와 Bind9설정하는 법 (0) | 2011.02.12 |
---|