>> Read Reply from No. 887 article  
RE: chaelim.hihome.com처럼 설정하기

등록 2000-12-20 23:45:00     조회 5
이름 산이    

		안녕하세요?
 제가 아는 선까지만 몇자 추가해 봅니다.
  : Apache User domain사용법
: 2000-12-19
: 박진철 (agolta)
:
: 1. chaelim.hihome.com의 원리
:
: Named에 *설정
:
: Name-zone파일에 *를 설정하면 도메인 이름 앞에 어떠한 단어를 갖다 붙여도 현재 도메인으
: 로 접속하게 된다. 예를 들어
: * IN A 152.149.41.17 이러한 줄이 존재한다면 Zone agolta.org앞에 Hey.agolta.org라고 붙여도 152.149.41.
: 17을 resolv하게 된다.(어떠한 단어를 붙인다 해도 상관없다.)
: 이 *설정을 해주어야 사용자 추가시 Named를 재시동 안할 수 있는 것은 기본이다.
 
---->
 때에 따라
 $ nslookup abcd.abcd.com
하면
abcd.abcd.com.hihome.com과 같이 이상하게 나올수도 있습니다.
 이때는
$ nslookup abcd.abcd.com.
으로 마지막에 (.)을 추가해서 테스트해보는것이 좋겠네요....
  : Apache 모듈 추가
:
: 아파치에 보통 vhost설정이 되어있지 않을 것이다. 자신이 좋아하는 방법으로 아파치에 모
: 듈을 추가하는데 내 경우는 configure를 사용하기 때문에 configure에 --activate-module=src/modules/st
: andard/mod_vhost_alias.o 라는 줄을 추가했다. 컴파일 끝난후 httpd -l로 vhost_alias가 들어있는지 확인되면 OK
 --->
아파치 mod_vhost_alias 모듈
 이 모듈은 URL Mapping 기능을 하는 모듈중의 하나입니다.
이런기능을 하는 모듈은 아파치 문서에는
 - mod_alias : 호스트 파일시스템에서 매핑
- mod_rewrite : 아주 재미있고 강력한 모듈, 1.2 이상부터 사용가능, URL -> files
- mod_userdir : 사용자 홈디렉토리 매핑
- mod_speling : URL 체크
- mod_vhost_alias : 대형가상호스팅에 사용되는 동적인 호스트 1.3.7 이상버전
 이 있군요.
 mod_vhost_alias 모듈은 아파치를 소스로 컴파일할때 기본으로 추가되지
않은 모듈입니다. 따라서 위의 설명처럼 추가해 줘야합니다.
  [참고] mod_vhost_alias 모듈의 추가 여부(아파치 1.3.14 기준)
 1. 아무런 옵션없이 컴파일하여 설치할 경우 : X
2. --enable-module=all 옵션 추가시 : O
3. --enable-module=all --enable-shared=max : DSO 모듈로 사용가능
4. --enable-module=all --enable-shared=remain : DSO 모듈로 사용가능
5. --enable-shared=remain : DSO 모듈로 사용가능
6. --enable-shared=max : X
   : httpd.conf 설정
:
: 아파치에 Virtual Host지정방법은 2가지가 있다. IP base와 Name Base가 그것인데 IP가 남아 도는 
: 경우는 별로 없기 때문에 보통 Name Base Virtual Host를 사용한다 여기에서도 Name Base Virtual Host
: 를 사용하겠다.(www.apache.org에서는 rewrite를 사용한 vhost방법이 기재되어 있지만 문법이 너
: 무 골치아파서 생략한다.) 다음은 내 httpd.conf의 Virtual Host부분이다.
: NameVirtualHost 152.149.41.17 #Name base Virtual Host지정 (이것에 대해선 특별히 다른 문서를 찾아보
: 라)
: <VirtualHost 152.149.41.17>
:
: # get the server name from the Host: header
:
: UseCanonicalName Off
:
: # this log format can be split per-virtual-host based on the first field
:
: LogFormat "%V %h %l %u %t "%r" %s %b" vcommon
:
: CustomLog var/log/access_log vcommon
:
: # include the server name in the filenames used to satisfy requests
:
: VirtualDocumentRoot /home/%1/public_html
:
: VirtualScriptAlias /home/%1/cgi-bin
:
: 이부분은 확실히는 모르겠다.(누가 아는 사람있으면 메일 보내달라) 어째튼 %1로 넘어오
: 는 변수가 chaelim.hihome.com의 chaelim이란 것은 확실하다. emoticon --나두 나의 무식함에 전율을 금
: 치 못한다. VirtualDocumentRoot에서는 사용자 홈디렉토리 즉 /home/chaelim/public_html을 지정하고 
: 있는 것이다.
 --->
먼저 LogFormat은
 %V %h %l %u %t "%r" %s %b
을  vcommon 이라는 이름으로 넘겨줍니다.
 의 형태는
%V : UserCannonicalName 설정에 따른 서버네임
%h : 원격의 호스트
%l : 원격의 로그네임(ID, 지원한다음)
%u : 사용자 인증에 대한 원격의 유저
%t : 시간포맷
%r : 첫번째 요청라인
%s : 상황코드 번호
%b : HTTPD 헤더를 포함한 전송량(Bytes)
 그 다음 이글의 핵심인 VirtualDocumentRoot의 지사자의 내용을 추가합니다.
 mod_vhost_alias 모듈은
- VirtualDocumentRoot
- VirtualDocumentRootIP
- VirtualScriptAlias
- VirtualScriptAliasIP
 등과 같은 지사자를 사용할 수 있습니다.(아파치 제공문서에서)
  : VirtualDocumentRoot /home/%1/public_html
 에서 %1은 결론적으로 앞서 설명하셨듯이 chaelim을 뜻합니다.
 mod_vhost_alias 모듈을 사용하는데 일정한 규칙이 있는데
(아파치 제공문서를 기준으로)
 %% : % 추가
%p : 가상호스트에 대한 포트번호 추가
%N.M : 특정부분의 이름
 여기에서는 세번째 %N.M에 해당됩니다.
 조금더 설명하자면
%N은 HTTP_HOST(완전한 이름의 FQDN)에서
점(.)으로 구분하여 N번째 부분을 나타냅니다.
 예를 들어 이곳 적수네의 경우를 들자면
 http://linux.sarang.net/ 이라고 요청했을 때
 %1은 linux
%2는 sarang
%3은 net으로 대체될수 있습니다.
그런데 www.linux.sarang.net과 같은 URL도 나올수 있습니다.
 조금더 설명하자면
 %N.M 에서
 M은 옵션이고, 없다면 zero가됩니다. 이 M값은 앞의 N에서 M번째의 문자를
나타냅니다.
예를들어 %2 = sarang 이라며 %2.3 = r 이 되는겁니다.
 이렇게까지만 설정하면 별로 재미(?)가 없겠죠..
좀더 복잡해지는군요......(아파치제공문서에서 그대로 설명하자면)
 %N.M 에서 또 다르게 설정할 수 있는데, N과 M은 다음과 같이 기술할 수 있습니다.
 0 : 전체 이름 FQDN
1 : 점으로 구분된 이름중 첫번째 부분의 이름
2 : 두번째 부분의 이름
N : N번째 부분의 이름
M : N에서 M번째 부분의 문자
-1 : 마지막부분의 이름
-2 : 마지막에서 두번째 부분의 이름
2+ : 두번째 부분의 이름과 그 이후의 부분
-2+ : 뒤에서 두번째 부분과 그 앞부분 전부
1+ : 0 과 동일
-1+ : 0 과 동일
 다음은 아파치 제공문서의 예제입니다.
 UseCanonicalName        Off
VirtualDocumentRoot     /usr/local/apache/vhosts/%3+/%2.1/%2.2/%2.3/%2
 꽤 상당히 복잡해 보이는 군요...
 한번 해석해보죠...
 요청 URL이
http://www.example.isp.com/directory/file.html 인 경우
/usr/local/apache/vhosts/isp.com/e/x/a/example/directory/file.html
과 매칭이 되죠....
 %1 : www
%2 : example
%3 : isp
%4 : com
으로 구분해 보면 쉽겠죠?...
 (주...이렇게 큰 대형웹호스팅 업체가 우리나라에도 있을지.........emoticon)
  참고로 이 모듈을 사용해서 IP 기반 가상호스트를 운영하려면
 UseCanonicalName DNS
VirtualDocumentRootIP
VirtualScriptAliasIP
 의 예제가 있군요....
 이상 추가한 내용 끝......도움이 되셨는지 모르겠네요........
---------------------------------------------
  : 그외
:
: 정식 Hosting서비스를 하려는 사람들은 계정 발급 CGI가 필요하겠다.(이건 쉘스크립트로 짜
: 는 것이 제일 쉬울것 같은데... 보안 염두를 많이 두어야 할 것이다.)
: 사족
:
: 그냥 궁금해서(약간은 필요도 하고) 알아본 것일 뿐이고 내 서버에서 되길래 더이상 깊이
: 있게 파지는 않았다.(아마 다른 사람들도 다 이상없이 될 것이다.)
: 다른 사람들도 무언가 하려 하다 되기만 하면 덮지 않은가? 누가 XF86Config의 수직 주파수,
: 수평주파수의 modeline부분의 숫자들을 어쩌다 통밥으로 맞추고 그게 무엇을 의미하는지 
: 파겠는가? 내 모니터가 잘 잡히면 더이상은 고민을 안하지? 물론 통밥으로 잡아놓은 XF86Co
: nfig는 여기 저기 백업을 해놓겠지만(다시 통밥을 맞출 확률이 없으니까)... 리눅스에서는 항상 되게끔 하는데 고생을 하지만 되고 나선 왜 되는가엔 관심이 없는 것 같다.(당연히 난 Alsa 최신버전에서 YMF724를 잡았지만 YMF724가 다른 사운드 카드랑 무엇이 틀리길래 안잡혔는지는 관심이 없다. 만약 아직도 잡히지 않는다면 별의별 짓(주로 OSS Driver 크랙이겠지...)을 다하며 잡으려 들겠지만...) 내경우는 그렇다. 하지만 httpd.conf의 vhost설정 부분에 대해 더 자세히 설명할 수 있는 사람이 있다면 알려주면 감사하겠다.--LinuxChannel.NET
이름
암호


>> 관련글
887 chaelim.hihome.com처럼 설정하기  agolta  2000.12.19  ....
  답장 RE: chaelim.hihome.com처럼 설정하기  산이  2000.12.20  ....
  목록보기 윗글 아랫글
글쓰기
답장쓰기 수정 삭제
정규표현식 [ 상세 검색 ]
페이지로딩: [ 0.56 초 ] 작업시간: [ 0.07 초 ]

Copyleft 1999-2026 by JSBoard Open Project
Theme Designed by IDOO All right reserved
[TOP]

적수네 동네
+
| 적수네 동네
| 공부방
| 리눅스 잡지 서고
| LSN 소스
| 링크 모음
+---+
게시판
+
| 떠들어보세!
| 질문과 답변
| 새소식과 정보
| 1원짜리 팁?
| 대화방
+---+
칼럼?
+
| 세하 훔쳐보기
| Welcome2nite
| 혜진의 염장판
+---+
리눅스 상표권
+
| 반대 서명란
| 토론 게시판
+---+
GNU
+
| GNU 선언문
| GNU GPL
| GNU 미러 목록
+---+
프로젝트?
+
| 리눅스카운터
| RC5DES
| 실질헌법 제작
+---+
커널 소식
+
| 안정 버젼: 2.4.14
+---+
테마 선택
+
LSN 방송국?
+
| OFF AIR
+---+
회원
+
| 로그인
+---+
[ 적수네 동네 ] [ 리눅스 상표권 독점 반대 ] [ 한글 리눅스 문서 프로젝트 ] [ KrLine ] [ 사랑넷 ] [ Valid HTML 4.0! ] [ SlashDot ] [ Freshmeat ]
Copyleft (C) 1998-2001 Byeong-Chan Kim . License
TIME: 1791059910
System by WYZsoft, HDD by I.O.Linux, Mizi Research, Embryo, WOWLINUX, Domain by SarangNet, Network by KrLine.